Alcanzar el éxito deseado mediante una nueva y prometedora metodología de trabajo no es tarea sencilla.
Cuando los equipos de TI han trabajado bajo una misma dinámica por un largo tiempo es difícil adoptar una nueva forma de proceder, sin importar que pueda ser de gran ayuda, como es el caso de DevOps. Incluso, es posible que algunos equipos de tecnología aún se pregunten si realmente vale la pena migrar su estrategia tradicional a DevOps. “¿Por qué sería necesario probar algo diferente?”, quizá se cuestionen.
En este sentido, en 2018 se crearon dos informes que tienen por finalidad identificar los rasgos que hacen exitoso a un equipo DevOps y separarlos de aquellas cuestiones que pueden detener una buena transformación tecnológica. El primero es State of DevOps Report de Puppet y Splunk, el otro es DevOps Research and Assesment (DORA).
¿Qué califican estos estudios para determinar si una acción es benéfica?
En primera instancia y hablando de números, el estudio DORA determinó que cada vez se hace más grande la brecha que existe entre las compañías que tienen un equipo DevOps funcional y las que no. En comparación con quienes tienen un rendimiento más bajo, podemos decir que las empresas denominadas como élite cuentan con:
- 46 veces más despliegues de código.
- Tiempos de entrega desde que se establece un compromiso hasta el despliegue 2,555 veces más rápido.
- Tasa de falla de cambio 7 veces menor.
- Tiempo para recobrarse de los incidentes 2,604 veces más rápido.
Probablemente estés pensando “esta brecha sí que es grande“ y, en efecto lo es, por ese motivo estos estudios pretenden que las compañías tomen conciencia de que sus iniciativas DevOps pueden marcar una gran diferencia de la forma en la que hacen despliegues que van desde 1 a 6 meses de entrega, sin mencionar el tiempo que toma detectar alguna anomalía que puede ser hasta de 6 meses.
Antes de explicar algunas buenas prácticas para los equipos DevOps, es necesario señalar que más que la tecnología es importante considerar a las personas que están trabajando en esta área. Ya que tanto la gente como su cultura son piezas clave para alcanzar los mejores resultados con DevOps.
1. Ser capaz de autogestionar su estrategia de monitoreo
Un rasgo importante cuando se trata de un equipo DevOps debe ser mantenerse al tanto de cómo configurar su propia estrategia, tanto para monitorear así como para administrar sus alertas y los servicios que manejan.
Lo anterior se debe a que los equipos capacitados que ejecutan aplicaciones y servicios en producción pueden responder a la interrogante de cómo es un buen servicio. Además, podrán determinar cuando no esté funcionando correctamente y definir de qué forma sabrán cuando algo esté fallando. Entender sobre estrategias de monitoreo no corresponde únicamente a los anteriores equipos Ops o a los actuales DevOps, sino que debe ser una tarea de todos los equipos que trabajen en TI.
A las ventajas ya mencionadas se suma el hecho de que es indispensable para los equipos DevOps contar con una mayor responsabilidad respecto a cómo opera su aplicación, ya que de esta forma podrán obtener retroalimentación ininterrumpida que facilite la rendición de cuentas. Por otra parte, en un paso previo, es posible definir KPI’s conjuntas para poder tener equipos basados en datos.
Los beneficios de este enfoque son cuantificables, de modo que podemos decir, de acuerdo al estudio de Puppet, que el 47% de las compañías que tienen equipos de élite DevOps son capaces de definir su propia estrategia de monitoreo para sus aplicaciones y servicios en producción, en comparación con el 2% de las compañías que no cuentan con estos equipos.
2. Monitoreo y observabilidad son claves para las entregas constantes
Monitorear es una parte fundamental en los modelos de entrega continua que forma parte de las métricas clave de los equipos DevOps. Algunos estudios de DORA señalan que las aplicaciones que se monitorean de forma proactiva, así como las infraestructuras, utilizan toda esta información para tomar decisiones de negocio, las cuales se relacionan con el rendimiento de la entrega de software.
En cuanto a las iniciativas para la entrega continua dentro de una organización, podemos decir que una solución integral de monitoreo y observación contribuye positivamente. Por otra parte, el estudio también concluyó que la automatización de pruebas o pruebas continuas contribuyeron al éxito en los modelos de entrega continua dentro de muchas organizaciones.
3. Contar con una infraestructura de nube correcta impulsará el éxito de DevOps
En tiempos donde la arquitectura de microservicios y los contenedores son cada vez más populares, resulta primordial contar con una infraestructura de nube adecuada. De esta forma, las organizaciones que prestaron atención a las cinco características primordiales de la nube (autoservicio a pedido, acceso amplio a la red, agrupación de recursos, elasticidad rápida y servicio medido) tenían 23 veces más posibilidades de estar en el grupo élite.
Probablemente ahora estés pensando “Bingo, mi empresa cuenta con infraestructura en la nube“. Sin embargo, cabe mencionar que no es suficiente con estar en la nube, hace falta adoptar las prácticas correctas que nos permitirán ingresar a las compañías élite y, todavía más importante, que garantizarán mejores procesos con nuestros equipos de TI.
Como hemos podido ver, hacer una transición con los equipos de TI no resulta tarea sencilla, ya que se trata de modificar muchos procesos y de cambiar toda una cultura al mismo tiempo. Sin embargo, siempre es bueno comenzar por dar un primer paso y hacer un listado de qué necesito y cómo voy a llegar al equipo DevOps de ensueño, para lo cual algunos de estos consejos pueden ser de mucha ayuda.