Le cycle de vie DevOps (parfois appelé “pipeline de distribution continue”) est un ensemble de processus de développement itératifs et automatisés, visant à optimiser la distribution rapide de logiciels de haute qualité. Ces processus sont exécutés dans le cadre d’un cycle de développement plus large et automatisé. Le nom et le nombre de flux peuvent varier selon les personnes, mais ils se résument généralement à six éléments essentiels.
Planification : donner vie aux idées
Dans ce flux, les équipes définissent les nouvelles fonctionnalités de la prochaine version, en s’appuyant sur les commentaires des utilisateurs finaux, les études de cas prioritaires et les contributions de toutes les parties prenantes internes. L’objectif est d’optimiser la valeur métier du produit en générant un backlog des fonctions en attente qui permettront d’obtenir le résultat recherché.
Développement : l’art de coder
Il s’agit de l’étape de programmation, au cours de laquelle les développeurs testent, codent et construisent de nouvelles fonctionnalités. Ils utilisent les histoires d’utilisateurs et les éléments de travail du backlog. Des pratiques comme le développement piloté par test, la programmation par paires et les évaluations de code par des homologues sont courantes.
Intégration : fusionner et tester
Dans ce flux, le nouveau code est intégré dans le code existant, puis testé et packagé pour être déployé. Les activités d’automatisation incluent la fusion des changements de code, la vérification à partir d’un référentiel de code source, ainsi que la compilation, le test unitaire et le conditionnement dans un exécutable.
Déploiement : faire vivre les fonctionnalités
Le résultat de l’intégration est déployé dans un environnement d’exécution, généralement un environnement de développement où des tests sont exécutés pour garantir la qualité, la conformité et la sécurité. Les erreurs peuvent être détectées et corrigées avant que les utilisateurs finaux ne les remarquent. Différents environnements sont utilisés pour le développement, le test et la production.
Opérations : gérer les fonctionnalités en production
Une fois les fonctionnalités en production, les opérations du “jour 2” interviennent. L’équipe de gestion s’assure que les fonctionnalités s’exécutent sans problème et qu’il n’y a pas d’interruption de service. Elle surveille la performance, le comportement, la disponibilité et s’assure que tous les aspects de l’infrastructure sont en ordre.
Apprentissage : la clé de l’amélioration continue
Il s’agit de collecter les commentaires des utilisateurs finaux et des clients pour apporter des améliorations à l’édition suivante et créer de nouvelles fonctionnalités. L’équipe prend également en compte les activités précédentes pour éviter les incidents futurs.
Trois autres flux de travail importants se produisent entre ces étapes :
Tests continus : identifier les risques et les vulnérabilités
Des éléments de test peuvent intervenir à différentes étapes du cycle de développement, de la planification à l’apprentissage. Les tests permettent d’identifier les risques et les vulnérabilités, donnant aux services informatiques la possibilité de les accepter, de les atténuer ou de les corriger.
Sécurité : intégrer la sécurité dès le début
Le DevOps s’efforce d’intégrer la sécurité dès le début du cycle de développement. Cette approche, connue sous le nom de “déplacement vers la gauche”, permet de résoudre les problèmes de sécurité dès leur apparition – lorsque cela est le plus facile et le moins coûteux.
Conformité : traiter les exigences réglementaires
Il est préférable de traiter la conformité réglementaire (gouvernance et risque) dès le début du cycle de développement. Les industries réglementées doivent fournir un certain niveau d’observabilité, de traçabilité et d’accès aux fonctions livrées et gérées dans leur environnement opérationnel. Cette conformité nécessite la planification, le développement, le test et l’application des règles dans le pipeline de distribution continue et l’environnement d’exécution.
Maintenant que vous avez une compréhension approfondie du cycle de vie DevOps et de ses flux de travail, vous pouvez tirer parti de ces connaissances pour optimiser la distribution de logiciels de haute qualité.