Saltar al contenido

Que es un DevOps y por qué está de moda

10 septiembre 2020
| Bloque de Anuncios |

DevOps es un término para un grupo de conceptos que, aunque no todos son nuevos, han catalizado un movimiento y se están extendiendo rápidamente en la comunidad IT. Como cualquier término nuevo y popular, la gente puede tener impresiones confusas y a veces contradictorias de lo que es. Aquí está mi opinión sobre cómo se puede definir útilmente DevOps; propongo esta definición como un marco estándar para discutir más claramente las diversas áreas que abarca DevOps. Como «Calidad» o «agilidad», DevOps es un concepto lo suficientemente amplio que requiere algún matiz para entenderlo completamente.

Qué es un DevOps

DevOps es un nuevo término que surge de la colisión de dos grandes tendencias relacionadas. La primera se denominó también «infraestructura ágil» u «operaciones ágiles»; surgió de la aplicación de los enfoques Agile y Lean al trabajo de las operaciones. La segunda es una comprensión mucho más amplia del valor de la colaboración entre el personal de desarrollo y el de operaciones a lo largo de todas las etapas del ciclo de vida del desarrollo cuando se crea y opera un servicio, y de la importancia que han adquirido las operaciones en nuestro mundo cada vez más orientado a los servicios.

DevOps es «una comunidad de práctica interdisciplinaria dedicada al estudio de la construcción, la evolución y la operación de sistemas desde el punto de vista de la infraestructura y su relación con la plataforma o proyecto».

Jez Humble

A mi me gusta definir el perfil DevOps como la práctica de los ingenieros de operaciones y desarrollo que realizan juntos en todo el ciclo de vida del servicio, desde el diseño hasta el apoyo a la producción, pasando por el proceso de desarrollo. Un DevOps también se caracteriza por que el personal de operaciones utiliza muchas de las mismas técnicas que los desarrolladores para el trabajo de sus sistemas.

Esas técnicas pueden ir desde el uso del control de la fuente hasta la realización de pruebas o la participación en un proceso de desarrollo ágil.

| Bloque de Anuncios |

Con este fin, «DevOps» no distingue entre las distintas subdisciplinas de los administradores de sistemas; «Ops» es un término general para los ingenieros de sistemas, los administradores de sistemas, el personal de operaciones, los ingenieros de lanzamiento, los administradores de bases de datos, los ingenieros de redes, los profesionales de la seguridad y otras subdisciplinas y cargos. «Dev» se utiliza como abreviatura para los desarrolladores en particular, pero en la práctica es aún más amplio y significa «todas las personas involucradas en el desarrollo del producto», que puede incluir Producto, Control de Calidad y otros tipos de disciplinas.

DevOps tiene fuertes afinidades con los enfoques Agile y Lean. La antigua visión de las operaciones tendía a que el lado de «Dev» fuera el «fabricante» y el lado de «Ops» fuera la «gente que se ocupa de la creación después de su nacimiento» – la comprensión del daño que se ha hecho en la industria de estos dos siendo tratados como preocupaciones de silo es el motor principal detrás de DevOps. De esta manera, DevOps puede ser interpretado como una consecuencia de Agile – el desarrollo de software ágil prescribe una estrecha colaboración de los clientes, la gestión de productos, los desarrolladores y (a veces) el control de calidad para llenar los vacíos y rápidamente iterar hacia un mejor producto – DevOps dice «sí, pero la prestación de servicios y la forma en que la aplicación y los sistemas interactúan son una parte fundamental de la propuesta de valor para el cliente también, y por lo tanto el equipo de producto necesita incluir esas preocupaciones como un elemento de primer nivel». Desde esta perspectiva, DevOps simplemente está extendiendo los principios de Agile más allá de los límites del «código» a todo el servicio entregado.

Historia del DevOps

La génesis de DevOps proviene de una creciente necesidad de innovación en el lado de los sistemas del trabajo tecnológico. El movimiento DevOps hereda del movimiento de la Administración de Sistemas Ágiles y del movimiento de la Administración de Sistemas Empresariales (ESM).

ESM, que surgió a mediados de los años 2000, proporcionó el ímpetu original de «Oye, nuestra metodología de ejecutar sistemas parece estar todavía en un estado bastante primitivo a pesar de los años de esfuerzo. Empecemos a hablar de hacerlo mejor». John Willis, Whurley, y Mark Hinkle de Zenoss estuvieron involucrados en eso, y patrocinaron un BarCamp alrededor del concepto. Creo que durante esta fase, el encanto inicial con ITIL como marco de gobierno fue en gran medida derrocado por el enfoque de operaciones visibles de «ITIL Lite», así como un cambio de ser centrado en los «grandes proveedores» – solía ser, los marcos empresariales como HP, IBM y CA eran las únicas soluciones significativas para la gestión de sistemas de extremo a extremo, pero más código abierto y cosas de proveedores más pequeños estaba saliendo, incluyendo Spiceworks, Hyperic, Zenoss, y otros.

También en 2008, O’Reilly celebró la primera conferencia Velocity, centrada en el rendimiento y las operaciones de la Web, que proporcionó un lugar para el intercambio de información sobre las mejores prácticas de las operaciones. En 2009 hubo algunas presentaciones importantes sobre la colaboración entre desarrolladores y operaciones en grandes tiendas (sobre todo en Flickr) y sobre la forma en que ello promovía un cambio seguro y rápido en los entornos de la web. Las herramientas de aprovisionamiento como Puppet y Chef tuvieron fuertes presentaciones allí. Más gente comenzó a pensar en estos nuevos conceptos y a preguntarse cómo podrían implementarlos.

De forma paralela, a medida que el crecimiento del desarrollo ágil en el espacio de desarrollo alcanzaba su punto más febril y pasaba del nicho a la práctica común, esto se convirtió en pensar en la «Administración de Sistemas Ágiles» especialmente en Europa. Gordon Banner del Reino Unido habló de ello desde el principio con esta presentación. Gran parte de este movimiento se centró en el proceso y en las analogías de los procesos de kanban y de fabricación ajustada a la administración de sistemas de TI. Luego, en 2009, Patrick Debois de Bélgica y Andrew «Clay» Shafer de los EE.UU. se reunieron y comenzaron a hablar (y acuñaron el término) de DevOps, y luego Patrick celebró el primer evento de DevOpsDays en Gante que encendió la mecha. El concepto, ahora que tenía un nombre, comenzó a ser hablado más en otros lugares y se extendio como la pólvora.

En opinión de Patrick Debois, DevOps surgió como una reacción contra los silos y la inflexibilidad que resultaban de las prácticas existentes, lo que probablemente suena familiar. Aquí hay una buena pieza de John Willis sobre la historia del movimiento DevOps que deconstruye los hilos que se unieron para crearlo.

DevOps surgió de una «tormenta perfecta» de estas cosas que se unieron. La creciente automatización y el enfoque de la cadena de herramientas alimentada por más buenas herramientas de monitoreo y aprovisionamiento, la necesidad de procesos ágiles y la colaboración de dev/ops junto con el fracaso de grandes/pesadas implementaciones de ITSM/ITIL – colisionaron e inconscientemente unieron las tres capas de lo que se necesita para el movimiento ágil (principios, procesos y prácticas) y se incendiaron. Desde entonces se ha desarrollado aún más, sobre todo por la inclusión de los principios de Lean por parte de muchos de los líderes de pensamiento.

| Bloque de Anuncios |