Definición de DevOps
DevOps es un término relativamente nuevo para describir lo que
también ha sido llamado como “administración ágil de sistemas” y también
el trabajo y colaboración en conjunto de los equipos de operaciones y
de desarrollo.
Puedes pensar en DevOps como la participación efectiva de los
administradores de sistemas en el proceso de desarrollo de
aplicaciones, utilizando las mismas técnicas ágiles que usan los
desarrolladores.
Para este propósito “DevOps” no diferencia entre las diferentes
sub-disciplinas de la administración de sistemas. Bajo el alero de “Ops”
se ubican ingenieros, administradores de sistema, personal de
operaciones, entre varios otros.
DevOps significa un montón de cosas diferentes para diferentes
personas porque el “desarrollo ágil” en si mismo cubre un terreno
bastante amplio. Algunas personas dirán que DevOps es “la colaboración
de los departamentos de desarrollo y operaciones”, o que es “tratar tu
código como infraestructura”, o “usar automatización”, o “usar kanban”, o
una variedad de términos similares que se relacionan de una u otra
forma.
La mejor forma de definir su significado en profundidad es comparándolo con la definición de desarrollo ágil, que según Wikipedia y el manifiesto ágil, se resumen en tres puntos:
- Principios Ágiles - son los valores principales del movimiento, como: colaboración, personas antes que procesos, software antes que documentación y la disposición al cambio antes que la sobre planificación.
- Métodos Ágiles - procesos específicos para implementar los principios ágiles. Iteraciones, Lean, Programación Extrema (XP), Scrum. En resumen, todo lo contrario al “Desarrollo en Cascada”.
- Prácticas Ágiles - técnicas usadas a menudo con el desarrollo ágil, pero que no son requisitos. Como puede ser el Test Driven Development (TDD), Integración continua (CI), etc.
- Principios DevOps - Como debemos pensar diferentes sobre operaciones. Ejemplos incluyen la colaboración entre administradores y desarrolladores, “infraestructura como código”, etc.
- Métodos DevOps - Procesos que se usan para realizar operaciones ágiles, como iteraciones, lean/kanban, reuniones de 5 minutos, etc.
- Prácticas DevOps - Técnicas y herramientas específicas usadas como parte de la implementación de los procesos, como herramientas de automatización (Puppet, Cheft), continuous deployment, sistemas de monitoreo (Nagios, Zabbix), y cualquier aplicación que tengas en tu “caja de herramientas”.
Si nos guiamos por esta conclusión, de que DevOps consiste en traer
las prácticas del desarrollo ágil a la administración de sistema y el
trabajo en conjunto entre desarrolladores y administradores de sistemas,
vemos que DevOps no es una descripción de cargo o el uso de
herramientas, sino un método de trabajo enfocado a los resultados.
DevOps es un término que está sonando fuerte, prueba de ello es la fuerte demanda de Ingenieros DevOps, pero no te dejes engañar, tal cosa no existe. Lo que si existe es tu experiencia y tu disposición a trabajar en equipo usando múltiples sombreros para sacar adelante los desafíos.
Publicar un comentario