DevOps: los mejores tool

DevOps: los mejores tool


metodologías ágiles software devops

Image

Tras su lanzamiento, el Manifiesto Ágil revolucionó el mundo tech. Sugirió, entre otras cosas, que el team de desarrollo debería trabajar directamente con el cliente (o con el product owner). Este contacto permite reducir tiempo y costes cuando son necesarias modificaciones y adiciones durante el proyecto. 

Han pasado ya 22 años desde que nació Agile. A pesar de los grandes beneficios, surgió una deficiencia crítica: se excluyeron de la revolución los procesos y los requisitos del team que debe distribuir y administrar operativamente el software. 

¿Cómo ha nacido DevOps?

DevOps ha sido creado para integrar estos aspectos a las metodologías ágiles. Es un acercamiento al desarrollo software que permite al equipo crear, testear y lanzar el software de manera rápida y confiable, incorporando principios y prácticas ágiles. Permite una mayor automatización y una mejor colaboración entre el team de desarrollo y de operations (una separación que desaparece).

Este artículo te ayudará a identificar las herramientas DevOps más elegantes y difusas que aceleran el ritmo de la innovación y de la transformación digital en el 2022.

1. Kubernetes & Docker: a love story

Image

No dejamos de hablar de Kubernetes. 

La razón por la que cambia las reglas del juego es que, por primera vez en décadas de prácticas IT, ahora tenemos un idioma común. Cualquier herramienta que crearás o adoptarás solo tendrá que saber cómo comunicarse con Kubo y, por lo tanto, en virtud de Kube, podrá controlar una amplia gama de herramientas y software en su entorno IT.

Antes de Kube era necesario conocer el lenguaje de la API de los proveedores de almacenamiento, la API del proveedor de la red, la API del equilibrador de carga, la API del almacenamiento de server/hypervisor y la lista podría continuar… Ahora los mismos proveedores son responsables de la manutención de los driver (traductores) de tal manera que Kube sepa cómo guiar su API. Esto reduce considerablemente los costes de gestión del IT.

Además, ahora que los container se están generalizando, también los proveedores de las aplicaciones están entrando en esta lógica. Con Kubernetes, puedes distribuir una app perfectamente configurada en pocos segundos. 

Docker es la plataforma de definición y ejecución del container. Kubernetes es el orquestador de los container, que une todo.

2. Azure DevOps

Image

En el nivel más alto, puedes considerarlo como un conjunto de herramientas. Así como Office es una colección de herramientas de productividad, Azure DevOps es una colección de herramientas de productividad técnica.

Originalmente se usaba solo para el desarrollo de software, pero bajo mi punto de vista es más una herramienta de orquestación de automatización. Se ocupa de la aplicación desde el momento en el que se crea hasta el monitoreo, cuando ha sido ya entregada al cliente.

Tiene herramientas para gestionar el desarrollo, para versionar el código, para lanzar el software en los diferentes entornos y para monitorear el software. Gestione la knowledge base de una empresa, testea el código e implementa las políticas de seguridad. Por último, se integra con otros muchos elementos para enviar notificaciones y expandir más sus capacidades.

3. Terraform

Image

Terraform te permite definir la infraestructura de tus sistemas en forma de código (Infrastructure as Code). Permite reconstruir, modificar y rastrear fácilmente los cambios en las infraestructuras. Hay algunas alternativas pero generalmente se concentran en un solo provider cloud: Terraform es el único completamente independiente de la plataforma. Soporta: 

  • Microsoft Azure;
  • Google Cloud;
  • Amazon Web Services;
  • Oracle Cloud;
  • VMWare vSphere;
  • Alibaba Cloud.

Resuelve muchos problemas enfrentados diariamente en DevOps, entonces es un producto muy interesante. Si trabajas en ámbito IT, tendrías que ser consciente de que problemas está intentando resolver.

4. Ansible

Image

Parecido a los script Terraform, los playbook Ansible (con una lógica más imperativa que descriptiva respecto a Terraform) se utilizan frecuentemente para resolver task repetitivos y para configurar (y reconfigurar) infraestructuras incluso complejas.

Es muy útil y potente. Si tuviera que obtener información de 500 máquinas contemporáneamente (o, al contrario, sincronizar los datos de una máquina con otras 500), los comandos Ansible lo convertirían extremadamente simple. 

Ansible, gracias al Vault y al template engine, facilita además la gestión de los secret Kubernetes permitiendo agilizar la población de helmchart con datos sensibles, claves, contraseñas, certificados.

Se aprende rápido, ya que la documentación es clara y exhaustiva.

Curso de programación Aulab Hackademy

Conviértete en Desarrollador weben 6 meses

Descubre el bootcamp de programación Hackademy

Programa Completo

© 2020 Aulab. Todos los derechos reservados • P.IVA: IT07647440721 • Política de privacidad