Extendiendo GitOps a la empresa

  • Gestión de apps

GitOps es un término relativamente nuevo, pero continúa ganando impulso a medida que más organizaciones adoptan el paradigma.

En DevOps, GitOps aterriza en el lado de la ingeniería de software del continuo de desarrollo y operaciones. Aunque es más probable que GitOps sea adoptado por organizaciones más pequeñas, las empresas más grandes pueden implementar GitOps con éxito con solo unos pocos ajustes en el marco general. 

En GitOps, la configuración deseada del sistema se almacena en un sistema de control de revisiones como Git. Cualquier diferencia entre el estado deseado almacenado en Git y el estado real del sistema indica a los equipos de DevOps que no se han implementado todos los cambios. Estos cambios se pueden revisar y aprobar mediante procesos de control de revisión estándar, como solicitudes de extracción (RP). Cuando se aprueba un RP y se fusiona con la rama principal, un proceso de software de operador es responsable de cambiar el estado actual del sistema al estado deseado según la configuración en Git.

GitOps no requiere un conjunto particular de herramientas, pero las herramientas deben:

  • Operar de acuerdo con el estado del sistema deseado almacenado en Git.
  • Detectar diferencias entre los estados deseados y reales.
  • Realizar las operaciones necesarias en la infraestructura para sincronizar los estados reales y deseados.

En una implementación ideal de GitOps, los cambios manuales en el sistema no están permitidos y todos los cambios en la configuración deben realizarse en los archivos almacenados en Git. Los roles de los ingenieros de infraestructura y operaciones en un modelo de GitOps cambian de realizar cambios de infraestructura e implementaciones de aplicaciones a desarrollar y mantener la automatización de GitOps y ayudar a los equipos a revisar y aprobar los cambios a través de Git.

GitOps es ideal para entornos no críticos, pero es menos probable que las empresas adopten GitOps debido a una serie de desafíos que enfrentan los usuarios de GitOps.

Desafíos con GitOps

GitOps es aplicable solo a un subconjunto del ciclo de vida de desarrollo de software (SDLC). Esto es importante porque las herramientas de GitOps a veces se comercializan como una solución única para todos que resolverá todos los problemas de versiones; esto simplemente no es cierto. Primero, GitOps requiere que sus artefactos de implementación ya estén allí. Esto significa que tareas como

  • Compilar código
  • Ejecución de pruebas unitarias / de integración
  • Escaneo de seguridad
  • Análisis estático
  • Auditabilidad

Descubre la innovación

Para asegurar el éxito empresarial, ahora y a futuro, es imprescindible maximizar el retorno de la inversión existente en software, a la vez que innovar y adoptar nuevas tecnologías. Los retos que hay abordar para competir en un mundo de TI Híbrida incluyen DevOps, Seguridad, Gestión de riesgos y Análisis predictivo. Puedes obtener más información sobre cómo abordar estos retos e innovar en este enlace.