Avances de Junio y Julio
Este informe detalla los avances y las tareas realizadas por Clopstech durante los meses de Junio y Julio en la optimización y soporte de la infraestructura de Git Operador. Nos enfocamos en la estabilización de los pipelines de despliegue y en brindar soporte crítico para asegurar la continuidad operativa.
Junio: Estabilización y Planificación 🗓️
1. Avance del Relevamiento de Infraestructura
Dada la criticidad y a la urgencia de las tareas no programadas, decidimos darle enfoque a esas tareas y no se pudo avanzar en el relevamiento, por lo que seguimos en un 30%.
Estado Actual del Relevamiento
30%
Avance del Relevamiento Completado
Además, se avanzó en la planificación y propuesta de acciones futuras en base a lo conversado en las reuniones con el equipo:
- Planificación de apagado de EC2 con VPN "vieja": Lo cual va a reflejar una reduccion aproximada de 8 usd.
- Propuesta de correcciones en los pipelines aplicando Buildkit de Docker: Lo cual podría generar una reducción de tiempo sustancial en los pipelines (reducción de por lo menos el 50% de demora en la ejecución). Esto se podría realizar con una prueba prototipo sobre alguna de las APIs menos crítica.
2. Tareas Planificadas: Correcciones y Optimización de Pipelines
Durante el mes de Junio, se configuraron y aplicaron correcciones significativas en los pipelines de los siguientes componentes, los cuales ya se encuentran listos y operativos en el entorno de desarrollo (Dev).
Componentes con Pipeline Corregido y Listo en Dev
APIs (Backend)
API USERS
API HOTELS
API FLIGHTS
API PAYMENTS
API RULES
Frontends
White-Brand
Frontend Backoffice
Correcciones aplicadas a los pipelines (común a todos los componentes del back):
- Nuevo stage `build docker` incorporado: Se añadió una etapa dedicada a la construcción de imágenes Docker, optimizando el proceso.
- Se elimina la doble ejecución del stage `tag`: Se corrigió un error que causaba la doble ejecución de la etapa de etiquetado, mejorando la eficiencia.
- Se quita el `needs: [build]` del stage `create_tag`: Como parte de una mejora crítica para evitar fallos que logramos identificar en base a las pruebas realizadas en el análisis de los fallos.
- Actualización del script `git_create_tag.py`:
- El archivo fue modificado en dev para todos los componentes.
- En el caso de las APIs (backend): este archivo está ignorado por Git, por lo tanto, deberá ser copiado manualmente al resto de los entornos (no se aplicará automáticamente con los merges).
- En el caso de los Front (Backoffice y Whitebrand): sí se verá reflejado con los merges, ya que no tienen restricciones por `.gitignore`.
3. Soportes Operativos
Se brindó soporte en línea, por fallos de despliegues en Producción de las 5 APIs, se hicieron correcciones y se acompañó en cada uno de los despliegues validando correcto funcionamiento.
🛠️
Correcciones en Despliegues
Identificación y aplicación de soluciones para fallos en producción.
🤝
Acompañamiento en Despliegues
Soporte y validación en cada despliegue de las APIs.
✅
Validación de Funcionamiento
Confirmación del correcto funcionamiento post-despliegue.
4. Integraciones con Servicios de Terceros
En cuanto a las integraciones, es crucial enfocarse en la EC2 Proxy (Nginx). Se debe identificar a fondo la configuración actual del proxy para luego planificar una actualización controlada. Este proceso incluirá la realización de un backup completo de la instancia EC2, un backup detallado de su configuración, y todas las consideraciones asociadas al mantenimiento de un servidor que no ha sido reiniciado en varios años, asegurando la estabilidad y continuidad del servicio.
Julio: Soporte Crítico
Tareas de Soporte en Julio
Durante el mes, se brindó un soporte intensivo en situaciones operativas críticas, asegurando la continuidad del servicio.
- Fallas en despliegue de API Payment: Intervención de urgencia para corregir fallos que impedían el despliegue de la API. Se acompañó el proceso completo para asegurar su correcto funcionamiento.
- Caída de VPN por expiración de certificados: Se trató un tema crítico que dejó sin acceso al equipo a la infraestructura de AWS. Se trabajó rápidamente para generar y aplicar nuevos certificados y crear nuevos usuarios.
- Fallas en el runner que impedían la ejecución de los pipelines: Se identificaron y corrigieron fallas en el "runner" que bloqueaban la ejecución de los pipelines, esenciales para los despliegues. Se realizaron los ajustes necesarios para normalizar la operación.
Nuestro Roadmap: Las Próximas Fases
Nuestro plan de trabajo es claro y transparente. Así es como continuaremos aportando valor a la operación a través de fases clave.
Fase 1: Diagnóstico y Planificación Detallada
Completar el relevamiento integral de todos los servicios restantes (S3, CloudFront, Lambda, DNS, etc.) para obtener un diagnóstico completo. Esto incluirá la priorización de la propuesta de Buildkit y la planificación del apagado de la EC2 identificada.
Fase 2: Implementación de Correcciones y Estabilización
Implementar las correcciones necesarias basadas en el diagnóstico para estabilizar la infraestructura, optimizar el rendimiento y resolver vulnerabilidades. Aquí se incluirá la ejecución de la prueba prototipo con Buildkit en una API.
Fase 3: Mantenimiento Proactivo y Mejora Continua
- Implementación de soluciones de monitoreo avanzadas.
- Revisiones periódicas de la infraestructura.
- Gestión de capacidades.
- Optimización de recursos existentes.
- Análisis y planificación de la réplica controlada de las integraciones con servicios de terceros.
Fase 4: Optimización Avanzada
- Optimización de costos en la nube.
- Mejora continua de la escalabilidad.
- Implementación de WAF para reforzar seguridad.
- Integración de escaneo de vulnerabilidades en el proceso de construcción de imágenes Docker.
- Reforzamiento de la seguridad general.