DevOps es la combinación de filosofías culturales, prácticas técnicas y herramientas que fomenta la integración, la colaboración, la comunicación y la automatización entre las operaciones tecnológicas y los equipos de desarrollo de software con el fin de mejorar la calidad y la velocidad de la entrega del software.
El objetivo común de DevOps es eliminar las fricciones, los riesgos y otros obstáculos para permitir una puesta en marcha de procesos de producción de aplicaciones más exitosa y con la frecuencia y la rapidez que requiere la empresa.
La mayoría de las empresas que implementan métodos DevOps siguen contando hoy en día con un equipo de desarrollo y un equipo de operaciones. Podríamos considerar DevOps como los procesos e individuos que construyen puentes entre estos equipos para mejorar el negocio y optimizar la experiencia del cliente final. Varias herramientas y plataformas facilitan el trabajo de DevOps, pero no lo definen.
DevOps surgió de la práctica y la propagación del desarrollo de software Agile. Dado que la metodología de Agile acelera el proceso de desarrollo y la velocidad de producción, era necesario modificar la estructura de los equipos de proyecto para adaptarse a esta nueva realidad. A medida que se arraigaba la cultura de Agile, se hizo evidente que el hecho de tener los equipos de desarrollo de software y de operaciones de TI trabajando por separado era contraproducente e ineficiente.
Las prácticas de DevOps automatizan los procesos de implementación y crean una retroalimentación más rápida para mejorar la eficiencia, la previsibilidad, la sostenibilidad y la seguridad. Incorpora a los desarrolladores al entorno de producción, les da una visión más profunda de la infraestructura y les hace participar más en la gestión del ciclo de vida de las aplicaciones.
Como todas las culturas de trabajo, DevOps se adopta y aplica de diferentes maneras de una organización a otra. Sin embargo, determinadas funciones son comunes en casi todas las implementaciones de DevOps. ¿Cuáles son las características clave de DevOps?
En lugar de que los equipos de operaciones y desarrollo asuman una postura defensiva o combativa cuando se enfrentan entre sí, se esfuerzan por colaborar. Los conflictos y la rivalidad entre estos equipos son uno de los principales catalizadores para la creación de DevOps.
DevOps está orientado a facilitar la rápida entrega de un proyecto de desarrollo de Agile. Por lo tanto, depende enormemente de la automatización. Esto significa una dependencia de múltiples herramientas que automatizan el ciclo de desarrollo e implementación de las aplicaciones.
La integración continua es una técnica para fusionar continuamente el código de software de todos los desarrolladores de un proyecto en una línea principal compartida. Esto asegura que la copia del proyecto en el que cada desarrollador se encuentre trabajando sea prácticamente la misma. Al hacer que los desarrolladores integren su trabajo en la línea principal al menos diariamente, la cultura de DevOps reduce la probabilidad de conflictos de fusión problemáticos más adelante.
Un fallo del software sale caro. El lanzamiento de una aplicación que arruine la experiencia del usuario existente o que introduzca nuevos riesgos sería contraproducente. Las pruebas continuas aseguran el equilibrio correcto entre la calidad del software y la rapidez de implementación.
En DevOps, la prueba del software no es algo que se deje en mandos de una persona o departamento. Más bien, es responsabilidad de todos. Los desarrolladores diseñan la calidad en el código y luego utilizan los datos de las pruebas. Los equipos de control de calidad y de operaciones, a su vez, configuran los casos de prueba y el entorno de la prueba.
Dado que los ensayos deben ejecutarse rápidamente para no quedar rezagados con respecto a los nuevos cambios que se aplican en el desarrollo, el proceso de pruebas debe automatizarse en la medida de lo posible.
La entrega continua significa que los cambios en el código de la aplicación se preparan automáticamente para su implementación en el entorno real. Todos los cambios de código se implementan en un entorno de prueba antes de que se apliquen finalmente a la producción.
El equipo de DevOps siempre tiene una versión lista con la que se ha realizado con éxito el proceso de prueba estandarizado y automatizado para su implementación. La frecuencia de lanzamiento de versiones variará dependiendo de los objetivos, la prioridad y la urgencia. Puede ser tan frecuente como varias versiones por día o tan poco frecuente como una versión por mes o por trimestre.
Dada la velocidad y el número de versiones, es imprescindible disponer de una solución que proporcione una supervisión continua que permita una respuesta más rápida y mejor a las cambiantes necesidades de los clientes.
La supervisión continua permite al equipo de DevOps hacer un seguimiento del rendimiento del software y mejorar su estabilidad. Los problemas se identifican rápidamente y se investigan preventivamente sus causas originarias para evitar las interrupciones y el tiempo de inactividad.
La supervisión comienza en el momento de desarrollo del lanzamiento de la versión. Los mismos instrumentos de supervisión que se aplican en el entorno real pueden aprovecharse en el desarrollo para detectar los problemas antes de que lleguen a la producción.
Las organizaciones que adoptan DevOps pueden tener todos los recursos de TI en un centro de datos tradicional, en una nube fuera de la empresa o distribuir sus recursos en un entorno híbrido.
El movimiento DevOps no está definido ni dirigido por los proveedores tradicionales de software, hardware o gestión de TI. Además, actualmente no hay reglas codificadas ni manuales para DevOps, solo directrices generalmente aceptadas. Dicho esto, la adopción e implementación de DevOps varía en gran medida de una organización a otra.
Las formaciones en DevOps están principalmente evangelizadas por una apasionada comunidad de informáticos de base procedentes de una amplia variedad de disciplinas de TI. La mayoría de miembros de la comunidad DevOps tienen trabajos activos en varias organizaciones y comparten sus conocimientos en línea y en fórums y encuentros presenciales. Dependiendo del número y la madurez de los profesionales informáticos de una organización, los beneficios de una implementación DevOps pueden ser significativos, e incluyen:
Micro Focus le permite escalar las prácticas de DevOps a través de la TI híbrida, automatizando y organizando los procesos de entrega continua desde el mainframe al móvil, y aportando una perspectiva práctica para entregar de forma segura un software de alta calidad y un servicio más rápido.
Micro Focus ayuda a sus clientes a escalar las prácticas de DevOps a través de entornos tradicionales y de TI híbridos. Enterprise DevOps permite ofrecer innovación mediante la transformación y ampliación de sus actuales entornos informáticos, con calidad y seguridad integradas, en cada fase del camino.
El enfoque de Micro Focus parte del conocimiento de la actual posición en su viaje de Enterprise DevOps. A continuación, brindamos orientación sobre cómo escalar sus prácticas de DevOps y le ayudamos a integrar su cadena de herramientas desde el mainframe hasta el móvil. Consideramos que es imprescindible pensar a lo grande y empezar por lo pequeño. Observar el sistema de forma holística, saber distinguir dónde se hallan las limitaciones y volver a moverlas una por una. Somos el único proveedor que ofrece una solución completa e integrada para la gestión del ciclo de vida de las aplicaciones que se ha creado para cualquier metodología, tecnología y modelo de entrega.