Mise en production des changements

La mise en production des changements consiste à amener de nouvelles fonctionnalités et des correctifs sur le service en fonction, de façon sûre et fréquente. Ce qui surprend, pour qui trouve les mises en production angoissantes, c’est que mettre en production petit et souvent est plus sûr que de tout accumuler pour un grand lancement. Cette pratique réunit quatre habitudes : mettre en production par petits lots fréquents; faire passer chaque changement par une chaîne automatisée qui le teste avant sa sortie; déployer chaque changement progressivement et observer son comportement; et garder la capacité de revenir en arrière rapidement si quelque chose tourne mal. Le volet humain du même changement, c’est la gestion du changement.

À quoi ressemble la réussite

  • Les changements sortent par petits lots fréquents, plutôt que d’être accumulés pour de grosses mises en production risquées.

  • Chaque changement passe par une chaîne automatisée qui le construit et le teste avant qu’il puisse être mis en production.

  • Chaque mise en production est testée avant d’atteindre le public, et une personne donne le feu vert final sur celles qui en exigent un.

  • Les nouveaux changements sont déployés progressivement, d’abord à une petite part des utilisateurs, observés, et poursuivis seulement s’ils se comportent bien.

  • Une mise en production peut être annulée rapidement quand quelque chose tourne mal, de sorte qu’un mauvais changement est un problème court plutôt que durable.

  • Avant tout déploiement dans le nuage, les garde-fous de sécurité du gouvernement du Canada sont en place.

  • L’équipe suit si la mise en production est en santé : à quelle fréquence elle met en production, combien de temps un changement met à atteindre les utilisateurs, à quelle fréquence une mise en production casse quelque chose, et à quelle vitesse elle s’en rétablit.

Pourquoi cela compte

Les grosses mises en production espacées sont là où le risque s’accumule. Quand des mois de changements sortent d’un coup, il y a plus de choses qui peuvent casser, il est plus difficile de dire quel changement a causé un problème, et les utilisateurs attendent longtemps les correctifs et les améliorations. Mettre en production par petits lots renverse cela : chaque changement est assez petit pour être testé, compris et annulé, de sorte qu’un problème est détecté tôt et contenu. C’est l’attente du gouvernement du Canada, dont la norme est d’itérer et d’améliorer fréquemment, en mettant en production de petits lots et en intégrant des tests automatisés pour que les nouveaux changements n’introduisent pas de nouveaux problèmes. Les données le confirment : les équipes qui mettent en production souvent et se rétablissent vite sont aussi celles qui cassent le moins de choses, de sorte que la vitesse et la stabilité vont ensemble plutôt que de s’opposer. Pour un service dans le nuage, la mise en production repose aussi sur un socle de sécurité : les garde-fous infonuagiques du GC doivent être mis en œuvre, validés et déclarés dans les 30 premiers jours ouvrables suivant l’obtention d’un compte infonuagique.

À qui revient ce travail

La mise en production des changements est partagée au sein de l’équipe, chaque rôle en portant une partie différente :

  • Développeurs gardent chaque changement petit, écrivent les tests automatisés, et construisent et entretiennent la chaîne qui les livre.
  • Ingénieurs des opérations et de la mise en production exécutent les déploiements, observent chaque déploiement progressif, et reviennent en arrière quand quelque chose se comporte mal.
  • Spécialistes de la sécurité veillent à ce que les vérifications de sécurité et les garde-fous accompagnent la chaîne et à ce que les correctifs sortent rapidement.
  • Le responsable opérationnel de l’application veille à ce que la mise en production soit fréquente et financée, accepte que de petites mises en production fréquentes soient la voie la plus sûre, et donne le feu vert sur celles qui exigent une approbation.

Un regard de plus près

Comparaison

Deux façons de mettre en production des changements

Pax

Voici Pax, gestionnaire de service. L’équipe exploitait le service de déclaration de revenus avec de petites mises en production fréquentes :

  • mettait en production de petits changements chaque semaine par une chaîne automatisée qui testait chacun
  • déployait chaque changement d’abord à une petite part des déclarants, l’observait, puis élargissait
  • pouvait revenir à la dernière bonne version en quelques minutes

Le résultat : les quelques problèmes qui sont passés ont touché une poignée d’utilisateurs, ont été repérés vite, et ont été annulés avant que la plupart des gens s’en aperçoivent, et la déclaration est restée en fonction pendant la saison chargée.

À quoi ressemble la mise en production des changements à chaque phase

La façon dont un service met en production des changements évolue au fil de sa vie.

Les habitudes de mise en production s’établissent avant le lancement. L’équipe construit la chaîne et les tests automatisés, décide comment elle déploiera et reviendra en arrière, et, pour un service infonuagique, met en place les garde-fous de sécurité du GC et les valide dans les 30 premiers jours ouvrables. Choisir de mettre en production petit et souvent dès le départ est bien plus facile que de l’adapter après coup à un service conçu pour de grands lancements.

Les instruments officiels derrière mise en production des changements

Tout ce que ce sujet apporte d’officiel, et à quel moment de la vie d’un service chaque élément survient. Le détail complet, y compris qui fait le travail et ce que le responsable opérationnel fait personnellement, se trouve dans le tableau de la page d’accueil.

  • Gestion de la continuité de la technologie de l’informationEvery servicesourcePlan

    Les dispositions de rétablissement propres à l’équipe du service : comment ce système se relève, dans quel ordre ses composants sont restaurés, et la preuve par les essais que la restauration fonctionne. Le plan de continuité des activités du ministère appartient au ministère; ceci est la partie dont l’équipe est responsable.

    • BêtaRemplir
    • StabilisationTenir à jour
    • MaturitéTenir à jour

Pour aller plus loin

Pour déployer dans le nuage sans se verrouiller, l’orientation du gouvernement du Canada d’utiliser des normes et des solutions ouvertes ajoute les attentes de stratégie de sortie et de portabilité qui sous-tendent la mise en production. Pour un point de départ en langage clair sur la première habitude, l’explication de GitHub sur l’intégration continue montre pourquoi soumettre souvent de petits changements détecte les erreurs plus tôt. Si vous voulez voir comment une plateforme infonuagique présente l’ensemble de la pratique, les orientations d’AWS sur l’excellence opérationnelle exposent les principes de changements fréquents, petits et réversibles, et de déploiements automatisés en toute sécurité. Et pour la vue d’ensemble d’une mise en production traitée comme une discipline à établir dès le départ, le chapitre de Google sur l’ingénierie de la mise en production explique pourquoi des constructions reproductibles et automatisées et une piste de vérification rendent les mises en production routinières.

Voir aussi

Les hypothèses de cette page

Vous travaillez déjà selon les Normes relatives au numérique du gouvernement du Canada : concevoir avec les utilisateurs, itérer et améliorer fréquemment, travailler ouvertement, utiliser des normes et des solutions ouvertes, gérer les risques en matière de sécurité et de protection des renseignements personnels, intégrer l’accessibilité dès le début, permettre au personnel d’offrir de meilleurs services, être de bons gestionnaires de données, concevoir des services éthiques et collaborer largement, ainsi que selon la loi en matière de protection des renseignements personnels, de sécurité, de langues officielles et d’accessibilité. Les normes précisent comment le gouvernement travaille dans le monde numérique. Les six compétences numériques du gouvernement du Canada précisent ce que chaque fonctionnaire doit être capable de faire pour travailler ainsi, et la page sur l’équipe les présente. Le présent guide s’appuie sur elles.