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, et l’objectif des opérations est d’améliorer la stabilité du système. DevOps aligne ces disciplines à l’aide d’un cadre de bonnes pratiques éprouvées pour augmenter la vitesse du marché tout en améliorant la stabilité du système.

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

Diagramme montre le cycle DevOps de Plan - Build - Intégration continue - Déployer - Exploiter - Commentaires continus

Une vue DevOps holistique pour les services Microsoft

Après un débat considérable, la collaboration et l’affinement, nous avons convenu de la vue DevOps suivante pour les services Microsoft :

  • Tout d’abord, nous avons identifié quatre piliers qui prennent en charge DevOps, dérivé de People/Process/Product : Culture, Lean Product, Architecture et Technologie.
  • Ensuite, nous avons identifié huit fonctions ou fonctionnalités, qui incluent différentes pratiques au sein de chaque fonction ou entre les fonctions :
    • Planification continue
    • Intégration continue
    • Livraison continue
    • Opérations continues
    • Qualité continue
    • Sécurité continue
    • Collaboration continue
    • Amélioration continue

Qu’est-ce que c’est nouveau ? La continuité de bout en bout. Le processus est un parcours et nécessite un état d’esprit de croissance pour évoluer et améliorer continuellement.

Remarque

Notez que chaque fonctionnalité répertorie des exemples de pratiques ; il ne s’agit pas d’une liste exhaustive.

Fonctionnalités et pratiques DevOps

Voici notre taxonomie DevOps des fonctionnalités et des pratiques qui entrent dans une pratique DevOps de classe mondiale.

Diagramme répertorie des exemples de pratiques pour la planification continue : la stratégie & la planification du portefeuille, la planification des produits Lean, la planification des versions, la planification sprint, la gestion des exigences agiles, la configuration requise de sécurité, la conception d’architecture, la planification de la capacité, la conception d’architecture d’expérience utilisateur, la modélisation des menaces et le mappage de flux de valeur.

Diagramme répertorie des exemples de pratiques pour l’intégration continue : développement piloté par le comportement, développement piloté par les tests, tests anticipés, microservices & développement de conteneurs, SAST, analyse des secrets, couverture unitaire de test/code, pull request GIT, archivage contrôlé, build pipeline - parallèle/série.

Diagramme répertorie des exemples de pratiques pour la livraison continue : pipeline de mise en production, déploiement infrastructure sécurisé, déploiement IaaS, déploiement PaaS, déploiement SaaS, services partagés, infrastructure en tant que code, gestion des modifications, gestion de la configuration, gestion des versions, déploiement local ou cloud, vérification de bout en bout de sécurité/qualité avec automatisation.

Le diagramme répertorie des exemples de pratiques pour les opérations continues : ingénierie de fiabilité des sites (SRE), télémétrie/monitoring, monitoring des performances des applications, basculement automatique avec mise à l’échelle et récupération d’urgence, management des services moderne, accès/application/données sécurisés, conseils en matière de haute disponibilité/sécurité/coût et performances, ChatOps Dev/Ops sécurisé, tests selon l’approche shift-right, gestion des secrets, gouvernance.

Le diagramme répertorie des exemples de pratiques pour la qualité continue : exigences de qualité, test selon l’approche shift-left, gouvernance et normes, automatisation des tests, conformité et audits, tests selon l’approche shift-right.

Diagramme répertorie les exemples de pratiques pour la sécurité continue : architecture de sécurité, gestion des identités et des accès, sécurité des applications, infrastructure sécurisée, opérations sécurisées et opérations sécurisées, gouvernance et conformité.

Diagramme répertorie les exemples de pratiques de collaboration continue : collaboration culturelle, alignement et autonomie, Collaboration Kanban, Collaboration Wiki et Teams, Collaboration ChatOps et Équipe de fonctionnalités et SRE.

Diagramme répertorie les exemples de pratiques d’amélioration continue : temps de prospect et temps de cycle, fréquence de déploiement, temps moyen de restauration, pourcentage d’échec des modifications, commentaires continus, mappage de flux de valeur.

Remarque

Notez que chaque fonctionnalité répertorie des exemples de pratiques ; il ne s’agit pas d’une liste exhaustive.

Avantages devOps

Le rapport d’état de DevOps de 2019 est basé sur la recherche qui fournit la vue la plus complète de l’industrie devOps croissante.

Selon ce rapport, les artistes d’élite :

  • Déployer du code 208 fois plus fréquemment que les performances faibles
  • Avoir un délai de mise en œuvre des changements 106 fois plus rapide du moment de la validation au déploiement que les moins performants
  • Changer les taux d’échec qui sont sept fois inférieurs à ceux des moins performants
  • Restaurer le service 2 604 fois plus rapidement que les faibles performances

Le diagramme représente la comparaison entre les meilleurs performeurs et les mauvais performeurs.

Ces résultats montrent qu’en se concentrant sur les valeurs DevOps, les équipes ne négocient pas la vitesse du marché pour la stabilité. Ils peuvent atteindre les deux en même temps.