Découvrir DevOps

Effectué

DevOps est la conjugaison de personnes, de processus et de produits qui permettent de fournir en continu de la valeur à nos utilisateurs finaux.

En règle générale, l’objectif du développement est de fournir plus de fonctionnalités plus rapidement tandis que l’objectif des opérations est d’améliorer la stabilité du système. DevOps fait coïncider ces disciplines en utilisant un cadre de bonnes pratiques éprouvées permettant d’accélérer la commercialisation tout en améliorant la stabilité du système.

Pour Microsoft, DevOps englobe l’intégralité du cycle de vie de la livraison des logiciels, depuis l’idée jusqu’aux applications exécutées en production.

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

Une vision holistique de DevOps pour les services Microsoft

Après de nombreux débats, collaborations et ajustements, nous nous sommes mis d’accord sur la vision suivante de DevOps pour les services Microsoft :

  • Tout d’abord, nous avons identifié les quatre piliers qui soutiennent DevOps, tous dérivés des personnes/processus/produits : la culture, le produit au plus juste, l’architecture et la technologie.
  • Ensuite, nous avons identifié huit fonctions, ou fonctionnalités, qui incluent diverses pratiques au sein de chaque fonction ou dans plusieurs :
    • Planification continue
    • Intégration continue
    • Livraison continue
    • Opérations continues
    • Qualité continue
    • Sécurité continue
    • Collaboration continue
    • Amélioration continue

Quelles sont les nouveautés ? La continuité de bout en bout. Le processus est un chemin qui a besoin d’une volonté de croissance pour évoluer et s’améliorer en continu.

Notes

Notez que chaque fonctionnalité liste des exemples de pratiques et que la liste n’est pas exhaustive.

Fonctionnalités et pratiques DevOps

Voici notre taxonomie DevOps des fonctionnalités et pratiques qui s’intègrent dans une pratique DevOps internationale.

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.

Remarque

Notez que chaque fonctionnalité liste des exemples de pratiques et que la liste n’est pas exhaustive.

Avantages de DevOps

Le livre blanc « 2019 State of DevOps Report » s’appuie sur les recherches qui donnent l’aperçu le plus complet de l’industrie DevOps actuellement en plein essor.

Selon ce rapport, les équipes d’élite/très performantes se distinguent des façons suivantes :

  • Elles déploient du code 208 fois plus souvent que les équipes peu performantes.
  • Leur délai de modification est 106 fois plus rapide entre un commit et un déploiement que celui des équipes peu performantes.
  • Leurs taux d’échec de modification est sept fois moins élevé que celui des équipes peu performantes.
  • Elles restaurent le service 2 604 fois plus vite que les équipes peu performantes.

Diagram shows how elite performers compare to low performers.

Ces résultats montrent qu’en se concentrant sur les valeurs de DevOps, les équipes ne sacrifient pas la vitesse de commercialisation sur l’autel de la stabilité. Elles parviennent à optimiser les deux en même temps.