Hoy en día a cualquier término que represente una idea rompedora se le transforma en una «tendencia» que se usa hasta la saciedad, esto es lo que le ha ocurrido al término «DevOps» . Surgido en el ámbito de una conferencia de Agile en 2008 , venía a resolver una problemática que había estado presente desde los comienzos del desarrollo del software y que con el movimiento Agile representaba un escollo, que no es más que la falta de entendimiento entre los distintos equipos.
DevOps es una filosofía o una forma de hacer las cosas diferente, una cultura que debe construirse dentro de la empresa para facilitar los 12 principios de Agile, y al mismo tiempo es una conjunto de herramientas y técnicas que empleadas adecuadamente facilitan y ponen en marcha los engranajes que implementan un nuevo ciclo de vida.
Los 7 aspectos fundamentales que garantizan el éxito de la cultura DevOps son:
- Definición de la infraestructura como código. Es importante que cualquier implementación se gestione de la misma forma, y la infraestructura debe seguir el mismo patrón , esto implica que le podamos aplicar calidad y que podamos reproducir la construcción de la misma cuantas veces necesitemos.
- Gestión de la configuración de forma independiente. Es importante que los aspectos que definen una instancia de nuestra aplicación estén gestionados de forma independiente del código.
- Integración continua. Se refiere a la capacidad de enlazar el resultado de cada fase con la siguiente y poder tomar decisiones en cada interfaz.
- Gestiona de versiones. Este aspecto es muy importante si no queremos
- Automatización. De todo, pero especialmente de las pruebas tanto de la infraestructura como del código de la aplicación.
- Despliegue automático y continuo ( Continuous Delivery ). Disponer de los mecanismos para empujar nuestros cambios a producción y retirarlos cuando ya no sean necesarios es un aspecto fundamental.
- Monitorización de todos los aspectos fundamentales de la aplicación. En especial del rendimiento y de los aspectos no funcionales.
TL;DR
A modo de resumen podemos decir sobre DevOps lo siguiente:
- Es una cultura que es consecuencia de aplicar metodología ágil en los procesos de desarrollo de software.
- Se basa en al colaboración e integración entre los equipos implicados en el desarrollo del software y su mantenimiento. Es decir , desarrolladores, administradores, equipo de calidad y de seguridad.
- El resultado de aplicar esta cultura merece la pena tanto por la parte de la empresa como por el resultado, al desarrollar código de forma más eficiente.