Argo: de la mitología a kubernetes, la revolución de la gestión de apps

Argo, un nombre que evoca imágenes de viajes épicos y hazañas legendarias, ha encontrado su camino en el entorno de la tecnología moderna, no como un barco mítico, sino como un conjunto de herramientas revolucionarias para Kubernetes. Pero ¿Cuál es la verdadera historia detrás de Argo y cómo llegó a ser tan importante en el panorama actual de la tecnología?

En este articulo hablaremos sobre

Un viaje épico: De la mitología griega a Kubernetes

El nombre argo tiene sus raíces en la mitología griega, en la nave que llevó al héroe Jason y a los Argonautas en su búsqueda del Vellocino de Oro. Este nombre, cargado de simbolismo de aventura y exploración, fue elegido por los creadores de Argo, un conjunto de herramientas de código abierto para Kubernetes, para reflejar su ambición de revolucionar la forma en que se manejan los sistemas de software.

El proyecto Argo nació de la necesidad de resolver problemas específicos que enfrentaban empresas como Intuit y Applatix. En Intuit, Alexander Matyushentsev y Jesse Suen buscaban una solución para manejar las implementaciones a gran escala en Kubernetes, mientras que en Applatix, Hong Wang, Jesse Suen y Alexander Matyushentsev buscaban una forma de orquestar trabajos en Kubernetes de manera más eficiente.

La inspiración para el nombre y el logotipo del proyecto llegó de una fuente inesperada: los argonautas, una especie de pulpo pelágico. Estos pulpos, conocidos por su trabajo en equipo y su capacidad para navegar por las profundidades del océano, simbolizan perfectamente la naturaleza colaborativa y la capacidad de adaptarse a entornos desafiantes del proyecto Argo.

Argo: Un conjunto de herramientas para la era de Kubernetes

Argo no es una sola herramienta, sino un conjunto de herramientas de código abierto diseñadas para optimizar el desarrollo y la gestión de aplicaciones en Kubernetes. Cada herramienta se enfoca en un aspecto específico del ciclo de vida de las aplicaciones, ofreciendo soluciones innovadoras para desafíos comunes.

Argo CD: GitOps para una entrega continua

Argo CD es la herramienta más conocida dentro del proyecto Argo. Fue creada en Intuit para gestionar las implementaciones en Kubernetes a escala, con el objetivo de migrar desde centros de datos físicos a Kubernetes en AWS.

Argo CD se basa en el enfoque de GitOps, que utiliza Git como la única fuente de verdad para la configuración de la infraestructura y las aplicaciones. Este enfoque aporta numerosos beneficios, como:

  • Auditoria y trazabilidad: Todo cambio se registra en Git, lo que facilita la auditoría y la trazabilidad de las modificaciones.
  • Control de versiones: Git proporciona un sistema de control de versiones que permite revertir cambios fácilmente y gestionar diferentes versiones de la configuración.
  • Colaboración: Git facilita la colaboración entre equipos, permitiendo que varios desarrolladores trabajen en la configuración de la infraestructura y las aplicaciones de forma simultánea.

Principales características y casos de uso de Argo CD:

  • Aplica manifiestos desde el repositorio al clúster.
  • Monitorea continuamente el repositorio para detectar cambios.
  • Se utiliza principalmente para la implementación de infraestructura y aplicaciones.

Argo Workflows: Orquestando trabajos en Kubernetes

Argo Workflows fue el primer proyecto de Argo y nació en Applatix. Esta herramienta extiende la API de Kubernetes con una nueva definición de recurso personalizado (CRD) llamada Workflow.

Un Workflow es un recurso extensible similar a un trabajo de Kubernetes que puede utilizarse para diversas aplicaciones, como:

  • Procesamiento de datos: Argo Workflows puede utilizarse para orquestar flujos de trabajo complejos que procesan grandes cantidades de datos.
  • Automatización: Puede utilizarse para automatizar tareas repetitivas, como la compilación y la implementación de aplicaciones.
  • Machine Learning (ML): Argo Workflows es una herramienta popular para la orquestación de pipelines de ML.

Principales características y casos de uso de Argo Workflows:

  • Cada paso en un workflow es un pod, compuesto por varios contenedores.
  • Se utiliza principalmente para el procesamiento de datos y la automatización.
  • Empresas como Ant Group y CERN utilizan Argo Workflows para procesar datos.
  • Argo Workflows está reemplazando rápidamente herramientas como Apache Airflow.

Argo Rollouts: Implementaciones progresivas en Kubernetes

Argo Rollouts surgió de la necesidad de implementar estrategias de despliegue más sofisticadas en Kubernetes. Argo Rollouts reemplaza el recurso Deployment con un recurso Rollout más avanzado, que permite:

  • Actualizaciones progresivas: Argo Rollouts permite realizar actualizaciones progresivas de aplicaciones, como actualizaciones azules/verdes y canary.
  • Integración con mallas de servicios y controladores de ingreso: Argo Rollouts se integra con mallas de servicios y controladores de ingreso para controlar el tráfico de las aplicaciones.
  • Automatización de la promoción y la reversión: Argo Rollouts puede automatizar la promoción y la reversión de las actualizaciones en función del análisis del rendimiento de la aplicación.

Principales características y casos de uso de Argo Rollouts:

  • Proporciona estrategias de actualización azules/verdes y canary.
  • Se integra con mallas de servicios y controladores de ingreso para dar forma al tráfico.
  • Automatiza la promoción y la reversión en función del análisis.
  • Se utiliza para implementar artefactos de forma segura en producción.

Argo Events: Un gestor de dependencias basado en eventos

Argo Events fue creado para proporcionar un mecanismo ligero y nativo de Kubernetes para activar automáticamente workflows de Argo en respuesta a eventos, como:

argos historia real - Cuál es la verdadera historia de Argo

  • Tiempo: Activar un workflow en un momento específico.
  • Detección de nuevos objetos: Activar un workflow cuando se crea un nuevo objeto en Kubernetes.
  • Commits: Activar un workflow cuando se realiza un commit en un repositorio Git.
  • Mensajes: Activar un workflow en respuesta a un mensaje en un sistema de mensajería.

Principales características y casos de uso de Argo Events:

  • Argo Events fue donado a Argo por BlackRock.
  • Gestor de dependencias basado en eventos que se utiliza normalmente para activar workflows de Argo, pero puede activar cualquier recurso de Kubernetes.

Akuity: Apoyo y soluciones para Argo

Con el creciente éxito del conjunto de herramientas de Argo, Akuity.io fue fundada por los co-creadores de Argo para ayudar a los usuarios a implementar y escalar sus procesos de entrega de software. Akuity ofrece:

  • Soporte profesional: Ayuda a los usuarios a resolver problemas y a aprovechar al máximo las herramientas de Argo.
  • Soluciones: Ofrece soluciones personalizadas para las necesidades específicas de los usuarios.
  • Parches priorizados: Proporciona acceso a parches priorizados para las herramientas de Argo.
  • Acuerdos de nivel de servicio (SLA) empresariales garantizados: Ofrece un servicio de alta calidad con SLA garantizados.

Sobre Argo

¿Qué es Argo?

Argo es un conjunto de herramientas de código abierto para Kubernetes que ayudan a ejecutar workflows, gestionar clústers y realizar GitOps de forma correcta.

¿Por qué se llama Argo?

Argo se llama así por la nave Argo de la mitología griega, que transportó al héroe Jason y a los Argonautas en su búsqueda del Vellocino de Oro. También se inspiraron en los argonautas, una especie de pulpo pelágico.

¿Cuáles son las principales herramientas de Argo?

Las principales herramientas de Argo son:

  • Argo CD: GitOps para una entrega continua.
  • Argo Workflows: Orquestando trabajos en Kubernetes.
  • Argo Rollouts: Implementaciones progresivas en Kubernetes.
  • Argo Events: Un gestor de dependencias basado en eventos.

¿Qué es GitOps?

GitOps es un enfoque para gestionar la infraestructura y las aplicaciones que utiliza Git como la única fuente de verdad.

argos historia real - Por qué Argo se llama Argo

¿Cómo puedo utilizar Argo?

Puedes instalar y utilizar las herramientas de Argo de forma gratuita desde su repositorio de GitHub. Akuity también ofrece soporte profesional y soluciones para Argo.

El futuro de la gestión de aplicaciones con Argo

Argo ha revolucionado la forma en que se gestionan las aplicaciones en Kubernetes, ofreciendo soluciones innovadoras para los desafíos que enfrentan las empresas a medida que se trasladan a entornos de nube. Con su enfoque en GitOps, su conjunto de herramientas de código abierto y su creciente comunidad de usuarios, Argo se posiciona como una tecnología fundamental para el futuro de la gestión de aplicaciones.

Las herramientas de Argo están constantemente evolucionando y mejorando, lo que garantiza que las empresas puedan seguir aprovechando las últimas innovaciones en el ámbito de Kubernetes. Si estás buscando una forma de optimizar tus procesos de desarrollo y entrega de software, Argo es una herramienta que vale la pena considerar.

Si quieres conocer otros artículos parecidos a Argo: de la mitología a kubernetes, la revolución de la gestión de apps puedes visitar la categoría Historias reales.

Subir

Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarte contenidos y servicios personalizados a través del análisis de la navegación. Acéptalas o configura sus preferencias. Más información