Six principes DevOps pour des flux de production plus efficaces
Plusieurs pratiques DevOps essentielles peuvent vous aider à accélérer votre production tout en réduisant le crunch. Découvrez comment la mise en place des bonnes automatisations et le suivi des indicateurs clés de performance les plus pertinents contribueront à la réussite de votre studio.
Éliminer le crunch et les actes de bravoure n'est pas seulement une question d'efficacité pure et dure, même si cela augmentera la productivité. Il s'agit également de créer une culture de travail positive et durable, grâce à laquelle les équipes peuvent s'épanouir et travailler au mieux. Dans une culture collaborative, les employés se sentent plus en confiance, les idées sont partagées plus largement et il y a un plus grand sentiment d'unité et de responsabilité. Tous ces facteurs influenceront positivement la production et la rentabilité.
Pour créer un environnement collaboratif, encouragez l'ouverture, la transparence et les commentaires (positifs et négatifs), tout en insistant sur le fait qu'il n'y a pas de mauvaises idées. Mettez en place des systèmes qui permettent les influences croisées entre les équipes et accordez une reconnaissance publique aux individus et aux équipes pour leurs succès. Avoir les bons outils, tels qu'un logiciel de gestion des versions que tout le monde peut utiliser, est également indispensable.
Dans DevOps, le principe du test « shift-left » (passage à gauche) fait référence à la réorganisation des étapes d'un flux de production. Les processus qui se produisent généralement plus tard dans le pipeline de développement sont « décalés vers la gauche » à un stade antérieur pour s'aligner sur les bonnes pratiques du cycle de vie DevOps.
L'intégration continue et le déploiement continu sont un exemple de la façon dont le test « shift-left » peut permettre aux équipes de travailler avec plus de flexibilité. L'intégration continue (CI) est le processus de fusion automatique du travail dans un dépôt central. Les modifications sont validées en créant une compilation et en exécutant des tests automatisés sur cette dernière.
Le déploiement continu (CD) reprend là où la CI s'arrête, en déployant des versions à partir de la compilation et en effectuant des tests automatisés au niveau du système. Ce processus est normalement effectué manuellement, ce qui ralentit le pipeline. La mise en œuvre d'un pipeline CI/CD propose un moyen cohérent et automatisé de compiler, conditionner et tester votre projet.
L'un des principes fondamentaux de DevOps est l'élimination des processus manuels qui font perdre du temps et sont exposés aux erreurs humaines. Les outils de test et de suivi des erreurs automatisés évitent aux équipes le travail fastidieux de recherche et d'élimination des bugs, tout en rendant ces processus plus efficaces en général. En fait, un ensemble correct d'outils de surveillance et de rapport d'erreurs peut réellement vous aider à faire la différence pour contrer les bugs et à les utiliser à votre avantage, afin d'obtenir un code optimisé et finalement, un meilleur produit.
Les tests automatisés sont un autre exemple du principe de test « shift-left » de DevOps. Dans un flux de production traditionnel, une compilation est mise en ligne et testée manuellement. Les flux de production qui intègrent des tests automatisés peuvent repérer les erreurs avant que les modifications de code ne soient publiées dans la compilation et également avant la production. Lorsque des erreurs sont signalées avant la mise en ligne, les programmeurs peuvent résoudre les problèmes en temps réel et réduire les interruptions de service, telles que les patchs et les correctifs.
Pour quantifier les performances du pipeline et trouver des occasions d'optimisation, il vous faudra surveiller plusieurs indicateurs clés de performance (KPI). Les quatre grands KPI DevOps sont :
- Fréquence de déploiement : la fréquence à laquelle le code est déployé durant l'organisation des étapes, les tests ou en production
- Délai de modification : le temps nécessaire pour qu'un commit passe en production
- Modification du taux d'échec : le pourcentage de déploiements stoppant la production
- Durée moyenne de réparation (MTTR) : la durée moyenne de récupération après une défaillance du produit ou du système
D'autres KPI peuvent être :
- Délai de déploiement : le temps nécessaire pour déployer le code dans l'organisation des étapes, les tests ou la production
- Durée du cycle de demande d'extraction : le temps nécessaire pour écrire et déployer du code
- Nombre d'erreurs
- Durée moyenne de détection (MTTD) : la durée moyenne du temps utilisé pour trouver des erreurs
Concentrez-vous sur les indicateurs clés de performance pertinents et exploitables. Le suivi d'un trop grand nombre de KPI peut entraîner une surcharge d'informations et de données qui manqueront de contexte, ce qui rendra l'optimisation difficile.
Les équipes adoptant les principes DevOps peuvent également tirer parti des pratiques Agile, car les deux méthodes sont complémentaireset les valeurs Agiles représentent la base d'une collaboration DevOps efficace.
DevOps se concentre sur le développement itératif pendant l'intégralité du processus de production, de la préproduction à la publication, avec des mises à jour effectuées de manière cohérente, jusqu'à plusieurs fois par semaine. Agile se concentre davantage sur la phase de production et suit un modèle de sprint, avec de nouvelles compilations publiées à une cadence plus lente, sur plusieurs semaines ou mois.
Les intervenants DevOps peuvent bénéficier de l'approche Agile relative à la gestion de projet. Des pratiques Agile telles que Kanban et Scrum garantissent l'organisation des flux de production. L'accent est également mis davantage sur les processus et les réunions, avec des outils utilisés principalement pour le suivi de la productivité, l'élaboration des burndown charts et l'organisation du backlog.
Dans DevOps, une boucle de retour d'informations se produit lorsqu'une entrée est relayée vers une sortie et vice-versa, et ensuite examinée, dans le but d'améliorer un ou plusieurs processus ou résultats.
Il existe deux types de boucles de retour d'informations. Dans une boucle de retour d'informations de renforcement, la mise à jour positive d'un processus bénéficie à un autre processus connexe, en augmentant la valeur de la mise à jour d'origine. C'est ce que l'on appelle parfois « une boucle d'accélération du changement ». Avec une boucle de retour d'informations d'équilibrage, la mise à jour positive d'un processus entraîne un résultat négatif pour un autre, remettant en question la valeur de la mise à jour d'origine. En général, il est mieux de maximiser les boucles de retour d'informations de renforcement et de minimiser les boucles de retour d'informations d'équilibrage.
Plus les boucles de retour d'informations sont courtes, plus elles sont faciles à entretenir, à surveiller et à optimiser.
La gestion du code source (SCM) permet aux équipes de travailler rapidement et de collaborer efficacement. Apprenez tout ce que vous devez savoir sur les outils de gestion de versions, quand les utiliser et comment ils fonctionnent.
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.
Agile et DevOps ont les mêmes objectifs, à savoir apporter une valeur ajoutée au client grâce à des plannings de publication réguliers,mais ces méthodologies diffèrent légèrement dans leur approche. Découvrez comment elles peuvent fonctionner ensemble.
Découvrez les outils DevOps dont tous les studios devraient disposer 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.
Découvrez comment les solutions DevOps automatisées pour la gestion des crashs et des erreurs peuvent accélérer le développement, réduire les coûts et permettre de proposer une meilleure expérience utilisateur.
Comment un studio collaboratif appartenant aux employés arrive-t-il à mettre d’accord les artistes et les ingénieurs sur un même processus de production ? Découvrez comment KO_OP a mis en place Plastic SCM de Unity dans le cadre de sa méthodologie DevOps.
La gestion de versions Unity est beaucoup plus qu'une simple solution pour le codage. Gérez tous les aspects de votre développement et toutes les versions sur une seule plateforme conçue pour les programmeurs et les graphistes.