Qué es GitOps

Publicado el 2 de noviembre de 2021
Actualizado el 22 de junio de 2026
Representación 3D de una esfera de patrón abstracto sobre fondo azul
By Ashok Iyengar

Definición de GitOps

GitOps es una práctica DevOps que usa Git como la única fuente de información donde se almacena el estado de configuración deseado. 

La atención se centra en la automatización de operaciones, impulsada desde repositorios Git. Aunque está en el título, Git no es el único repositorio que se puede usar. Son las interfaces proporcionadas por Git las que automatizan las operaciones. GitOps termina usando información extraída de los metadatos de compilación para determinar qué paquetes compilar desencadenados por un cambio de código en particular:

Figura 1. Descripción general de GitOps.
Figura 1. Descripción general de GitOps.

En su núcleo, el modelo GitOps utiliza el patrón del controlador. Esto se ve favorecido aún más por el patrón del operador desde la perspectiva de Kubernetes u OpenShift, en el que los operadores son extensiones de software que utilizan recursos personalizados para gestionar aplicaciones y sus componentes.

Sería un error no mencionar Argo CD, una herramienta de GitOps que ayuda con los flujos de trabajo de GitOps. Argo CD es una herramienta declarativa de código abierto para la integración continua y el despliegue continuo (CI/CD) de aplicaciones. Implementado como un controlador de Kubernetes, Argo CD monitorea continuamente las definiciones y configuraciones de aplicaciones en ejecución, comparando el estado actual en vivo en el clúster con el estado deseado definido en un repositorio Git.

Pero GitOps no es un solo producto, complemento o plataforma. Los flujos de trabajo de GitOps ayudan a los equipos a gestionar la infraestructura de TI a través de procesos que ya utilizan en el desarrollo de aplicaciones. Para tomar prestado de un blog de GitLab, GitOps requiere tres componentes principales: GitOps = IaC + PR o MR + CI/CD

  • IaC: infraestructura como código (IaC) es la práctica de mantener toda la configuración de infraestructura almacenada como código. GitOps utiliza un repositorio Git como única fuente de información para las definiciones de infraestructura. Git realiza un seguimiento de todos los cambios en la gestión de código.

  • PRs o MRs: GitOps utiliza solicitudes de extracción (PR) o solicitudes de fusión (MR) como mecanismo de cambio para todas las actualizaciones de infraestructura. Aquí es donde los equipos pueden colaborar a través de revisiones y comentarios y donde se llevan a cabo las aprobaciones formales.

  • CI/CD: GitOps automatiza las actualizaciones de infraestructura mediante un flujo de trabajo Git con integración continua (CI) y entrega continua (CD). Cuando se fusiona código nuevo, el pipeline de CI/CD promulga el cambio en el entorno. Cualquier desviación de configuración, como cambios manuales o errores, se sobrescribe con la automatización de GitOps para que el entorno converja en el estado deseado definido en Git, proporcionando así operaciones continuas (CO):

GitOps existe desde hace algunos años, pero ha ganado terreno recientemente debido a los contenedores y a la complejidad que rodea el despliegue y la gestión coherentes de los entornos de tiempo de ejecución de contenedores.

¿Cuál es el problema que GitOps intenta resolver? Automatiza las operaciones de software para que las empresas puedan mejorar en ingeniería de software. Permite a los equipos de aplicaciones lanzar con mayor frecuencia y operar aplicaciones nativas de la nube de forma más eficaz.

     
    Figura 2. CI/CD/CO
    Figura 2. CI/CD/CO

    GitOps en Red Hat OpenShift

    Los operadores de Red Hat OpenShift simplifican la instalación y la orquestación automatizada de cargas de trabajo complejas. Ayudan a codificar la lógica operativa humana para gestionar los servicios que se ejecutan como aplicaciones nativas de Kubernetes, lo que facilita las operaciones del día 2. El operador es una pieza de software que se ejecuta en un pod en el clúster, interactuando con el servidor API de Kubernetes. Un operador de OpenShift es esencialmente un controlador personalizado y puede ser, de hecho, un controlador específico de la aplicación.

    IBM DevOps

    ¿Qué es DevOps?

    Andrea Crawford explica qué es DevOps, el valor de DevOps y cómo las prácticas y herramientas de DevOps le ayudan a mover sus aplicaciones a través de todo el delivery pipeline, desde la ideación hasta la producción. Dirigido por los principales líderes de pensamiento de IBM, el programa de estudio está diseñado para ayudar a los líderes empresariales a adquirir los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

    Operador de GitOps

    Red Hat OpenShift facilita a los desarrolladores que desean utilizar GitOps al proporcionar los operadores necesarios. Una vez desplegados, se pueden ver en la sección Installed Operators en OpenShift Console. El operador Red Hat OpenShift GitOps es el operador ascendente de ArgoCD, y el operador Red Hat OpenShift Pipelines, que también se despliega, es el operador ascendente de Tekton. Ver la figura 3:

    Figura 3. Operadores relacionados con GitOps en Red Hat OpenShift.
    Figura 3. Operadores relacionados con GitOps en Red Hat OpenShift.

    Los operadores y las API relacionadas se pueden utilizar para iniciar uno o más pipelines de GitOps que pueden desplegarse en diferentes entornos extrayendo el resultado de configuración deseado de Git. Los entornos pueden ser los habituales de desarrollo, prueba y producción, pero también pueden abarcar entornos geográficos como la nube empresarial, la red de telecomunicaciones o los nodos de computación perimetral.

    Los recursos de despliegue se clasifican en tres áreas: infraestructura, servicios y aplicaciones. Estas áreas facilitan la separación y gestión del despliegue de recursos relacionados:

    • Infraestructura es donde se definen los espacios de nombres y las unidades de almacenamiento necesarios.
    • Servicios es donde se describen los diversos operadores necesarios para configurar las instancias.
    • Aplicaciones es donde se enumeran las aplicaciones que se desplegarán.

    GitOps en la computación perimetral

    Centro de datos en la nube/empresarial

    La computación perimetral está viendo la proliferación de clústeres de OpenShift o Kubernetes en la mayoría de los centros de TI. Tiene el potencial de alcanzar una escala masiva de cientos a miles de despliegues por cliente. El resultado es que los departamentos de TI de las empresas deben gestionar varios clústeres de tiempo de ejecución de contenedores independientes o cooperativos que se ejecutan on-prem y/o en nubes públicas.

    Garantizar que los clústeres tengan el mismo estado deseado (implementar un cambio y revertir un cambio en múltiples nubes) es un beneficio importante que GitOps brinda a las empresas basadas en el perímetro e IoT.

    Edge de red

    El paradigma de GitOps es aplicable en el perímetro de la red, ya que uno de los principales desafíos que enfrentan los proveedores de servicios de comunicación (CSP) es buscar la orquestación, automatización y gestión de sus redes. Si bien 5G es una bendición para los consumidores, las redes definidas por software (SDN), la división de redes con diferentes anchos de banda y un despliegue más rápido han creado desafíos para los proveedores de telecomunicaciones.

    Un pipeline de despliegue automatizado es una forma en que los CSP pueden llevar servicios a los clientes más rápido. Tener un repositorio central y un enfoque declarativo para aprovisionar la infraestructura de contenedores significa un tiempo de comercialización más rápido para nuevas características y solicitudes de cambio. Este paradigma ayudará al aprovisionamiento de VNF (funciones de red virtual) y CNF (funciones de red nativas de la nube) en el perímetro de la red. La contenerización de los componentes de red permite gestionar dichas funciones. Por último, debido a que toda la actividad de configuración se registra y almacena en Git, la capacidad de rastrear los cambios es crítica para fines de cumplimiento y auditoría. Hay un par de blogs relacionados de WeaveWorks en las referencias:

    Figura 4. GitOps en la computación perimetral.
    Figura 4. GitOps en la computación perimetral.

    Edge empresarial

    GitOps permite a las organizaciones desplegar en múltiples objetivos simultáneamente. Permite la puesta en marcha de despliegues detallados. Esto sería extremadamente útil al desplegar aplicaciones en cientos y decenas de miles de nodos perimetrales, que vienen en diferentes formas y factores de forma y utilizan protocolos de comunicación variados, especialmente si los nodos perimetrales son pequeños clústeres Eedge que utilizan Intel NUC o NVIDIA Jetson.

    El marco GitOps puede servir para desplegar aplicaciones y usar el repositorio Git como la única fuente de información. Los equipos de ITOps buscan el despliegue autónomo de aplicaciones, gestión y operaciones de nodos edge, lo cual se facilita mediante el uso de operadores Red Hat OpenShift.

    Edge del dispositivo (o edge lejano)

    El beneficio de GitOps es obvio en el edge de la red y en el edge empresarial. Los dispositivos de edge lejano presentan un desafío diferente porque la capacidad de almacenamiento y computación de algunos de estos dispositivos no es lo suficientemente grande como para alojar servicios de GitOps y ejecutar aplicaciones.

    El lanzamiento de distribuciones ligeras de Kubernetes, como K3 y K0, está previsto para casos de uso de IoT y en el perímetro. La capacidad de desplegar una distribución ligera de Kubernetes en un dispositivo perimetral nos permite ejecutar una herramienta GitOps como Argo CD. Luego, los dispositivos podrán adoptar el modelo de extracción de sondear un repositorio Git para obtener el estado deseado y sincronizarlo con el estado en vivo del clúster.

    Autor

    Ashok Iyengar

    Executive Cloud Architect

    Soluciones relacionadas
    IBM Instana Observability

    Aproveche el poder de la IA y la automatización para resolver problemas de manera proactiva en toda la pila de aplicaciones.

    Explore IBM Instana Observability
    Soluciones de DevOps

    Utilice el software y las herramientas de DevOps para crear, desplegar y gestionar aplicaciones nativas de la nube en múltiples dispositivos y entornos.

    Explore las soluciones de DevOps
    Servicios de consultoría en la nube

    Acelere la agilidad y el crecimiento empresarial: modernice continuamente sus aplicaciones en cualquier plataforma con nuestros servicios de consultoría en la nube.

    Explore los servicios de consultoría en la nube
    Dé el siguiente paso

    Desde la detección proactiva de problemas con IBM Instana hasta los insights en tiempo real en toda su pila, puede mantener las aplicaciones nativas de la nube funcionando de forma confiable.

    1. Descubra IBM Instana
    2. Explore las soluciones de DevOps