DevOps es una metodología de trabajo ágil en el desarrollo de software que busca integrar los procesos de desarrollo (Dev) y operaciones de TI (Ops) para crear y desplegar aplicaciones de manera más rápida, eficiente y confiable.
- Colaboración.
- Automatización.
- Integración continua y entrega continua (CD/CI).
- Infraestructura como código (IaC).
- Monitoreo y feedback continuo.
El desarrollo de operaciones debe eliminar la barrera entre los departamentos de una empresa para agilizar los procesos y volverlos iterativos en el desarrollo de software.
- Despliegue rápido.
- Calidad mejorada.
- Escalabilidad.
- Reducción de costos.
DevOps combina herramientas, cultura y un conjunto de buenas prácticas, por lo que se requiere un cambio de mentalidad en el desarrollo y operación del software. Es una responsabilidad compartida entre departamentos.
Uno de los objetivos más importantes en DevOps es generar equipos de trabajo autónomos.
- Hacer pruebas rápidas y pequeñas para detectar errores pronto y no al final del proyecto con mucho desarrollo ya hecho para tener tiempo de corregir y volver a probar o desplegar.
- Además de integrar el desarrollo y las operaciones de TI, se considera la seguridad de los sistemas, tanto software como hardware, por lo que es también popular el término "DevSecOps".