DevOps: una forma diferente de hacer las cosas

Marisa Moreno Crespo, división de Plataformas Digitales de Informática El Corte Inglés, analiza cómo DevOps responde a las necesidades de agilidad del negocio.

Publicado el 25 Sep 2018

42467_97

Aunque existe una gran controversia acerca de lo que el término DevOps significa, lo cierto es que sí se encuentran coincidencias en todos aquellos casos en que se ha adoptado con éxito. La primera gran coincidencia está en el objetivo, que no es otro que responder con agilidad a las necesidades del negocio. Para ello, en todos los casos las organizaciones se han tenido que enfrentar a un gran cambio que afecta significativamente tanto a los procesos como a las tecnologías y al equipo humano de las empresas.

MARISA MORENO CRESPO. División de Plataformas Digitales de Informática El Corte Inglés
MARISA MORENO CRESPO. División de Plataformas Digitales de Informática El Corte Inglés

Otro denominador común es que todas ellas han implantado metodologías ágiles, procedimientos que permiten a los equipos trabajar de una manera coordinada, aportan una mayor agilidad a los proyectos y notables incrementos de la productividad, y promueven la innovación continua aprovechando los avances tecnológicos, para alcanzar los requisitos de agilidad, excelencia operativa, robustez, seguridad, escalabilidad y fiabilidad.

Hoy en día no existe una metodología específica y perfectamente contrastada para la implantación de DevOps como si de una varita mágica se tratase. El camino que hay que seguir para conseguir los beneficios no es trivial: los cambios deben discutirse y considerarse en toda la organización -y no solo dentro de la división de TI- y se debe poner el foco en las necesidades de negocio, la madurez empresarial, los recursos, las tecnologías, las arquitecturas, los procesos, las operaciones y la seguridad.

En la pretensión de aportar agilidad y calidad en la respuesta a las necesidades de negocio, muchas empresas se orientan inicialmente hacia la optimización de los procesos de desarrollo, pruebas, despliegue, resolución de bugs, paso a producción, monitorización… Esta optimización puede culminar con la automatización de los procesos del ciclo de vida del software, así como las del aprovisionamiento automático.

Con esto se consigue el alineamiento entre desarrollo, calidad y operaciones, eliminar errores humanos, aumento de la calidad, y en general, casi todos los beneficios que ofrece la implantación de DevOps. Pero si negocio persigue agilidad y escalabilidad, es necesario optimizar también la arquitectura de las aplicaciones.

Escalabilidad y desarrollo rápido

Si se parte de aplicaciones de negocio con una arquitectura de software ‘monolítica’, la automatización de todos los procesos que interactúan con ella a lo largo del ciclo de vida del software seguramente surta de más agilidad a nuestro negocio. Pero si solo se modifican los procesos de alrededor, se seguirán encontrando cuellos de botella en el momento del despliegue de software o conflictos de código que hacen que se planteen otras alternativas.

Una forma diferente de hacer las cosas DevOps es una cultura de aprendizaje, comunicación, colaboración, mejora continua y un enfoque ágil en desarrollo, en calidad y operaciones?

La arquitectura monolítica tradicional no cumple con las necesidades de escalabilidad y desarrollo rápido; por eso, la evolución se está dirigiendo al uso de las arquitecturas basadas en microservicios (MSA), combinadas en algunas ocasiones con servicios cloud, solucionando así cómo construir aplicaciones altamente escalables y de manera ágil.

No son pocos los que ven en esta combinación de MSA y cloud computing el futuro de las arquitecturas TI y piensan que son piezas fundamentales para la transformación digital de las empresas. Se puede apreciar claramente esta tendencia tanto en startups, las cuales persiguen adaptarse rápidamente al mercado, como en grandes compañías, en las que se busca optimizar al máximo los recursos y autoescalar en función de las necesidades de sus clientes.

La gestión de estas nuevas arquitecturas es complicada debido a que cada microservicio tiene ciclo de vida propio y una aplicación puede estar formada por varios microservicios. En estos casos, haber adquirido una buena madurez de DevOps se hace imprescindible para poder tratar -de manera orquestada y automatizada- todos los procesos involucrados. Para facilitar esta gestión han surgido las PaaS, plataformas que facilitan las tareas de automatización del ciclo de vida, configuración, despliegue y escalado de software para que los equipos se centren únicamente en las aplicaciones y los datos, que es lo que realmente aporta valor al negocio.

¿Qué te ha parecido este artículo?

La tua opinione è importante per noi!

Redacción

Artículos relacionados

Artículo 1 de 3