Escrito por Beservices

Publicado: (diciembre 2020)   |   Última modificación: (octubre 2022).

Si trabajáis como desarrolladores o tenéis relación con el mundo de la programación, quizás hayáis oído hablar del concepto de GitOps. Y muy seguramente conozcáis qué es GIT y Kubernetes. En este artículo os explicaremos en qué consiste GitOps y qué aporta al actual panorama de desarrollo y gestión de aplicaciones.

GIT y Kubernetes

En el sector de la programación es habitual trabajar con sistemas de control de versiones como GIT, que permiten registrar todos los cambios realizados en el código de un proyecto. Una especie de historial de versiones que permite a los desarrolladores ver la evolución del código, consultar quién ha realizado determinadas modificaciones, trabajar en paralelo…

También es frecuente que para publicar y gestionar una aplicación utilicemos un entorno como Kubernetes, basado en contenedores. Esto nos permite definir la infraestructura necesaria para la ejecución de nuestra aplicación en lo que llamamos un contendor.

GitOps

Conociendo los 2 conceptos definidos arriba, nos será más fácil entender en qué consiste GitOps. Se trata de definir nuestro entorno o contenedor en Kubernetes mediante código y siendo registrado mediante control de versiones con GIT.

De este modo, la especificación de la infraestructura dónde se ejecutará nuestra aplicación queda explícita en unos ficheros. Y todos los cambios aplicados sobre dicho código se encuentra controlado bajo GIT.

Nuestra implementación de GitOps se convierte en la Single Source of Truth (algo así como la única fuente de verdad) de cómo es la infraestructura bajo la que se ejecutará nuestra aplicación.

Principios de GitOps

El uso de GitOps para cualquier proyecto implica seguir unos principios básicos que podemos definir en:

  • Todo el sistema debe estar descrito de forma declarativa

  • GIT contendrá el estado deseado de nuestro sistema

  • Los cambios aprobados en GIT se pueden implementar automáticamente en nuestra infraestructura

  • Control del estado del entorno y alerta de divergencias con la versión en GIT

En resumen, GitOps nos permite tener un mayor control sobre el entorno en el que se ejecutará nuestra aplicación y de todos los cambios que se produzcan en el mismo. Si queréis trabajar con esta tecnología en vuestra empresa, no dudéis en contactar con nosotros: estaremos encantados de ayudaros.