Topics Gitops ¿Qué es un flujo de trabajo de GitOps?

¿Qué es un flujo de trabajo de GitOps?


La gestión de la infraestructura de TI puede ser un desafío, pero los equipos que utilizan prácticas de desarrollo de software bien conocidas, como el control de versiones, la revisión de códigos y los pipelines de CI/CD, consideran que el proceso es más conveniente. Mediante el uso de archivos de configuración, se implementa el mismo entorno de infraestructura cada vez. Muchos equipos saben que este flujo de trabajo aumenta la eficiencia, la colaboración y la estabilidad, pero quizás se pregunten qué significa adoptar GitOps.

Tres componentes de los flujos de trabajo de GitOps

Como marco de desarrollo de software, GitOps tiene tres partes principales en su flujo de trabajo: la infraestructura como código, las solicitudes de fusión y los pipelines de CI/CD.

1. Infraestructura como código (IaC)

El primer paso en un flujo de trabajo de GitOps es definir toda la infraestructura como código. La IaC automatiza el aprovisionamiento de la infraestructura de TI mediante el uso de archivos de configuración. La IaC es una práctica de DevOps que ayuda a los equipos a versionar la infraestructura para mejorar la coherencia entre los máquinas y reducir la fricción de la implementación. El código de infraestructura se somete a un proceso similar al código de aplicación con puntos de contacto en integración continua, control de versiones, pruebas e implementación continua. La automatización conduce a un desarrollo más eficiente, una mayor coherencia y un tiempo de comercialización más rápido.

La gestión de la infraestructura ha sido tradicionalmente un proceso manual que involucra a grandes equipos que mantienen servidores físicos. Por lo general, cada máquina tiene su propia configuración, lo que lleva a entornos únicos o «snowflake». Con la infraestructura como código, los equipos tienen una mayor visibilidad, coherencia, estabilidad y escalabilidad.

2. Solicitudes de fusión (MR)

Las herramientas declarativas, como Kubernetes, permiten que Git, un sistema de control de versiones de código abierto que realiza un seguimiento de los cambios de código, realice el control de versiones de los archivos de configuración. Al utilizar un repositorio de Git como la fuente única de la verdad para las definiciones de infraestructura, GitOps se beneficia de una sólida pista de auditoría. El segundo aspecto de los flujos de trabajo de GitOps involucra las solicitudes de fusión, que sirven como la función de cambio para las actualizaciones de la infraestructura.

Los equipos colaboran en las solicitudes de fusión a través de revisiones de código, comentarios y sugerencias. Una fusión se confirma a la rama principal y actúa como un registro de auditoría. Las funcionalidades integradas de reversión permiten a los equipos volver al estado deseado y explorar formas innovadoras de abordar los desafíos difíciles. Las solicitudes de fusión facilitan la experimentación y proporcionan una forma segura para que los miembros del equipo reciban rápidamente comentarios de sus pares y expertos en la materia.

3. Integración e implementación continuas (CI/CD)

GitOps automatiza la gestión de la infraestructura mediante un flujo de trabajo de Git con una integración e implementación continuas efectivas. Después de que el código se fusiona con la rama principal, el pipeline de CI/CD inicia el cambio en el entorno. Los cambios manuales y los errores humanos pueden causar el desfase de la configuración y los entornos snowflake, pero la automatización de GitOps y la implementación continua los sobrescriben, por lo que el entorno siempre [implementa](/blog/2021/02/05/ci Deployment-and-environments/){data-ga-name ="despliega" data-ga-location = "body"} un estado deseado consistente.

¿Qué es GitOps?

¿Todo listo para comenzar?

Descubra lo que su equipo puede hacer con una plataforma de DevSecOps unificada.