Temps de lecture : 1 Minutes

Livraison continue : Qui doit être impliqué ?

Keerthika
Lead Marketing Strategist

An INFJ personality wielding brevity in speech and writing.

La livraison continue est la capacité de déployer rapidement, en toute sécurité et de manière cohérente différents types de changements aux logiciels chaque fois que cela est nécessaire. L’équipes adeptes de la livraison continue possèdes les capacitéy d’introduire des mises à jour logicielles et des modifications dans la production avec un risque minimal, même pendant les heures de travail normales, sans affecter les utilisateurs finaux.

Principes de livraison continue

Cinq principes sont au cœur de la
livraison continue
:

  • Qualité de construction en
  • Travaillez par petits lots
  • Les ordinateurs effectuent des tâches répétitives, les personnes résolvent des problèmes.
  • Poursuivre sans relâche l’amélioration continue
  • Chacun est responsable

Il est facile de se perdre dans les détails de la mise en œuvre de la livraison continue (outils, architecture, pratiques, politique). Si vous vous sentez perdu, essayez de revoir ces principes et vous verrez peut-être qu’ils vous aideront à vous recentrer sur ce qui est important.

La livraison continue repose sur trois piliers : l’intégration continue, la gestion complète de la configuration et les tests continus.

Quels sont donc les processus en jeu ? qui doit contribuer à la livraison continue ? Quelles sont leurs responsabilités ? Nous le verrons dans cet article de blog.

L’équipe du CD de base

Au cœur d’un processus de livraison continue réussi se trouve une équipe de base dédiée à sa mise en œuvre. En règle générale, cette équipe comprend:

Ingénieurs DevOps

Les ingénieurs DevOps sont les architectes de votre pipeline CD. Ils sont spécialisés dans l’automatisation et la rationalisation du processus de livraison de logiciels. Leurs responsabilités sont les suivantes :

  • Construire et maintenir des pipelines de déploiement.
  • Gestion de l’infrastructure en tant que code (IaC).
  • Assurer des déploiements de code rapides et sans heurts.

Par exemple, dans l’entreprise X, une équipe d’ingénieurs DevOps utilise des outils tels que Jenkins et Docker pour automatiser les déploiements, ce qui permet aux développeurs de se concentrer sur le codage sans se préoccuper des complexités du déploiement.

Responsables de la mise en production

Les responsables de la mise en production jouent un rôle essentiel dans la coordination et la supervision du processus de mise en production. Leurs tâches sont les suivantes :

  • Veiller à ce que les mises en circulation soient conformes aux objectifs et aux calendriers de l’organisation.
  • Coordonner les activités entre les équipes de développement et les équipes opérationnelles.
  • Gérer les plans de retour en arrière en cas de problèmes au cours du déploiement.
  • Les Release Managers sont essentiels pour maintenir l’équilibre entre la rapidité et la stabilité pendant le CD.

Équipe d’assurance qualité

L’équipe d’assurance qualité est le gardien de la qualité des logiciels. Leurs contributions à la CD sont notamment les suivantes

  • Créer et maintenir des suites de tests automatisés.
  • Exécution de tests à différents stades du pipeline CD.
  • Identifier et signaler les défauts dès le début du processus de développement.

Les développeurs et leur rôle

Les développeurs sont l’épine dorsale de tout projet logiciel. Dans un environnement de CD, leur rôle va au-delà de l’écriture de code :

CD centré sur le développeur

Les développeurs participent activement au déploiement et aux aspects opérationnels de leur code. Cette évolution vers une culture DevOps permet aux développeurs de :

  • Écrivez un code facile à déployer et à maintenir.
  • Assumer la responsabilité de leur code en production.
  • Collaborer étroitement avec les équipes opérationnelles.

GitHub est un exemple éclatant de l’implication des développeurs dans le CD. Les développeurs utilisent les actions GitHub pour automatiser les flux de travail, en intégrant de manière transparente leurs modifications de code dans le pipeline CD.

Parties prenantes et propriétaires de produits

L’implication des parties prenantes, y compris les propriétaires de produits et les équipes commerciales, est souvent sous-estimée dans les CD :

Au-delà du développement

Les parties prenantes apportent une perspective unique au processus de DC. Leurs rôles sont les suivants :

  • Définir les exigences et les priorités du projet.
  • Veiller à ce que le CD s’aligne sur les objectifs de l’entreprise.
  • Fournir un retour d’information crucial pour façonner le produit.

Chez Startup Z, le Product Owner participe activement au processus de CD, en utilisant des outils comme JIRA pour prioriser les histoires d’utilisateurs et fournir du feedback, en s’assurant que le pipeline de CD apporte de la valeur aux clients.

L’importance des tests continus

Les tests continus sont le fondement du CD :

L’épine dorsale des tests

Les ingénieurs AQ créent et maintiennent des suites de tests automatisés qui :

  • Exécution à différents stades de la chaîne de production de CD.
  • Veiller à ce que les modifications du code respectent les normes de qualité.
  • Détectez les défauts dès le début du processus de développement.

Google est un excellent exemple d’organisation qui s’appuie fortement sur les tests continus pour maintenir la qualité et la fiabilité de ses produits tout au long de la chaîne de production.

Le diagramme suivant montre les types de tests automatisés et manuels à effectuer

Le diagramme suivant montre un exemple de pipeline de déploiement linéaire simple. Dans cet exemple, le vert signifie qu’aucun problème n’a été détecté et le rouge qu’un ou plusieurs problèmes ont été découverts.

Retour d’information et suivi continus

Les boucles de rétroaction continue sont l’élément vital du CD :

Les boucles de rétroaction permettent aux équipes de

  • Obtenez des informations sur les environnements de production.
  • Tirez des enseignements du comportement des clients et des indicateurs de performance.
  • Prendre des décisions fondées sur des données afin d’améliorer les processus de la CD.

Amazon Web Services (AWS) propose une série d’outils de surveillance et d’observabilité, tels qu’Amazon CloudWatch, qui aident les équipes à collecter des données en temps réel et à prendre des décisions éclairées.

Sécurité et conformité

La sécurité n’est pas négociable dans les CD :

La sécurité comme priorité

L’intégration de la sécurité dans le pipeline de CD est cruciale pour :

  • Identifier et atténuer les vulnérabilités à un stade précoce.
  • Veiller au respect des réglementations et des meilleures pratiques du secteur.

Netflix, connu pour ses pratiques robustes en matière de CD, intègre des contrôles de sécurité dans son pipeline à l’aide d’outils tels que Netflix Security Monkey.

En résumé,
La recherche DORA
a constaté que les capacités techniques suivantes déterminent la capacité à réaliser une livraison continue. Le leadership transformationnel au sein de l’organisation favorise également la mise en œuvre d’un grand nombre de ces capacités techniques.

Pour aider votre équipe à obtenir un meilleur rendement et des versions moins risquées, mettez en œuvre les pratiques de livraison continue suivantes :

Ce qui précède est une citation d’un article sur la technologie DevOps. (Google cloud, “DevOps tech : Continuous delivery“, https://cloud.google.com/architecture/devops/devops-tech-continuous-delivery)

Défis et considérations

Lors de la mise en œuvre de la CD, les organisations doivent relever des défis communs :

Transformation culturelle

Les considérations culturelles sont primordiales :

  • Acceptez le changement et une culture d’amélioration continue.
  • Tirez les leçons des échecs et adaptez-vous.
  • Favoriser une communication ouverte et la collaboration entre les équipes.

Dernières pensées

Si la livraison continue est souvent associée à l’intégration continue et abrégée en CI/CD, la recherche montre que l’intégration continue n’est qu’un élément de la mise en œuvre de la livraison continue.

Pour obtenir des versions fiables et peu risquées, il faut une collaboration étroite entre toutes les personnes impliquées dans le processus de livraison des logiciels, et pas seulement entre les développeurs, et votre équipe doit adopter de nouvelles méthodes de travail et acquérir de nouvelles compétences.

Leave A Comment