Metodología  tecnológica

Artículo

DevOps una metodología que trabaja en el desarrollo de software ágiles 

Con despliegue automático y continuo

¿Qué es DevOps?

DevOps es una palabra que en los últimos años se ha incorporado a nuestro día a día tecnológico, se oye mucho en las grandes empresas del sector e incluso en las ofertas laborales, pero ¿qué es realmente DevOps?

El termino DevOps aparece por primera vez en la conferencia Agile'08 de Toronto (Canadá), al año siguiente ya se celebra la primera conferencia de DevOps o “DevOps Days” en Gante (Bélgica), en 2013 se celebró una de estas conferencias en Barcelona y está previsto que en 2020 se celebre en Madrid, aunque aún está por determinar.

Es importante aclarar en un primer momento que DevOps no es una tecnología, sino una metodología y que está ligada a las metodologías de desarrollo de software ágiles. Con esta metodología no solo se cambian los métodos de gestión del ciclo de desarrollo de software a nivel tecnológico, sino también a nivel cultural. Los equipos de desarrollo, sistemas e incluso QA, comienzan a colaborar y trabajar conjuntamente para cubrir todo el ciclo de desarrollo del software de manera que los procesos son mucho más ágiles y seguros y de esta manera también garantizan un producto final de mucha más calidad y fiabilidad. Todo esto se consigue incorporando herramientas que permiten automatizar el máximo posible todas las tareas y permite trabajar en equipo consiguiendo al final una alta frecuencia entre releases y aumentando la calidad de sus productos.

¿Por qué DevOps?

Antes, los equipos trabajaban de manera aislada, por lo que el diseño, la implementación, las pruebas y los despliegues se realizaban de manera aislada, todo esto sumado a la necesidad de la intervención humana constante durante todo los procesos de despliegues y los posibles errores derivados de ellos, repercutían en el tiempo de entrega de los proyectos. Con esta nueva metodología colaborativa se reduce considerablemente todos los tiempos, además, la automatización de tareas repetitivas también simplifica los procesos y nos lleva como comentábamos anteriormente a un escenario en el que se obtiene un producto final de mayor calidad y fiabilidad. Y como consecuencia de todo lo anterior también reducimos el tiempo de mantenimiento en producción.

En la actualidad vemos que las empresas que tienen un departamento de DevOps o de TI de alto rendimiento, tienen una mayor probabilidad de exceder sus objetivos de rentabilidad, producción y participación de mercado. Por lo que podemos decir que las empresas que apuestan por DevOps obtendrán una ventaja competitiva frente a sus competidores.

 

Claves de DevOps

Existen 7 claves o puntos fundamentales dentro de DevOps que garantizan el éxito de todo lo que hemos expuesto hasta ahora:

  • Gestión de la configuración, mediante creación de plantillas, por ejemplo, para desplegar diferentes entornos espejo de producción.
  • Gestión de despliegues y/o versiones estables de nuestro producto dentro de nuestros entornos antes del paso a producción.
  • Integración continua.
  • Despliegue automático y continuo.
  • Infraestructura como código para permitir despliegues automatizados y gestionar escalados.
  • Automatización de pruebas.
  • Monitorización del rendimiento para mejorar el flujo.

Ideas principales sobre DevOps

En última instancia, me gustaría mostrarles la imagen que siempre se asocia a DevOps, y que creo que explica muy bien todo lo que he contado hasta ahora, ya que muestra los puntos principales que comentaba anteriormente, e identifica el trabajo y el por qué es tan importante la colaboración entre los equipos de desarrollo y sistemas para que todo esto realmente funcione:

Gráfico DevOps

Para concluir quiero trata de darles 3 ideas principales que deben recordar la próxima vez que oigan hablar de DevOps:

  • DevOps es una metodología ágil para creación de software.
  • Es fundamentalmente la integración y colaboración directa entre desarrolladores y administradores de sistemas.
  • Permite fabricar software de mayor calidad, a menor coste, y de manera más rápida que con las metodologías tradicionales.

Continuaremos abordando este tema, focalizando en las soluciones que los grandes players del mercado, Microsoft, Google o Amazon, ofrecen en este ámbito.

Conoce a nuestro experto

David Martínez

David Martínez es un jefe de equipo con un amplio conocimiento en los siguientes campos:

  • Consultor de SharePoint: administración de las tecnologías de SharePoint Server 2010 y 2013, diseño de la arquitectura de acuerdo con la topología, edición de webparts, webparts, incidencias de correlación de ids, implantación de la arquitectura en las granjas, administración y análisis de pruebas de rendimiento, optimización de Entornos, resolución de fallos de seguridad.
  • Administración del sistema Wintel: administración de los sistemas operativos, resolución de incidentes y optimización de los entornos como técnico de nivel 3. Además del análisis, documentación del entorno y el desarrollo de una arquitectura en HA y DR de las soluciones. La capacitación técnica que tiene es Ingeniería Técnica en Informática de Sistemas por la Universidad de San Antonio de Murcia.