ICM / devops / Terminología DevOps

Terminología DevOps

21 febrero 2023 | Marc Carbó

En este artículo os queremos hablar de la Terminología DevOps. DevOps Engineering es una metodología de trabajo enfocada en el desarrollo y la operación de software que busca unificar al equipo de operaciones y desarrollo para conseguir una mejora y una reducción de tiempo en el SDLC (systems development life cycle).

Algunos de los conceptos más conocidos en la terminología DevOps son:

  • CI/CD: Está nomenclatura hace referencia a la Integración y entrega continua o despliegue continuo. Imponen la automatización la construcción de aplicaciones, en las pruebas y en el despliegue. Los servicios CI/CD compilan los cambios de código y los empaquetan. Las pruebas, automatizadas, verifican que la aplicación funciona y el despliegue, también automatizado, entrega la aplicación al cliente final.
  • Escalabilidad: Se refiere a la capacidad de un sistema de manejar un tráfico más elevado y un mayor crecimiento sin interrupción del servicio.
  • Orquestación: Referido a la automatización de despliegue y gestión de contenedores en una infraestructura distribuida. Kubernetes es un ejemplo de orquestrador de contenedores.
  • Kubernetes: Orquestrador de contenedores de código libre. Permite automatizar el despliegue, la escalabilidad y gestión de aplicaciones en contenedores.
  • Contenedores: Los containers son un “paquete” de software que contiene todo lo necesario para que una aplicación pueda funcionar, independientemente del sistema operativo donde se esté ejecutando, solventando el problema de incompatibilidades con el entorno. Los contenedores permiten una mayor portabilidad y una mayor facilidad de despliegue en diferentes entornos.
  • Docker: Es una plataforma de contenedores que permite empaquetar y desplegar contenedores de forma rápida y sencilla.
  • IaC (Infrastructure as Code): La infraestructura como código permite preparar y desplegar la infraestructura a través de código em vez de procesos manuales. Por ejemplo, Terraform es una herramienta de IaC.
  • Terraform: Como hemos mencionado es una herramienta de IaC que permite definir recursos de Cloud o On-prem en ficheros de configuración de fácil comprensión. Terraform puede manejar componentes de bajo nivel como storage o recursos de red y recursos de alto nivel como entradas DNS.
  • GIT: Git es un sistema de control de versiones ampliamente utilizado en el desarrollo de software que permite la colaboración entre varios equipos y mantener un registro de los cambios en el código.
  • Ansible: Es una herramienta de automatización que permite automatizar tareas y configuraciones repetitivas en un sistema.
  • Virtualización: Referido a la creación de máquinas virtuales que imitan el comportamiento de una máquina física. Esto permite a los desarrolladores y operadores a probar y desplegar aplicaciones en entornos de prueba, controlados, antes de implementarlo en los entornos de producción.

Estos son algunos ejemplos más comunes de terminología DevOps. Y con ellos entendemos un poco mejor las herramientas y la metodología que usan para que las aplicaciones se desarrollen y entreguen de una forma rápida y eficaz.