DevOps: la palabra de moda

devopsBueno, parece que el concepto de DevOps ha adquirido categoría casi viral. Se habla de él en las redes, y se hace a través de términos relacionados, o de herramientas usadas para llevar a cabo soluciones relacionadas con dicho concepto.

¿Pero qué es esto de DevOps?

Aunque varios conceptos de DevOps son viejos conocidos, se les añadieron algunos nuevos para dar una visión unificada. Ha adquirido especial protagonismo, por la visión de DevOps desde el punto de vista de los programadores. En realidad, la palabra ya incluye la definición. DevOps no es más que Development (Desarrollo) y Operations (Operaciones).

El origen del conflicto…

El concepto, como decía antes, no es nuevo. El objetivo de la “gente de sistemas” (operaciones), es mantener estables los sistemas, y por tanto, establecen controles en el número y forma de los despliegues en producción. Sin embargo, siempre ha existido una corriente opuesta (la de los desarrolladores), de poder tener acceso a producción, de poder desplegar un cambio o un producto con la mayor rapidez posible, y sin todos los controles, validaciones y protocolos que les imponen desde los departamentos de operaciones (recordemos: sistemas).

Ambas corrientes se sienten poseedoras de la razón. Pero como ya ha ocurrido en muchas otras iniciativas…el sentimiento agile habría de venir al rescate para facilitar a los desarrolladores el imponerse sobre la gente de operaciones.

…Y la llegada de la solución

El área de desarrollo apuesta por el cambio, por la facilidad del cambio. Y operaciones…por la estabilidad y el control. Con esto, ya tendríamos la semilla para que aprovechando las tendencias ágiles, la gente de desarrollo se sintiera legitimada para poder imponer su criterio y tener un mayor acceso y control sobre los sistemas de producción. Por otro lado, para apoyar los criterios del personal de operaciones, se usarían diversas técnicas que integraran control y rapidez de puesta en producción: un ejemplo lo tenemos en la adopción de buenas prácticas como ITIL, o los conceptos de Integración Continua.

De esta forma, se adoptarían metodologías ágiles que integrarían por un lado los esfuerzos de los equipos de desarrollo, que dejarían los objetos/código fuente bien probados y convenientemente etiquetados . Por otro, el equipo de operaciones recoge el testigo y se encarga de la puesta en producción del desarrollo/cambio, pero de una manera ágil y al mismo tiempo, segura.

DevOps trata de integrar así los objetivos de las diversas partes en conflicto con términos más o menos novedosos (al menos en su aplicación):

  • Asegurar la calidad de la entrega mediante métricas de calidad de código y pruebas automatizadas. De esta forma, el área de operaciones (ahora parte de “DevOps”), confía en el producto y corre muchos menos riesgos, lo que facilita realizar despliegues prácticamente inmediatamente después de estar el código disponible.
  • Los procesos (apoyados en conceptos como ITIL e integración continua, automatización de pruebas, etc), facilitan la integración Dev+Ops, al trabajar todos en una misma cadena.
  • Automatización: la clave de una puesta rápida en producción es que se realice al máximo a través de herramientas, no de personas. Las validaciones han de ser objetivas al máximo.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s