¿Qué es DevOps? Aclarando el significado

Hay diversas opiniones sobre a qué se refería Daft Punk en su célebre tema Harder, Better, Faster, Stronger, pero podría ser la banda sonora de un proceso de adopción del paradigma DevOps en la empresa.

🎶 “Work it harder
Make it better
Do it faster
Makes us stronger”

Así:

  • mayor calidad de desarrollo, infraestructuras IT más resilientes, feedback constante y mejora continua (better),
  • entrega de valor rápida y frecuente y menor Time to Market (faster)
  • y capacitar a las empresas para poder responder a los cambios de la forma más eficiente y confiable posible en línea con sus objetivos de negocio (makes us stronger)

son algunas de las ventajas y objetivos que proporciona trabajar en DevOps, que está muy relacionado con otros conceptos de moda en el mundo del desarrollo como los microservicios, los contenedores, la integración continua, la entrega continua, las metodologías ágiles, etc.

El origen de DevOps

Los cambios económicos y sociales provocados por la Transformación Digital en la que vivimos inmersos y el auge -por pura necesidad- de las metodologías ágiles en las empresas han impulsado el uso de DevOps a la hora de desarrollar software, una búsqueda que a día de hoy suma más de 27 millones de resultados en Google.

El concepto surgió como fruto de la frustración que el consultor IT Patrick Debois  experimentó en 2007 durante un proyecto de migración del centro de datos del gobierno de Bélgica. Debois participaba inicialmente a cargo del testing y en esa posición sufrió los fallos de cooperación y comunicación a raíz de conflictos y malentendidos entre los desarrolladores y los administradores de sistemas (operaciones) del proyecto.

Un año después, durante la Agile Conference 2008 en Toronto, Canadá, Debois tuvo una fértil conversación con Andrew Shafer, fundador de Puppet Labs, sobre ampliar el alcance de las metodologías ágiles también al ámbito de la infraestructura y la administración de sistemas.

Patrick Debois siguió en acción y en 2009 crea DevOpsDays, un evento con el objetivo de aunar desarrollo (dev) y operaciones (ops) que celebró su primera edición en Gante (Bélgica) y que con el apoyo de otros referentes del movimiento DevOpsJohn Willis, Kris Buytaert, Jennifer Davis, Damon Edwards, entre otros- se ha seguido organizando desde entonces en multitud de ciudades del mundo.

A medida que se amplificaba la conversación sobre DevOps (en eventos, conferencias, foros de internet…), iba saliendo a la luz la realidad sobre el modelo de desarrollo de software imperante hasta el momento: equipos aislados y solo preocupados por su parte del proyecto, líneas de comunicación inexistentes, largas jornadas de trabajo, errores sin corregir…  y en definitiva: clientes insatisfechos.

Y así se empezó a expandir la palabra de la “cultura DevOps” entre profesionales y organizaciones conscientes de que en un entorno altamente competitivo, como es el desarrollo de software, no reaccionar ante el statu quo significaba firmar su sentencia de muerte.

Entonces, ¿es DevOps una cultura? No exactamente, pero sí tiene que ver con la cultura de una empresa.

Aclarando el significado de Devops

Como hemos visto, DevOps nació como un nuevo paradigma en contraposición al modelo de desarrollo de software tradicional con el objetivo de mejorar la comunicación y la colaboración entre los diferentes equipos de trabajo y aumentar así su eficiencia.

Se trata de una nueva forma de trabajo, un nuevo enfoque para crear software que hace hincapié en acortar distancias en la relación entre los equipos de desarrollo, sistemas/operaciones y Testing/QA. DevOps se basa por tanto en la idea ágil de que las personas y sus interacciones están por encima de herramientas y procesos.

DevOps integra desarrollo, operaciones y QA
Fuente: Wikipedia

 

Como metodología de desarrollo ágil, DevOps ofrece una serie de técnicas y prácticas de automatización y monitorización de procesos en cada fase del ciclo de vida de un producto digital:

  • Planificación
  • Programación (código)
  • Construcción
  • Pruebas
  • Entrega
  • Despliegue
  • Operación
  • Monitorización

Estas fases no están estrictamente delimitadas como en un ciclo en cascada, sino que DevOps se basa en un flujo iterativo en el que pueden solaparse diferentes procesos.

Esquema de las fases de DevOps
Fuente: Edureka

 

Por eso, el gran reto de practicar DevOps radica en alinear los objetivos de los diversos equipos que trabajan en un mismo proyecto de manera que se genere el caldo de cultivo necesario para poder lanzar aplicaciones confiables de manera rápida y frecuente.

Para conseguirlo, los implicados cuentan con herramientas diversas para la diferentes fases.

 

Herramientas de DevOps por fases del ciclo iterativo
Fuente: Edureka

 

Work it Harder… Our Work is Never Over

Abrazar DevOps supone un esfuerzo para las empresas y requiere un cambio drástico en la cultura, el estilo de gestión (management), la organización y la arquitectura de software”, afirma Kris Buytaert.

“Por lo general, la gerencia no está preparada para realizar esos cambios, por lo que crean un nuevo silo en su organización llamado equipo DevOps, ponen en práctica un pipeline de despliegue semiautomatizado sin pruebas, implementan alguna forma de automatización, pero siguen realizando cambios manuales en la producción”. Es necesario trabajar duro (Work It Harder) para afrontar el cambio organizacional que precisa DevOps, que también exige una mentalidad abierta y preparada para el cambio.

DevOps suele representarse como un ciclo sin fin de fases que se realizan e integran de manera constante en función del feedback recibido. A fin de cuentas, la mejora continua e infinita es el fin último de Devops. Ya lo sentenció Daft Punk al final de su tema: Our Work Is Never Over.

Ciclo DevOps

¿Te pareció interesante? Compártelo:
Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone

Sobre el Autor:

Marketing & Communications Manager en Profile Software Services