Les sept phases du cycle de vie DevOps
Le cycle de vie DevOps est divisé en sept phases différentes de développement continu, afin de guider le processus de développement de versions logicielles du début à la fin. Pour comprendre DevOps, il est important de connaître chaque phase du cycle de vie, ainsi que les processus et les conditions de ces dernières.

Développement et livraison continus
Le développement de logiciels démarre par la planification et le codage. Dans DevOps, cela se fait par le biais du processus de livraison régulière dans le but d'une amélioration constante.
Grâce à la création à partir des valeurs Agile, DevOps encourage les publications régulières et fréquentes de versions logicielles. La méthode standard pour y parvenir consiste à automatiser l'intégration et le déploiement du code, un processus appelé intégration continue/déploiement continu (CI/CD).
Tout au long du développement, que ce soit en préproduction ou en postproduction, les équipes exploitent les commentaires pour identifier les problèmes et proposer des solutions lors de la planification.
Après la phase de planification du cycle de vie DevOps, le code source et la création de ressources commencent, avec pour objectif de faire avancer la production. Quel que soit le langage de codage utilisé, la maintenance de la base de code à l'aide d'outils de gestion des codes sources est une priorité.
Intégration continue
L'intégration continue (CI) est une pratique de développement qui oblige les développeurs à intégrer du code dans un dépôt partagé, plusieurs fois par jour. Chaque validation ou branche est ensuite vérifié(e) par une compilation automatisée, ce qui permet aux équipes de détecter les problèmes dès le début, afin de s'assurer que la branche de code principale est toujours viable et prête pour la production.
L'intégration continue est conçue pour prendre en charge plusieurs petits changements itératifs plutôt qu'un petit nombre gros changements. Elle aide les équipes à s'adapter grâce à des flux de production automatisés pour les compilations de code, les tests, les fusions et l'enregistrement dans les dépôts partagés.
L'objectif ultime de l'intégration continue est de fournir un meilleur code, plus rapidement. Grâce à des changements plus petits et plus fréquents associés à l'automatisation, les équipes peuvent trouver et résoudre les bugs plus rapidement, afin de réduire le temps consacré à la validation et à la publication de nouvelles mises à jour.
Tests continus
Les tests continus vont de pair avec l'intégration continue. Les pipelines d'intégration et de déploiement continus dépendent de tests automatisés plutôt que de la validation manuelle du code. Cela permet de veiller à la qualité de ce qui a été déployé et d'éviter des erreurs majeures avant la publication.
DevOps repose sur l'élimination d'un maximum de processus manuels. Plus il y a de processus manuels fastidieux, plus il y a une perte de temps et plus les chances de faire des erreurs sont élevées. L'objectif des tests continus des outils DevOps n'est pas seulement de découvrir des bugs, mais également de les trouver le plus rapidement possible, afin qu'ils n'aient pas besoin d'être résolus en phase de production via un patch ou un correctif, ce qui augmenterait le niveau de complexité et la perte de temps.
Des tests automatisés sont mis en place avant la publication de la compilation et également avant la production. Les équipes peuvent insérer une révision manuelle comme étape finale avant la production et une fois que les tests automatisés sont terminés.
Surveillance continue
Une surveillance continue garantit que le cycle de vie DevOps est bien géré, dans le but final de proposer une expérience utilisateur exceptionnelle. Les mises à jour logicielles et leur utilisation sont suivies de près, grâce aux informations recueillies pour garantir la bonne exécution des versions logicielles.
Lors de la phase de surveillance continue, les équipes cherchent à détecter et résoudre au plus vite les erreurs système. Le suivi automatisé des erreurs est ici crucial. Les automatisations peuvent également fournir une visibilité dans d'autres domaines, tels que les performances logicielles globales, le comportement des utilisateurs, la stabilité de l'infrastructure de développement, etc.
En plus de superviser les automatisations, votre équipe DevOps doit veiller à ce que tous les aspects du pipeline soient conformes aux normes de sécurité. Le traitement manuel de la gestion des versions se produit également au cours de cette phase.
Retour d'informations continu
Les retours d'informations continus nécessitent la mise en place d'un système en boucle de retours pour recueillir des informations sur les performances des versions logicielles, de la part de votre équipe interne et de vos utilisateurs. Les retours d'informations sont ensuite partagés avec l'équipe DevOps pour guider l'itération des produits. Les retours d'informations peuvent être recueillis sous forme d'enquêtes, de questionnaires, de groupes de discussion, de réseaux sociaux, de forums, etc.
Ce processus ne consiste pas seulement à déterminer si votre version logicielle fonctionne correctement, il s'agit également d'évaluer la satisfaction globale de vos clients, afin d'orienter la stratégie commerciale et de garantir les meilleurs résultats possibles. Les retours d'informations continus doivent être utilisés pour orienter la feuille de route de vos produits et vous aider à répondre aux désirs, aux besoins et aux attentes de votre public.
Déploiement continu
Le déploiement continu fonctionne de pair avec l'intégration continue, en complétant le cycle d'automatisation et en minimisant ou en supprimant l'intervention humaine dans le processus de déploiement. Les outils DevOps automatisés surveillent les mises à jour du code source et les déploient automatiquement dans l'environnement de production, une fois qu'elles ont passé la phase de test, ce qui permet de gagner du temps et d'améliorer la satisfaction des utilisateurs.
Le déploiement continu accélère les boucles de retour d'informations avec les utilisateurs grâce à l'automatisation. Des méthodes peuvent également être déployées pour séparer le déploiement de versions logicielles, soit en les cachant aux utilisateurs (versions sombres), soit en les activant pour des utilisateurs spécifiques afin de tester de nouvelles fonctionnalités et de recueillir des commentaires (boutons ou interrupteurs de fonctionnalités).
Étant donné que le code est publié en petits lots, cela minimise les risques que vous pourriez avoir avec des changements de code importants, le tout avec un minimum d'efforts grâce à l'automatisation.
Opérations continues
Les opérations continues visent à réduire les temps d'arrêt et à empêcher les interruptions de service, particulièrement frustrantes pour les utilisateurs. Cette phase du cycle de vie DevOps se concentre sur l'optimisation des applications et des environnements pour favoriser la stabilité et les performances. Elle complète également la boucle du cycle de vie DevOps en alimentant la phase de planification du développement continu, à l'aide de signalement de bugs et de commentaires utilisateurs pour des améliorations.
Grâce à la collaboration continue entre les équipes et les utilisateurs, les bugs, les commentaires et les problèmes de sécurité peuvent être continuellement transmis, évalués et itérés via le pipeline DevOps.
Le flux de production idéal
Dans cette courte vidéo, l'équipe Plastic SCM de Unity montre comment son outil de gestion de code source performant peut exécuter une chaîne d'outils DevOps stratégique, qui joue un rôle crucial dans le fonctionnement fluide d'un flux de production au sein du cycle de vie DevOps.
Lectures similaires
Explorez des ressources supplémentaires pour connaître les avantages de l'implémentation d'outils et de processus DevOps.
Que sont les logiciels de gestion de versions ?
Le suivi et la gestion des modifications apportées à votre code source sont essentiels. Découvrez comment les différents types de logiciels de gestion de versions peuvent vous aider à préserver l'intégrité de votre code.
Les avantages de DevOps
La mise en œuvre des pratiques DevOps peut rationaliser votre pipeline de développement et faire le bonheur de votre équipe et de vos utilisateurs. Découvrez comment DevOps peut vous aider.
Principes DevOps
Tous les studios de jeux veulent accélérer la production tout en réduisant les contraintes, et DevOps est le meilleur moyen d'y parvenir. Commencez par apprendre les principes clés d'une méthodologie DevOps.
E-books sur DevOps
Quatre pratiques DevOps essentielles
Découvrez les principes et processus DevOps fondamentaux pour le développement de jeux et écoutez les témoignages de studios qui ont rencontré le succès grâce au portefeuille de solutions Unity.
Bonnes pratiques pour la gestion de versions et l'organisation de projet
Dans cet ebook, obtenez des informations de la part de l'équipe Plastic SCM sur la façon de devenir un meilleur développeur de logiciels et de maîtriser la gestion de versions en mettant en œuvre un flux de production parfait.
Éliminez les bugs, détectez les erreurs et fidélisez vos joueurs
Découvrez comment Halfbrick utilise Backtrace et Helpshift pour détecter les erreurs dans le jeu avant qu'elles ne deviennent un problème et fidéliser les joueurs.