DevOps
Los departamentos de Desarrollo y Sistemas mantienen, incluso hoy en día, un importante gap funcional y metodológico que llegar a penalizar el buen transcurso de un proyecto. El concepto de “DevOps” es una idea relativamente reciente que pretende sinergizar ambos mundos tradicionalmente separados.
El concepto de DevOps afronta el desafío que radica en la separación entre el ámbito del Desarrollo y el de las Operaciones. Desarrollo entrega nuevas funcionalidades, y bajo la influencia de los métodos ágiles, lo hace cada vez con más rapidez y continuidad.
Operaciones, por su parte, es una función tradicionalmente desempeñado por el Departamento de Sistemas (o similares) donde el objetivo es la estabilidad y un alto control de los servicios productivos. Minimización del riesgo.
En definitiva: Novedad vs Estabilidad. Cambios vs Control.
Adicionalmente la cada vez mayor variedad, complejidad y ubicuidad de los entornos de desarrollo, pruebas, preproducción y producción empieza a requerir que el equipo de Desarrollo esté menos abstraído y más ligado de las cuestiones de despliegue y configuración.
DevOps comprende una colección de métodos y principios para afrontar esta problemática. ¿Cómo podemos conseguirlo? Veamos algunas ideas al respecto:
Plantear procedimientos conjuntos de despliegue, donde estén integrados todos los departamentos implicados.
Desarrollo continuo y realimentación participada por el equipo de Operaciones.
Pruebas conjuntas, especialmente pruebas de integración y pruebas no funcionales.
Establecer canales de comunicación definidos y correctos para los diferentes equipos.
Ciclos cortos de correcciones... ¡y perder el miedo a las entregas continuas!
Todas estas ideas, y muchas más, vienen de la mano de las tendencias Agile y Lean, y tiene importantes lazos con la Gestión del Cambio.
DevOps no es una metodología: es una filosofía de trabajo, un cambio de mentalidad para los equipos de organización tradicional, cuya adopción puede reportar interesantes ventajas a la organización:
Reducción de los tiempos de despliegue de nuevos servicios.
Mejor comprensión de los entornos de producción (y sus restricciones) por parte de los desarrolladores.
Mayor visibilidad de los cuellos de botella en las puestas en producción.
Importantes referencias del sector, como IBM o HP, utilizan ya DevOps desarrollar y entregar sus productos y servicios. ¿Por qué no probarlo en nuestra organización?
David Menéndez Cisterna