virtualización devops

Artículo

Virtualización de Servicios como habilitador DevOps

Metodología de desarrollo de software

En artículos anteriores exploramos el concepto de virtualización de servicios, funcionamiento y la alternativa en cuanto a herramientas disponibles en el mercado. En este artículo explicaremos cómo la virtualización de servicios habilita la implementación de metodologías DevOps.

Un requisito fundamental de DevOps es que el equipo de desarrollo se involucre continuamente con el equipo de operaciones a lo largo del ciclo de vida del software. DevOps amplía el concepto ágil de utilizar equipos multifuncionales al incorporar a los equipos de operaciones en fases más tempranas del ciclo de vida de la entrega. Básicamente DevOps puede considerarse como una extensión del desarrollo ágil.

Las metodologías ágiles se encargan de capturar las ideas de negocio hasta el final del ciclo de desarrollo de software.

Deloitte

DevOps incluye las fases de operaciones dentro del propio ciclo:

Deloitte

Entre las ventajas de la adopción DevOps cabe destacar las siguientes:

  • Los equipos de desarrollo y operaciones se involucran continuamente a lo largo del ciclo de vida de la entrega de software.
  • Favorece procesos más iterativos
  • Permite iteraciones rápidas a través de las que se pueden detectar errores - cuanto antes ocurran, antes se podrá aprender de ellos lo que supone una reducción del coste del desarrollo.
  • Incorpora un sistema continuo proporcionando un feedback regular.

Virtualización de servicios y DevOps

Las iteraciones propias de DevOps provocan que los procesos se realicen de manera continua, promoviendo la entrega continua, testing continuo y despliegue continuo. Es precisamente en la fase de testing continuo en la que la virtualización de servicios puede habilitar a la metodología de DevOps ya que proporciona un entorno de testing ininterrumpido. La virtualización de servicios no puede sustituir las pruebas de aceptación de usuarios pero si permite acelerar y habilitar todas las fases de testing anteriores a las pruebas de usuario.

Integrando la virtualización de servicios en el ciclo DevOps se puede observar claramente las fases en la que puede habilitar la operativa:

Deloitte

Nos puede aportar numerosas ventajas a dichas fases DevOps:

  • Definición de escenarios de pruebas automatizadas con variedad de protocolos y tipos de mensajes utilizados en las API: Bases de datos, Mensajes REST, JSON, colas JMS, etc.
  • Datos de prueba para validaciones y configuraciones, valores de pruebas capturados con los servicios reales o bien datos de retorno aleatorios.
  • Revisión de flujos de mensajes a través de la arquitectura sin necesidad de datos reales.
  • Detección temprana de errores de integración
  • Alta disponibilidad de pruebas para desarrollados y testers eliminando servicios que supongan un cuello de botellas para las mismas.

Con el grado de adopción de metodologías agile y DevOps en el panorama actual, resulta muy interesante explorar la virtualización de servicios ya que es un habilitador para la adopción adecuada de dichas metodologías maximizando el beneficio que aportan dichas metodologías.

Juan Palacios

Juan es especialista en arquitectura de aplicaciones empresariales, especialmente: web SOA, gestión de proyectos. comunicación con clientes, procesos de negocio BPM, gestión de equipos y gestión de aplicaciones y análisis de requisitos. También ha participado en dos procesos de certificaciones de calidad CMMI 3 (SCAMPI A). Es Ingeniero Técnico de Telecomunicaciones por la Escuela Politécnica de Cáceres (Universidad de Extremadura).