Qué es GitOps

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

Definición de GitOps

GitOps es una práctica DevOps que utiliza Git como la única fuente fiable 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 utilizar. Son las interfaces proporcionadas por Git las que automatizan las operaciones. GitOps termina utilizando la 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 esencia, el modelo de GitOps utiliza el patrón del controlador. Esto se ve favorecido aún más por el patrón de operadores desde la perspectiva de Kubernetes u OpenShift, en el que los operadores son extensiones de software que utilizan recursos personalizados para gestionar las 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 la implementación continua (CI/CD) de aplicaciones. Implementado como un controlador de Kubernetes, Argo CD monitoriza 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 único 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. Según un blog de GitLab, GitOps requiere tres componentes principales: GitOps = IaC + PR o MR + CI/CD

  • IaCInfraestructura 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 fiable para las definiciones de infraestructura. Git realiza un seguimiento de todos los cambios en la gestión del código.

  • PRs o MRs: GitOps utiliza pull requests (PRs) o merge requests (MRs) como mecanismo de cambio para todas las actualizaciones de infraestructura. Aquí es donde los equipos pueden colaborar a través de reseñas y comentarios y donde tienen lugar 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 en la configuración, como cambios manuales o errores, se sobrescribe mediante la automatización de GitOps, de modo que el entorno converge en el estado deseado definido en Git, lo que proporciona 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 a la implementación y gestión coherentes de los entornos de tiempo de ejecución de contenedores.

¿Cuál es el problema que GitOps intenta resolver? Bueno, 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 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, su valor y cómo las prácticas y herramientas de DevOps ayudan a desarrollar las aplicaciones a lo largo de todo el proceso de entrega de software, desde la ideación hasta la producción. El plan de estudios, dirigido por los principales líderes de opinión de IBM, 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 GitOps

    Red Hat OpenShift facilita a los desarrolladores que deseen utilizar GitOps al proporcionar los operadores necesarios. Una vez implementados, se pueden ver en la sección operadores instalados en la consola de OpenShift. El operador Red Hat OpenShift GitOps es el operador ascendente de ArgoCD, y el operador Red Hat OpenShift Pipelines, que también se implementa, es el operador ascendente de Tekton. Véase 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 una o más pipelines de GitOps que pueden implementarse 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 edge computing.

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

    • La infraestructura es donde se definen los espacios de nombres y las unidades de almacenamiento necesarios.
    • Los servicios es donde se describen los distintos operadores necesarios para configurar las instancias.
    • Las aplicaciones es donde se enumeran las aplicaciones que se van a implementar.

    GitOps en edge computing

    Centro de datos en la nube/empresa

    El edge computing 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 implementaciones 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 en las instalaciones y/o en nubes públicas.

    Garantizar que los clústeres tengan el mismo estado deseado (implementar un cambio y revertir un cambio en varias nubes) es un beneficio importante que GitOps proporciona a las empresas basadas en edge y IoT.

    Edge de red

    El paradigma GitOps es aplicable en el edge, ya que uno de los principales retos a los que se enfrentan los proveedores de servicios de comunicaciones (CSP) es la orquestación, automatización y gestión de sus redes. Si bien el 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 una implementación más rápida han creado desafíos para los proveedores de telecomunicaciones.

    Un pipeline de implementación automatizada es una forma en que los CSP pueden llevar los 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 Edge. La contenerización de los componentes de red permite gestionar dichas funciones. Por último, dado que toda la actividad de configuración se registra y se almacena en Git, la capacidad de realizar un seguimiento de 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 edge computing.
    Figura 4. GitOps en edge computing.

    Enterprise Edge

    GitOps permite a las organizaciones implementar en varios objetivos simultáneamente. Permite el despliegue de implementaciones detalladas. Esto sería extremadamente útil cuando se implementan aplicaciones en cientos y decenas de miles de nodos de edge, que vienen en diferentes formas y factores de forma y utilizan protocolos de comunicación variados, especialmente si los nodos de edge son pequeños clústeres edge que utilizan una Intel NUC o NVIDIA Jetson.

    El marco GitOps puede ser beneficioso para implementar aplicaciones y usar el repositorio Git como la única fuente fiable. Los equipos de ITOps buscan la implementación, la gestión y el funcionamiento autónomos de las aplicaciones en los nodos edge, lo que se ve facilitado por el uso de los operadores de 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 de la empresa. Los dispositivos edge presentan un reto diferente porque el almacenamiento y la capacidad de computación de algunos de estos dispositivos no son lo suficientemente grandes para alojar servicios GitOps y ejecutar aplicaciones.

    El lanzamiento de distribuciones ligeras de Kubernetes, como K3 y K0, está destinado a casos de uso de IoT y edge. La capacidad de implementar una distribución ligera de Kubernetes en un dispositivo edge nos permite ejecutar una herramienta GitOps como Argo CD. A continuación, 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 activo del clúster.

    Autor

    Ashok Iyengar

    Executive Cloud Architect

    Soluciones relacionadas
    IBM Instana Observability

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

    Explore IBM Instana Observability
    Soluciones DevOps

    Utilice el software y las herramientas de DevOps para crear, implementar y gestionar aplicaciones nativas de la nube en varios dispositivos y entornos.

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

    Acelere la agilidad y el crecimiento empresarial: modernice continuamente sus aplicaciones en cualquier plataforma utilizando 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 conocimientos en tiempo real en toda su pila, puede mantener las aplicaciones nativas de la nube funcionando de forma fiable.

    1. Descubra IBM Instana
    2. Explore las soluciones DevOps