Comprendre le processus DevOps

Qu’est-ce que le DevOps ?

Si vous suivez notre blog, vous savez déjà ce qu’est le DevOps. Si ce n’est pas le cas voici un rapide résumé et un article que vous pouvez lire sur la culture DevOps :

La méthodologie DevOps améliore la communication entre vos développeurs et les Ops sur les projets. Les objectifs de DevOps sont les suivants :

  • gagner du temps sur la résolution des incidents
  • lancer plus rapidement de nouvelles fonctionnalités
  • réduire les risques par l’automatisation des processus
  • augmenter significativement la satisfaction de vos clients, et de vos développeurs par la même occasion.

Pour ce faire, on parle de boucle de rétroaction. C’est un concept DevOps qui repose sur la mesure de l’impact du développement pour connaître son efficacité et continuer à apprendre. Cette boucle de rétroaction est la clé pour atteindre les objectifs DevOps et améliorer avec succès votre logiciel et le processus de votre équipe. Elle aidera également vos équipes à livrer un code de qualité.

feedback-loop-devops

Aujourd’hui, selon IDC, 20% des projets de développement d’applications bénéficient d’une approche DevOps. D’ici 2021, ce chiffre passera entre 35 et 40 %. Ce n’est pas un hasard si tant d’équipes informatiques adoptent la méthodologie DevOps pour le projet.

Les principes DevOps

L’utilisation de la méthodologie DevOps au sein de votre équipe pour le développement de logiciels va changer radicalement votre organisation. Elle va changer la façon dont votre équipe de développeurs codifie et déploie les versions. Elle est basée sur 6 principes clés :

  • Automation
  • Itérative
  • Self-service
  • Amélioration continue
  • Tests continus
  • Collaboration

L’automatisation permet aux développeurs et aux Ops de simplifier le processus et permet aux équipes d’être plus productives. Comme l’automatisation réduit le nombre d’actions manuelles, elle améliore la qualité du développement et la sécurité du logiciel. L’itération accélère le processus de développement grâce à un retour plus rapide des utilisateurs finaux. Le libre-service accélère également les versions en permettant aux développeurs de déployer eux-mêmes des applications à la demande. L’amélioration continue est là pour rendre le processus plus fluide. En effet, après chaque incident, il fait partie du processus DevOps de faire un post mortem. Un post mortem consiste à enregistrer chaque incident, son impact, les actions entreprises pour le réparer, la cause du problème et les actions qui ont été prises pour éviter qu’il ne se reproduise. Les tests continus permettent des versions plus rapides et une meilleure qualité en même temps. Et enfin, mais pas des moindres, la collaboration entre les développeurs et les Ops est essentielle pour combiner les efforts et atteindre le succès plus rapidement.

Le processus DevOps

Le processus DevOps consiste en une série d’étapes. Voici un diagramme pour vous aider à visualiser :

devops-process

Dans l’ordre, les étapes du processus DevOps sont :

  • Planifier : C’est la partie du projet où vous organisez les tâches, les plannings et configurez vos outils de gestion de projet. L’idée est de planifier les tâches en utilisant le processus des user stories de la méthodologie agile. Rédiger des billets sous la forme d’une user story permettra aux développeurs et aux Ops de comprendre quel développement doit être effectué et pourquoi. Une user story parfaite comprend un quoi (qui, où, déclencheur), un pourquoi et des critères d’acceptation. (Exemple : En tant qu’utilisateur, dans mon compte client, lorsque je clique sur « option », j’ouvre une popup et je peux changer mon nom et mon prénom).
  • Code : Ici, les développeurs font du développement de code et de la révision de code. Lorsque le code est prêt, ils le fusionnent. Dans la pratique DevOps, il est important de partager un outil de code entre les équipes Ops et les développeurs comme Github ou Gitlab.
  • Build : Cette étape est la première vers l’automatisation. L’objectif ici est de construire le code source dans un format souhaité, de le compiler, de le tester et de le déployer à un endroit particulier de l’infrastructure. Une fois cette étape mise en place, les outils d’intégration continue (CI) et de livraison (CD) peuvent contrôler et vérifier le code source provenant de la gestion du code source et le construire.
  • Test : Le processus de test continu réduit les risques. Les tests automatiques garantissent qu’aucun bogue ne sera implémenté en production. Vous devez mettre en œuvre des outils de test dans votre flux de travail pour assurer la meilleure qualité de développement pour votre logiciel.
  • Release : Le code a passé le processus de test (intégration continue) et est prêt à être déployé.
  • Déployer : L’équipe opérationnelle déploie la nouvelle fonctionnalité en production. Mais l’automatisation étant l’un des principes de DevOps, il est possible de mettre en place un déploiement continu.
  • Exploiter/ configurer l’infrastructure : Les Ops construisent ou maintiennent une infrastructure évolutive, infrastructure as code et vérifient les problèmes de sécurité et la gestion des logs.
  • Monitor : Le monitoring est une étape importante car il permet de corriger les incidents plus rapidement et de créer une meilleure expérience pour votre utilisateur final.

Comme DevOps vise à augmenter significativement la satisfaction de vos clients, naturellement vos équipes recommencent les étapes avec une nouvelle fonctionnalité pour votre logiciel ou application. C’est pourquoi nous dessinons toujours le DevOps comme une boucle sans fin.

Mettre en œuvre le DevOps dans votre équipe

Si votre équipe n’a pas encore mis en œuvre un processus DevOps ou même un processus Agile, cela peut sembler déroutant, notamment parce que cela signifie changer non seulement l’organisation mais aussi la culture de votre équipe.

Pour introduire DevOps dans votre équipe, vous devez prendre votre temps, y aller étape par étape, ne pas vous précipiter. Voici comment mettre en place progressivement cette nouvelle culture et cette nouvelle organisation :

  1. Commencez par changer l’état d’esprit de vos équipes. Sans outils, le processus DevOps ne peut pas exister, mais cela ne suffit pas, les développeurs et les Ops doivent comprendre et s’intéresser au travail des uns et des autres. En bref, les développeurs et les Ops doivent apprendre à collaborer.
  2. Mettre en œuvre un processus de développement agile. La plupart des projets DevOps utilisent les méthodologies Scrum ou Kanban de l’Agile.
  3. Pour pouvoir faire la quatrième étape, vous devez adopter le cloud computing (Cloud privé, public ou hybride).
  4. Automatisez le déploiement de vos logiciels grâce à l’intégration continue (CI) afin que les développeurs puissent pousser une nouvelle fonctionnalité facilement.
  5. Utilisez les tests continus de logiciels pour réduire les risques.
  6. Mettez en place le déploiement continu (CD), moins il y a d’actions manuelles, plus vite vous pouvez déployer de nouvelles versions en production.

N’oubliez pas que l’ajout de ces processus va changer votre organisation et créer de nouveaux besoins. Par exemple, votre équipe peut avoir besoin d’une formation pour les nouveaux outils DevOps qui ont été mis en œuvre.

Vous atteindrez le véritable environnement DevOps lorsque votre processus de développement sera aussi automatisé et agile que possible. Si vous avez des questions sur l’une des étapes du processus, n’hésitez pas à nous contacter. Nouveau call-to-action

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.