Les 7 phases du cycle de vie DevOps
Qu'est-ce que le cycle de vie DevOps ? Le cycle de vie DevOps est divisé en sept phases différentes de développement continu qui guident le processus de développement logiciel 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 exigences de chaque phase.
Le développement de logiciels commence par la planification et le codage. Dans le cadre de DevOps, cela se fait par le biais d'un processus de livraison régulière dans le but d'une amélioration constante.
En s'appuyant sur les valeurs Agile fondamentales Agile, DevOps encourage la publication régulière et fréquente de versions de logiciels. Le moyen standard d'y parvenir est d'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 le retour d'information pour identifier les problèmes et formuler des hypothèses de solutions lors de la planification.
Après la phase de planification du cycle de vie DevOps, la création du code source et des actifs commence dans le but 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 du code source est une priorité.
L'intégration continue (IC) est une pratique de développement qui exige des développeurs qu'ils intègrent le code dans un référentiel partagé plusieurs fois par jour. Chaque checkin ou branche est ensuite vérifié par une construction automatisée, ce qui permet aux équipes de détecter les problèmes à un stade précoce et de s'assurer que la branche de code principale est toujours viable et prête pour la production.
CI est conçu pour prendre en charge de nombreux petits changements itératifs plutôt qu'un nombre réduit de changements importants. Elle aide les équipes à évoluer grâce à des flux de travail automatisés pour la création de code, les tests, la fusion et la vérification dans des référentiels partagés.
Le but ultime de l'intégration continue est de fournir un code de meilleure qualité, plus rapidement. Grâce à des changements fréquents et moins importants, associés à l'automatisation, les équipes peuvent trouver et corriger les bogues plus rapidement et réduire le temps consacré à la validation et à la publication de nouvelles mises à jour.
Les tests continus vont de pair avec l'intégration continue. Les pipelines CI/CD dépendent des tests automatisés plutôt que de la validation manuelle du code. Il s'agit de s'assurer que ce qui est déployé est de qualité et qu'il n'y aura pas d'erreurs qui briseront le jeu avant la sortie.
DevOps s'appuie sur l'élimination du plus grand nombre possible de processus manuels. Plus il y a de processus manuels et fastidieux, plus il y a de pertes de temps et de risques d'erreurs. L'objectif des outils DevOps de test en continu n'est pas seulement de découvrir des bogues, mais de les trouver le plus rapidement possible afin qu'ils ne doivent pas être traités dans la phase de production via un patch ou un hotfix, ce qui devient beaucoup plus compliqué et prend du temps.
Les tests automatisés sont mis en place avant la publication de la version de construction et également avant la production. Les équipes peuvent insérer un examen manuel comme étape finale avant la production et après l'achèvement des tests automatisés.
Une surveillance continue garantit que le cycle de vie DevOps est bien maintenu, l'objectif final étant de fournir une excellente expérience à l'utilisateur. Les mises à jour et l'utilisation des logiciels sont suivies de près, et les informations recueillies sont utilisées pour s'assurer que le logiciel fonctionne correctement.
Au cours de la phase de surveillance continue, les équipes cherchent à détecter et à résoudre les erreurs du système aussi rapidement que possible. Le suivi automatisé des erreurs est essentiel à cet égard. Les automatismes peuvent également fournir une visibilité sur d'autres domaines tels que les performances globales du logiciel, le comportement des utilisateurs, la stabilité de l'infrastructure de développement, etc.
En plus de superviser les automatismes, votre équipe DevOps est chargée de veiller à ce que tous les aspects du pipeline soient conformes aux normes de sécurité. Le traitement manuel de la gestion des rejets a également lieu au cours de cette phase.
Le retour d'information continu nécessite la mise en œuvre d'une boucle de retour d'information afin de recueillir des informations sur les performances du logiciel auprès de votre équipe interne et de vos utilisateurs. Le retour d'information est ensuite partagé avec l'équipe DevOps pour aider à guider l'itération du produit. Les sources peuvent être des enquêtes, des questionnaires, des groupes de discussion, des médias sociaux, des forums, etc.
Ce processus ne consiste pas seulement à déterminer si votre logiciel fonctionne correctement - il s'agit également d'évaluer la satisfaction globale des clients afin d'orienter la stratégie de l'entreprise et d'assurer les meilleurs résultats possibles. Le retour d'information continu doit être utilisé pour orienter la feuille de route de votre produit et vous aider à répondre aux souhaits, aux besoins et aux attentes de votre public.
Le déploiement continu fonctionne en tandem 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'information avec les utilisateurs grâce à l'automatisation. Les méthodes peuvent également être déployées pour séparer le déploiement d'une version, soit en les cachant aux utilisateurs (dark releases), soit en les activant pour des utilisateurs spécifiques afin de tester de nouvelles fonctionnalités et de solliciter des commentaires (feature toggles ou switches).
Comme le code est publié par petits lots, cela minimise le risque que vous auriez avec des changements de code importants - le tout avec un effort minimal grâce à l'automatisation.
Les opérations continues visent à minimiser les temps d'arrêt et à éviter les interruptions de service frustrantes pour les utilisateurs. Cette phase du cycle de vie DevOps se concentre sur l'optimisation des applications et des environnements en termes de stabilité et de performance. Il complète également la boucle du cycle de vie DevOps en alimentant la phase de planification du développement continu avec des rapports de bogues et des commentaires d'utilisateurs pour des améliorations.
Grâce à une collaboration continue entre les équipes et avec les utilisateurs, les bogues, les commentaires et les problèmes de sécurité peuvent être continuellement transmis, évalués et modifiés à travers le pipeline DevOps.
Le flux de travail parfait
Dans cette courte vidéo, l'équipe d'Unity Version Control (anciennement Plastic SCM) montre comment leur puissant outil de gestion du code source peut exécuter une chaîne d'outils DevOps stratégique qui joue un rôle crucial dans l'obtention d'un flux de travail transparent dans le cycle de vie DevOps.
Il est essentiel de suivre et de gérer les modifications apportées à votre code source. Découvrez comment les différents types de systèmes de contrôle de version peuvent vous aider à préserver l'intégrité de votre code.
La mise en place 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.
Tous les studios de jeux souhaitent accélérer leur production tout en réduisant les périodes de stress pendant la finalisation d'un projet et DevOps est le meilleur moyen d'y parvenir. Commencez par apprendre les principes clés de la méthodologie DevOps.
Apprenez les principes et processus DevOps fondamentaux pour le développement de jeux, et écoutez les témoignages de studios qui ont réussi à utiliser le portefeuille de solutions Unity.
Dans cet e-book, l'équipe d'Unity Version Control vous explique comment devenir un meilleur développeur de logiciels et maîtriser le contrôle de version en mettant en œuvre le flux de travail parfait.
Découvrez comment Halfbrick utilise Backtrace et Helpshift pour détecter les erreurs qui cassent le jeu avant qu'elles ne deviennent un problème et pour garder les joueurs dans le jeu.
Le cycle de vie DevOps commence par le contrôle des versions. Mettre en œuvre l'intégration et le développement continus avec les solutions DevOps d'Unity'