Una simulación de Python de larga duración parece un problema de cómputo solo mientras una persona la ejecuta. Una vez que varias personas dependen de ella, la dificultad se desplaza a las colas, la recuperación ante fallos, la visibilidad de los trabajos y la reproducibilidad. Las solicitudes llegan más rápido de lo que terminan los trabajos, algunas ejecuciones fallan a mitad de camino y la gente espera poder reproducir resultados pasados cuando lo necesite.
El autor sostiene que la verdadera ingeniería está en la brecha entre un programa que funciona y un servicio en el que la gente puede confiar. La evaluación de modelos y el procesamiento por lotes enfrentan el mismo problema. Ejecutar código una vez es fácil; ejecutarlo repetidamente para muchos usuarios, de modo que cada ejecución pueda encontrarse, rastrearse y repetirse sin interferir con otras, es un tipo de trabajo distinto.
Durante el trabajo en la infraestructura de simulación de transporte basada en AWS en Amazon UK, el cuello de botella no era el cómputo. El flujo de trabajo era en gran medida manual, y los operadores gestionaban a mano las entradas, la configuración y la preparación de la infraestructura. Cada nueva solicitud consumía la atención de los ingenieros antes de que se usara cualquier cómputo, y las ejecuciones fallidas eran difíciles de rastrear porque las pruebas estaban dispersas entre las entradas, la configuración y las máquinas. Añadir máquinas habría elevado el techo teórico, pero no habría resuelto las colas, el aislamiento entre ejecuciones ni la ejecución duplicada.
Por ello, la pregunta cambió de cómo ejecutar simulaciones más rápido a cómo permitir que varias personas envíen trabajos de forma segura, observen el estado de cada trabajo y se recuperen cuando algo se rompe. La tesis central del autor es que, una vez que varias personas dependen de simulaciones largas, el problema real es el control de los trabajos, que se descompone en problemas más pequeños: colas, gestión de estado, aislamiento, recuperación y trazabilidad.
Fuente: Towards Data Science · Resumido por HeadlinesBriefing