DevOps

¿Qué narices es DevOps?

Según Wikipedia DevOps (acrónimo inglés de developmentdesarrollo– y operationsoperaciones-) es un conjunto de prácticas que agrupan el desarrollo de software ( Dev ) y las operaciones de TI ( Ops ).

Ya está. vámonos.

Ya en serio. En una compañía que se dedique a desarrollar y explotar Software, habrá un departamento, área o equipo de Desarrollo, y otro de operaciones.

El equipo de desarrollo se dedica a… ¡exacto! al desarrollo de software. el equipo de operaciones se dedica a crear y mantener la infraestructura sobre la que ese software se ejecuta. Tradicionalmente, estas dos áreas de especialización estaban claramente separadas.

DevOps es una forma de trabajar que busca una estrecha colaboración entre estas dos áreas esperando como resultado aumentar la velocidad del proceso de desarrollo, así como la calidad del software. DevOps se apoya en un conjunto de herramientas que facilitan esta colaboración pero, principalmente, consiste en un cambio de filosofía y de cultura de trabajo dentro de la empresa.

Hagamos un poco de zoom en la forma en la que funciona el desarrollo de software en un modelo tradicional:

Normalmente, la compañía tendrá un equipo de desarrollo (Dev) y otro de operaciones (Ops). Supongamos que el equipo de desarrollo desarrolla nuevas funcionalidades mientras que el de operaciones crea y mantiene la infraestructura.

El equipo de desarrollo envía el código al de operaciones, que lo despliega sobre la infraestructura.

Este proceso genera un conflicto entre ambos equipos. Los desarrolladores quieren producir nuevas funcionalidades lo más rápido posible, mientras que los miembros de operaciones quieren que la infraestructura se mantenga estable y confiable. La separación de equipos provoca que:

  • Diferencias entre entornos pueden dar lugar a fallos del software complicados de solucionar
  • Las comunicaciones entre equipos llevan tiempo y se sufre el riesgo de perder información en el proceso.

Lo que se pretende con DevOps es acabar con la división entre equipos. La idea es integrar Desarrollo y Operaciones. De esta manera se consigue:

  • Entornos de desarrollos, pruebas y producción consistentes
  • Menor necesidad de transferencia entre equipos. Información y contexto compartidos
  • Gestión de la infraestructura con herramientas de desarrollo.

Siguiendo estas prácticas se consigue entregar software de forma más rápida y fiable.

Cultura

Para implantar DevOps, lo más importante es crear la cultura adecuada en la compañía. Para que se produzca la colaboración necesaria no basta con implantar las prácticas y herramientas necesarias. Se requiere una cultura de colaboración. Un cambio de paradigma.

Prácticas

DevOps conlleva una serie de prácticas como pueden ser: Automatización, integración continua, infraestructura como código u observabilidad del código.

Herramientas

Se pueden utilizan varias herramientas para facilitar estas prácticas. Por ejemplo: Herramientas de control de versiones (Git), de automatización (Jenkins), de infraestructura como código (Docker) o de Testing (Jest).

En definitiva. DevOps es una cultura, soportada por prácticas e implementada con determinadas herramientas. Esta cultura busca fomentar la colaboración entre los equipos de desarrollo y operaciones. Como resultado, se producirá software estable y confiable de forma más rápida.

Comparte

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *