Hace un tiempo que vengo metido en el tema de la filosofía DevOps, y es inevitable toparme con concepciones erróneas al respecto:
- Perfil DevOps = IT Pro con nuevos skills
- Objetivo DevOps = Automatización y Despliegue continuo
- DevOps = Agilismo para IT Pros
Esto me quedo en evidencia cuando en una charla, a la que asistí hace pocas semanas, el orador compartió su experiencia en una gran implementación DevOps, donde si bien incluyo en la charla el tema de los conflictos usuales entre Dev y Ops(*), a la hora de aterrizar el tema no hizo el énfasis de que DevOps es búsqueda de sinergias, o sea… personas sobre procesos, eso si, explico un buen pipeline de Entrega Continua y lo que habían conseguido, pero me quede con el regusto de que fue algo como top down (una decisión enteramente planificada desde gerencia) y no partir de mejorar las formas de trabajar.
Este hecho me hizo recordar los tiempos en cuando preparaba mi sesión «El reto del DevOps ágil«, donde a pesar del titulo dejaba abierta la pregunta sobre si DevOps era algo que iba mas allá del agilismo, y no lo pude ver claramente, lo reconozco, pero si partimos del hecho de que DevOps debe entenderse como una conversación de tres etapas en la que las personas se ponen de acuerdo sobre los procesos para finalmente decidir sobre las herramientas a usar, queda claro que el Manifiesto ágil en su principio de «Individuos e interacciones sobre procesos y herramientas» cobra mas fuerza que nunca.
Entonces no es que no haya una definición en si de DevOps, sino que probablemente no te sientas cómodo con el paquete completo o no entendiste The Phoenix Project, así que antes de aceptar algunas definiciones pase un buen tiempo, quedándome con estas:
- «DevOps es la búsqueda de la sinergia derivada de Desarrolladores trabajando con IT Pros y demás personal de Operaciones»
Andrew Binstock (Dr. Dobb’s) - «Unión de personas, procesos, y productos que facilitan la entrega continua de valor a nuestros usuarios finales»
Donovan Brown (Microsoft)
Así pues regresamos a la casilla de arranque, debiéndonos quedar claro el punto de partida de toda transformación DevOps debe partir por las personas, el buscar una sinergia tal vez inexistente de momento, pero imprescindible para el logro de los objetivos de la organización, con este punto de partida los procesos para entregar valor llegaran a su debido momento… pero claro, a veces estamos acostumbrados a empezar la casa por el tejado.
Update (14/11/2016)
Justo hoy recibí una publicidad para un curso de Implementación DevOps, el temario es el siguiente:
- Control de Código Orientado a DevOps
- Integración Continua en la Nube
- Infraestructura como Código
- Soluciones de Entrega Continua
- Monitoreo y Supervisión
- Contenerización de Aplicaciones
- Pruebas de IU Automatizadas
Como se puede ver, enfoque técnico casi al 100%, pero de integración de equipos, búsqueda de objetivos y generación de sinergias.. mas bien poco… o por lo menos una introducción a la problemática que deriva en la necesidad de DevOps… pero no.
(*) Gracias a la traducción de unas laminas que hice de Microsoft Virtual Academy.