Descripción de DevOps

Completado

DevOps es la unión de personas, procesos y productos que permite ofrecer valor de forma continua a nuestros usuarios finales.

Normalmente, el objetivo del desarrollo es ofrecer más características más rápido, mientras que el objetivo de las operaciones es conseguir una mejor estabilidad del sistema. DevOps alinea estas disciplinas mediante un marco de procedimientos recomendados cuya eficacia a la hora de aumentar la velocidad de comercialización y de mejorar la estabilidad del sistema se ha demostrado.

En Microsoft, DevOps abarca todo el ciclo de vida de entrega del software, desde la idea hasta la ejecución de las aplicaciones en producción.

Diagram shows the DevOps cycle of Plan - Build - Continuous Integration - Deploy - Operate - Continuous Feedback

Una vista holística de DevOps para los servicios de Microsoft

Después de mucho debate, colaboración y perfeccionamiento, se ha acordado la siguiente vista de DevOps para los servicios de Microsoft:

  • En primer lugar se han identificado cuatro pilares que respaldan DevOps y que se derivan de personas, procesos y productos: cultura, producto ajustado, arquitectura y tecnología.
  • Luego se han identificado ocho funciones o capacidades que incluyen distintos procedimientos en cada función o entre funciones:
    • Planeación continua
    • Integración continua
    • Entrega continua
    • Operaciones continuas
    • Calidad continua
    • Seguridad continua
    • Colaboración continua
    • Mejora continua

Novedades Todo continuo. El proceso es un recorrido y exige una mentalidad de crecimiento para evolucionar y mejorar de forma continua.

Nota:

Observe que en cada capacidad se muestran procedimientos de ejemplo; no es una lista exhaustiva.

Capacidades y procedimientos de DevOps

Esta es la taxonomía de DevOps de capacidades y procedimientos involucrados en un procedimiento de DevOps de primera clase.

Diagram lists example practices for Continuous Planning: Strategy & portfolio planning, Lean product planning, Release planning, Sprint planning, Agile requirement management, Security requirement, Architecture design, Capacity planning, UX architecture design, Threat modeling, and Value stream mapping.

Diagram lists example practices for Continuous Integration: Behavior-driven development, Test-driven development, Shift-left testing, Microservices & container development, SAST, Secrets scanning, Unit test/code coverage, GIT pull request, Gated check-in, Build pipeline - parallel/serial.

Diagram lists example practices for Continuous Delivery: Release pipeline, Secure infra deployment, IaaS deployment, PaaS deployment, SaaS deployment, Shared services, Infrastructure-as-code, Change management, Configuration management, Release management, On-premises or cloud deployment, Security/quality end-to-end check with automation.

Diagram lists example practices for Continuous Operations: Site Reliability Engineering (SRE), Telemetry/monitoring, Application performance monitoring, Auto failover & scaling & DR, Modern Service Management, Secure access/app/data, High availability/security/cost and performance advisory, Secure Dev/Ops ChatOps, Shift-right testing, Secrets management, Governance.

Diagram lists example practices for Continuous Quality: Quality Requirements, Shift-lest testing, Governance and standards, Test automation, Compliance and Audits, and Shift-right testing.

Diagram lists example practices for Continuous Security: Security architecture, Identity and access management, Application security, Secure infrastructure, Secure data and Secure Operations, Governance and Compliance.

Diagram lists example practices for Continuous Collaboration: Culture collaboration, alignment and autonomy, Kanban collaboration, Wiki and Teams collaboration, ChatOps collaboration, and Feature team and SRE.

Diagram lists example practices for Continuous Improvement: Lead time and cycle time, Deployment frequency, Mean time to restore, Change fail percentage, Continuous feedback, Value stream mapping.

Nota:

Observe que en cada capacidad se muestran procedimientos de ejemplo; no es una lista exhaustiva.

Ventajas de DevOps

El informe de estado de DevOps de 2019 se basa en investigaciones que proporcionan la vista más completa del creciente sector de DevOps.

Según este informe, los equipos de alto rendimiento:

  • Implementan código 208 veces más frecuentemente que los de bajo rendimiento
  • Tienen un plazo de cambio 106 veces más rápido de la confirmación a la implementación que los de bajo rendimiento
  • Tienen tasas de errores de cambio siete veces mejores que los de bajo rendimiento
  • Restauran el servicio 2604 veces más rápido que los de bajo rendimiento

Diagram shows how elite performers compare to low performers.

Estos resultados muestran que al centrarse en los valores de DevOps, los equipos no cambian velocidad de comercialización por estabilidad. Pueden lograr ambos a la vez.