DevOps – Desarrollo, Operaciones y mucho m√°s

DevOps – Desarrollo, Operaciones y mucho m√°s

Es uno de los t√©rminos m√°s mencionados actualmente en el mundo del desarrollo de software. DevOps es desarrollo, Operaciones y mucho m√°s. Se asocia especialmente a metodolog√≠as de desarrollo √°gil como ‚ÄúContinuous Delivery‚ÄĚ y a modelos de transformaci√≥n digital.

Origen del término DevOps

Se tiene entendido que la primera vez que se utiliz√≥ p√ļblicamente el t√©rmino DevOps fue en el a√Īo 2008. Estar√≠amos hablando de la conferencia AGILE 2008 llevada a cabo en la capital canadiense de Toronto.

El concepto de DevOps surgió de una discusión entre Andrew Clay y Patrick Debois. Estaban preocupados por los inconvenientes de la metodología Agile en aquel momento y querían idear algo mejor. La idea comenzó a difundirse lentamente y, tras el evento DevOpsDays celebrado en Bélgica en 2009, se convirtió en lo que en términos anglosajones se llama una Buzzword o palabra de moda.

A partir de entonces, el t√©rmino DevOps ha sido impulsado constantemente y se ha adoptado generalmente a trav√©s de los devopsdays‚Äč que, aunque comenzaron en B√©lgica y ya se han extendido a otros pa√≠ses. ‚Äč

La amplia proliferaci√≥n de este t√©rmino DevOps hace que se utilice en m√ļltiples contextos diferentes.

El concepto DevOps. Desarrollo y Operaciones

DevOps (acr√≥nimo ingl√©s de development -desarrollo- y operations -operaciones-)

Como término general, se refiere a una metodología de desarrollo de software que se centra en la comunicación, colaboración e integración entre desarrolladores de software y los profesionales de sistemas en las tecnologías de la información (IT).

Es decir, integra el conjunto de pr√°cticas que combina las operaciones de TI (Ops) y el desarrollo de software (Dev).

Su objetivo es acortar el ciclo de vida del desarrollo de sistemas y proporcionar una entrega continua con software de alta calidad.

DevOps es complementario con el desarrollo de software ágil de hecho varios aspectos del término DevOps provienen de la metodología Agile.

File:Devops-toolchain.svg

Las principales caracter√≠sticas de DevOps son la automatizaci√≥n y el control monitorizado en todos los pasos del dise√Īo y desarrollo de software, incluyendo la integraci√≥n, las pruebas, la administraci√≥n de la infraestructura y la liberaci√≥n hasta la implementaci√≥n.

DevOps incide en ciclos más cortos, pero con mayor frecuencia de implementación. Está muy enfocado a empresas con entregas (releases) muy frecuentes.

Posiblemente la primera implementaci√≥n DevOps m√°s destacable de desarrollo web fue la de Flickr, que dise√Ī√≥ una metodolog√≠a DevOps de llevar a cabo el requisito de negocio de diez despliegues diarios. Un claro ejemplo de lo que se conoce como entrega continua (continuous delivery).

Etapas en los ciclos de desarrollo continuo

  1. Desarrollo

El desarrollo del software es continuo. Todo el desarrollo se divide en ciclos m√°s peque√Īos y frecuentes. El equipo DevOps acelera el proceso de entrega.

  1. Prueba

El equipo de QA identifica y corrige errores del nuevo código en cada ciclo.

  1. Integración

Las nuevas funcionalidades se integran con las existentes y se realizan las pruebas continuas.

  1. Despliegue

En esta etapa, las funcionalidades ya probadas se implementan de manera forma continua. Los cambios no deben afectar al funcionamiento en producción.

  1. Monitoreo

En esta fase, El equipo de operación realiza un seguimiento exhaustivo y monitoriza el comportamiento en producción en busca de cualquier tipo de problemas o errores.

  • DevOps proviene de la metodolog√≠a √°gil para el desarrollo de software.
  • DevOps se basa en integrar desarrollo y operaciones . Los equipos Dev y Ops.
  • Posibilita la automatizaci√≥n y el control monitorizado en todos los pasos
  • Facilita desarrollar software m√°s r√°pido, a menor coste y mayor frecuencia de entregas.

¬ŅDevOps es una nueva profesi√≥n?

DevOps no consiste en expandir la actuación de los desarrolladores de software y el alcance de su responsabilidad en los despliegues. Se trata de que el equipo de desarrollo esté muy centrado en desarrollar eliminando el trabajo y las preocupaciones de la puesta en producción y el resto de trabajo se realice también de forma ágil.

Para un perfil de desarrollador formar parte de un equipo DevOps puede resultar relativamente sencillo ya que frecuentemente las responsabilidades del despliegue han reca√≠do en los desarrolladores. Por el contrario, un administrador de sistemas necesita nuevas habilidades para el mismo fin ya que no ha sido habitual que realice esas labores. Estas habilidades, seg√ļn una investigaci√≥n de Puppet Labs, son scripting, don de gentes, reingenier√≠a de procesos, y en √ļltimo lugar experiencia con herramientas espec√≠ficas.

Estamos hablando de un perfil que no es fácil de encontrar por la rápida proliferación de nuevas y complejas técnicas y herramientas y su complejidad en la integración en equipos de trabajo.

Dicho esto, podríamos identificar el término DevOps con ciertas aptitudes en las técnicas para la metodología de desarrollo ágil. Y sí, hablamos de aptitudes y no de una profesión o una titulación en si pero es muy frecuente encontrar este concepto en el mercado de trabajo relacionado con puestos específicos, titulaciones o formaciones que tienen mucho tirón, así que posiblemente sea cuestión de tiempo ir viendo cómo prolifera el mundo DevOps.

Deja una respuesta