Deploys sin interrupción con Docker Compose: sin necesidad de Kubernetes
StatusDude, una empresa que ofrece servicios de monitoreo en tiempo real, ha implementado despliegues sin interrupción utilizando Docker Compose y HAProxy, evitando así la necesidad de Kubernetes.
La compañía realiza múltiples despliegues diarios con miles de comprobaciones de servicio por minuto en varias regiones. Inicialmente, StatusDude intentó usar Traefik como proxy inverso para manejar los servicios Docker, pero enfrentaron problemas durante las actualizaciones y cambios de configuración.
“Con esta configuración, StatusDude logró implementar una estrategia de actualización continua con Docker Compose que garantiza la continuidad del servicio durante los cambios”
Durante la prueba inicial con Traefik, se encontraron dos principales desafíos: el servicio definido múltiples veces y el retraso en la tabla de ruteo interna. Estas dificultades provocaron interrupciones durante los despliegues y solicitudes sin respuesta.
Después de probar varias soluciones, como agregar retrasos y verificar la salud pasiva de los contenedores, StatusDude concluyó que Traefik no podía enviar solicitudes a un servidor alternativo en caso de fallo. Este problema fue el factor decisivo para cambiar a HAProxy.
HAProxy proporciona funcionalidades clave necesarias para despliegues sin interrupción: múltiples instancias del backend, balanceo de carga y capacidad de redirigir solicitudes hacia servidores saludables en caso de fallo. Con esta configuración, StatusDude logró implementar una estrategia de actualización continua con Docker Compose que garantiza la continuidad del servicio durante los cambios.
El uso de Docker Compose permite a StatusDude especificar el número de réplicas necesarias y ejecutar despliegues escalables sin interrupciones, cumpliendo así con sus requisitos de disponibilidad y rendimiento.