ARQUITECTURA DE SOFTWARE Y CULTURA DEVOPS

Vamos a hablar del concepto “DevOps”. Porque muchas personas no están realmente seguras ¿Es un movimiento? ¿Un nuevo proceso o tecnología? ¿Un título de trabajo? ¿O solo una forma de pensar? Probablemente hayas escuchado sobre DevOps y su importancia en las empresas. Veamos quiénes son los ingenieros de DevOps, por qué son importantes y cómo son diferentes de los desarrolladores de software. También verémos los beneficios y las herramientas DevOps.

Los ingenieros de DevOps impulsan el cambio en la cultura de IT, centrándose en la entrega de servicios rápidos de IT mediante la adopción de prácticas ágiles y esbeltas. Los ingenieros de DevOps mejoran la colaboración entre las operaciones y los equipos de desarrollo. Utilizan tecnología, especialmente herramientas de automatización que pueden aprovechar una infraestructura cada vez más programable y dinámica desde una perspectiva de ciclo de vida.

Los ingenieros de DevOps son realmente muy difíciles de encontrar. Es relativamente algo nuevo y los buenos DevOps son caros y la demanda de DevOps crece mes a mes. Es por eso que en SES le estamos apostando a una cultura interna de aprendizaje y desarrollo de competencias que nos permita suplir estos perfiles con convocatorias internas.

Lo bueno de los ingenieros de DevOps es que enfatizan la colaboración y comunicación de los desarrolladores de software y los profesionales de IT al tiempo que automatizan el proceso de entrega de software y los cambios de infraestructura. Establecen una cultura y un entorno donde construir, probar y liberar software puede suceder rápidamente, con frecuencia y de manera más segura.

También se trata de una mentalidad, una cultura que se compone de procesos y prácticas que reúnen a los equipos de desarrollo y operaciones dentro de una empresa para desarrollar y desplegar software, con la máxima eficiencia y mínimas interrupciones.

Veamos las principales responsabilidades del ingeniero de DevOps para entenderlo mejor:

  • Código: desarrollo y revisión de código, herramientas de control de versiones, fusión de código.
  • Build: herramientas de integración continua, estado de compilación.
  • Prueba: los resultados determinan el rendimiento.
  • Paquete: repositorio de artefactos, distribución previa a la implementación de la aplicación.
  • Lanzamiento: gestión de cambios, aprobaciones de versiones, automatización de versiones.
  • Configurar: configuración y gestión de la infraestructura.
  • Monitorización: del rendimiento de las aplicaciones, experiencia del usuario final.
  • Automatizar: los procesos en la entrega de software.
  • Entrega continua: iteraciones frecuentes y cortas, lanzamientos.
  • La necesidad de DevOps nació de la creciente popularidad del desarrollo de software ágil, ya que tiende a generar un mayor número de lanzamientos. El ingeniero de DevOps normalmente trabaja mucho con herramientas DevOps como Docker (contenedorización), Jenkins (integración continua), etc.
  • El objetivo de DevOps es establecer un entorno para lanzar aplicaciones confiables más rápido y con mayor frecuencia.

————————————————————————————————-

En otras palabras, DevOps es un cambio cultural en la colaboración entre el desarrollo, las operaciones y las pruebas. Suena simple, pero en realidad no lo es.