¿Por qué es importante GitOps?

GitOps es una serie de prácticas para gestionar las configuraciones de las aplicaciones y las infraestructuras usando Git.

Git, a su vez, se utiliza para realizar un seguimiento de los cambios en el código durante el desarrollo de software y también se utiliza para la configuración y la gestión de contenido. GitOps fue desarrollado por WeaveWorks, con el objetivo de crear una “fuente única” relacionada con la infraestructura y las aplicaciones. Para ello se colocó a Git en el centro de su canal de entrega para que los desarrolladores puedan hacer uso de las solicitudes de extracción y así simplificar las operaciones y la implementación de software en Kubernetes.

Cómo funciona GitOps

GitOps se basa en solicitudes de extracción. Una vez que se inicia una solicitud de extracción, el usuario podrá ver una descripción general de los cambios en cada rama contenida en una base de repositorio. Después, el usuario puede agregar un resumen de los cambios propuestos, revisar los cambios, agregar etiquetas y mencionar a otros usuarios que están contribuyendo en la creación de ese desarrollo. Cuando se crea la solicitud de extracción, se puede agregar una confirmación de una rama a la solicitud de extracción, donde los usuarios pueden ver los cambios que se han realizado. Si todos aprueban la solicitud, los cambios se podrán combinar con la solicitud de extracción.

GitOps vs. DevOps

GitOps y DevOps suenan muy similares, pero tienen diferencias importantes.

DevOps se trata de un enfoque colaborativo para las tareas realizadas por los equipos de desarrollo de aplicaciones y operaciones de TI. DevOps tiene objetivos como: promover la colaboración entre los equipos de desarrollo y operaciones y adoptar prácticas de implementación de infraestructura, automatización y desarrollo de software.

En cuanto a GitOps, podríamos decir que se trata de una extensión de DevOps que aprovecha específicamente la herramienta Git. Tiene como objetivo es automatizar el proceso de desarrollo y acelerar el ritmo de lanzamiento, aunque este objetivo lo comparte con DevOps.

En definitiva, GitOps es más bien una técnica vinculada al uso de Git y Kubernetes, mientras que DevOps podemos verla como una cultura que no está vinculado al uso de una sola herramienta.