Los rápidos cambios de los mercados, la creciente globalización y la competencia general entre empresas obligan a las corporaciones a disponer de una agilidad orientada al cambio muy superior a la actual. DevOps introduce factores aceleradores que permiten acortar tiempos y mejorar las respuestas a los cambios. El desarrollo rápido y eficiente de software, así como el tratamiento de la infraestructura como si fuera código, son algunas de las claves de esta agilidad.
Uno de los principales problemas de las compañías es que los equipos de TI no trabajan de manera coordinada, tal y como lo hacen los equipos de Fórmula 1 cuando un coche entra en boxes a lo largo de una carrera. Los equipos de TI trabajan en serie en lugar de hacerlo en paralelo. Primero se desarrolla el código, luego se prueba y, por último, el área de operaciones es la que se encarga de realizar el despliegue y monitorizarlo. Todos estos equipos tienen objetivos diferentes, lo cual hace que se produzcan retrasos e ineficiencias en el proceso global.
Desarrollo, operaciones y calidad
DevOps es una forma diferente de hacer las cosas frente al pensamiento tradicional. Su meta es conseguir la alineación entre negocio y TI. Para ello se fundamenta en los siguientes pilares: acción centrada en el cliente, mentalidad basada en el objetivo y equipos multidisplinares (desarrollo, operaciones, QA, seguridad, comunicaciones…). Los objetivos que se persiguen garantizar la responsabilidad extremo a extremo, la mejora continua y, finalmente, automatizar todo lo que sea posible.
La transformación de la “forma tradicional” a una cultura empresarial DevOps es un desafío importante, debido a las fricciones existentes entre los equipos de desarrollo y el resto de los equipos TI. Aplicar DevOps no implica que el desarrollador haga las tareas del de sistemas o que el de sistemas se ocupe de las ocupaciones propias de desarrollo.
DevOps hace trabajar de forma conjunta a los equipos de desarrollo, operaciones y calidad, para mejorar la colaboración y productividad mediante la integración de los procesos, la automatización de flujos y la medida continua del rendimiento. Pero DevOps no se rige por un marco estándar de prácticas, sino que permite una interpretación mucho más flexible dependiendo de la estructura y las circunstancias de las compañías. Hay que tener en cuenta que la implantación de DevOps conlleva un fuerte cambio cultural en las empresas. Esta es la razón por la que no son muchas las que están adaptando este nuevo modelo de trabajo.
DevOps es una forma diferente de hacer las cosas frente al pensamiento tradicional
Selección de herramientas
Además de la transformación cultural, que implica a personas y procesos, DevOps conlleva también una adaptación tecnológica, por lo que la selección de las herramientas es clave para asegurar la continuidad en la integración y en la entrega de los productos y servicios TI. Desde soluciones comerciales a alternativas open source o plataformas hechas a medida, cada organización debe establecer la estrategia de herramientas que más se adecúe a sus arquitecturas y tecnologías, así como a su presupuesto.
Las herramientas nos van a ayudar a cubrir otro aspecto fundamental para obtener la agilidad deseada, facilitando la automatización y gestión de todas las tareas del ciclo de vida de los servicios de negocio. De hecho, automatización es, probablemente, una de las palabras más importantes en el mundo del TI en la actualidad. Eso sí, la automatización debe hacerse con control, conociendo los pasos por donde pasan nuestros procesos y sabiendo cómo reaccionar en el caso de que aparezca un fallo.
Un buen punto para comenzar en este camino priorizar las tareas que se vayan a automatizar, de manera que se eviten aquellas cuyo coste sea muy superior al beneficio que se pueda obtener de ellas.
Data center definido por software
Desde la perspectiva de los sistemas, y tratando la infraestructura como código, podemos lograr lo que se conoce como data center definido por software, que está basado en la automatización del aprovisionamiento y la gestión, operación e integración de todos los componentes de un centro de datos. Esto se consigue a través del scripting, se minimizan así los errores y el time-to-market mientras se posibilita, además, una reducción de los costes.
En un data center definido por software, el despliegue de aplicaciones se puede hacer en pocos minutos, se incrementan los niveles de utilización de la infraestructura y la productividad del personal, lo que reduce sustancialmente los gastos operacionales y de capital. Además, se garantiza el control de la disponibilidad, la seguridad y el cumplimiento normativo adecuados para cada aplicación por medio de la continuidad del negocio automatizada.
