Por qué nos mudamos de Azkaban a DolphinScheduler

En Q2BSTUDIO, empresa dedicada al desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial y ciberseguridad, recientemente enfrentamos un reto clásico de los equipos de datos: migrar nuestros pipelines orquestados desde Azkaban a DolphinScheduler. Este texto explica qué falló, cómo lo resolvimos y las lecciones que pueden aplicar otros equipos en crecimiento, con foco en buenas prácticas relacionadas con servicios cloud aws y azure, seguridad y automatización.

Qué salió mal con Azkaban. A simple vista Azkaban funcionaba bien para flujos sencillos, pero con el crecimiento de los proyectos empezamos a notar problemas: dificultad para escalar, soporte limitado para workflows dinámicos, escasa visibilidad en tiempo real, manejo rígido de dependencias y reintentos, y una experiencia de integración con nuestros microservicios y contenedores que resultaba compleja. Además la falta de extensibilidad y una comunidad menos activa encarecían la implementación de nuevas integraciones con herramientas de inteligencia de negocio y power bi.

Impacto en el negocio. Los fallos de orquestación se tradujeron en ejecuciones tardías, backfills costosos y alertas que inundaban al equipo de SRE. Para una empresa como Q2BSTUDIO, que ofrece software a medida y soluciones a clientes que esperan garantías de SLA, estas ineficiencias afectaban tiempos de entrega y la confianza en despliegues automatizados.

Evaluación y decisión. Armamos un proceso de evaluación: inventario de DAGs, análisis de dependencias, métricas de latencia y fallos, y pruebas de carga. DolphinScheduler destacó por su UI más moderna, flexibilidad para tareas dinámicas, mejor manejo de dependencias y una arquitectura favorable para integrarse con Kubernetes y servicios cloud aws y azure. También valoramos su capacidad para extenderse mediante plugins y mejorar la observabilidad, factores clave para cumplir requisitos de ciberseguridad y auditoría.

Estrategia de migración. Diseñamos una estrategia en fases para minimizar riesgos: auditoría y clasificación de pipelines por criticidad; pruebas en entorno staging con réplicas de datos no sensibles; ejecutar ejecuciones paralelas en Azkaban y DolphinScheduler para comparar resultados; y migración incremental empezando por workflows sin estado y acabando con procesos complejos con dependencias cruzadas. Para las integraciones internas desarrollamos adaptadores y scripts de traducción de DAGs que nos permitieron transformar estructuras repetitivas sin reescribir lógicas de negocio.

Detalles técnicos clave. 1) Contenerizamos workers y usamos orquestación Kubernetes para aislar recursos. 2) Implementamos CI/CD para pipelines con validaciones automáticas, pruebas unitarias y de integración. 3) Aseguramos idempotencia en las tareas para facilitar reintentos y backfills. 4) Centralizamos logs y métricas y configuramos alertas con SLA. 5) Introdujimos control de versiones para DAGs y metadatos, lo que facilitó rollbacks rápidos.

Pruebas y validación. Antes de cortar completamente, ejecutamos shadow runs donde DolphinScheduler consumía las mismas entradas que Azkaban pero sin afectar sistemas productivos. Comprobamos resultados, tiempos y consumo de recursos y afinamos parámetros de paralelismo y límites de concurrencia. Los tests incluyeron validaciones de consistencia de datos y pruebas de recuperación ante fallos para garantizar que las tareas críticas en producción serían robustas.

Migración y puesta en producción. La migración final se hizo por etapas: primero procesos batch no críticos, luego pipelines de ETL intermedios y por último los procesos críticos de negocio. Implementamos feature flags para poder revertir cambios rápidamente. En paralelo entregamos documentación y sesiones de formación al equipo de datos y a los stakeholders, y actualizamos runbooks de operación para el nuevo entorno.

Cómo lo solucionamos cuando surgieron problemas. Ante fallos iniciales en concurrencia y en algunos connectors, aplicamos limitadores de recursos, optimizamos consultas y creamos nuevos adaptadores que reutilizan librerías internas. Para problemas de visibilidad reforzamos trazabilidad y correlación de logs entre servicios, y desplegamos paneles de monitorización que integran métricas relevantes para equipos de SRE y para nuestras soluciones de servicios inteligencia de negocio.

Lecciones para equipos de datos en crecimiento. 1) Planificar la migración con fases y shadow runs reduce riesgo. 2) Asegurar idempotencia en las tareas evita consecuencias inesperadas tras reintentos. 3) Contenerizar y versionar pipelines facilita despliegues y rollbacks. 4) Priorizar observabilidad y alertas reduce el tiempo medio de recuperación. 5) Involucrar a todos los equipos afectados y documentar procesos acelera la adopción. 6) Elegir herramientas con comunidad activa y fácil extensibilidad suma valor a largo plazo.

Cómo Q2BSTUDIO puede ayudar. Si tu organización necesita apoyo en migraciones similares, diseño de arquitecturas de orquestación o desarrollo de automatizaciones, en Q2BSTUDIO contamos con experiencia en proyectos de automatización complejos y ofrecemos Soluciones de automatización que integran buenas prácticas de CI/CD, contenedores, monitorización y políticas de seguridad. También diseñamos software a medida y aplicaciones a medida que se integran con pipelines modernos y servicios en la nube.

Además, combinamos capacidades de inteligencia artificial y agentes IA para optimizar decisiones operativas y ofrecer alertas inteligentes, y disponemos de servicios de servicios de inteligencia artificial y soluciones en IA para empresas que complementan las plataformas de datos. Complementamos estos servicios con ciberseguridad y pentesting para proteger infraestructuras y con implementaciones de power bi y servicios inteligencia de negocio para dar visibilidad a los resultados.

Resumen final. Migrar de Azkaban a DolphinScheduler nos permitió ganar flexibilidad, mayor visibilidad operativa y mejor integración con ecosistemas modernos en la nube, lo que se traduce en pipelines más robustos y tiempos de entrega más previsibles. Si tu equipo está creciendo, prioriza la observabilidad, la idempotencia y una migración por fases; y si necesitas apoyo técnico, Q2BSTUDIO puede acompañarte en todo el proceso, desde diseño y desarrollo hasta seguridad y monitoreo.