Comment mettre en œuvre le principe des quatre yeux pour les correctifs d'urgence?

13

Considérez ce scénario (toute comparaison avec des situations réelles est purement accidentelle):

  • 3h07 : appel de support entrant " Quelque chose en production est tombé en panne, j'ai besoin de votre aide! ".
  • 3h12 : connecté au système (connexion acceptée) ... et pas de temps pour le café.
  • 3 h 15 : vous avez de la chance, vous pouvez tout de suite repérer le problème via un message d'erreur quelque part.
  • 3h17 : utilisez votre boîte à outils SCM pour récupérer le code, résoudre le problème, le tester, super ... ma solution fonctionne!
  • 3 h 20 : contactez l'équipe Dev Ops pour envoyer le correctif et relancer la production.
  • 3h21 : drapeau rouge ... " Pour respecter les , il nous faut 2 yeux de plus pour obtenir l'approbation de cette correction ".
  • 03h22 : ggggrrrreat, maintenant ce qui peut - on appeler autrement (= réveiller un gestionnaire)?

Si vous avez mis en place une procédure d'approbation similaire à ma réponse à " Quelles sont les implémentations (ou exemples) possibles du principe des quatre yeux? ", Alors vous n'avez pas de chance ... voici vos choix:

  • Votre correctif sera bloqué (lire: la production sera en baisse) jusqu'à ce que 2 autres yeux soient impliqués.
  • Vous trouvez un moyen de contourner les yeux manquants.

Alors, comment mettre en œuvre le principe des quatre yeux pour les correctifs d'urgence? ... Pour que la production soit opérationnelle dès que possible, c'est-à-dire vers 3 h 25 ... Et pour que vous puissiez également fermer l'appel (et revenir d'où vous venez)?

Pierre.Vriens
la source
Vous avez contacté une équipe , ce qui signifie qu'elle aurait déjà dû bénir le patch en ce qui concerne les principes d'approbation en place. Je commence vraiment à détester ces questions rhétoriques :( juste mon avis, ne vous embêtez pas trop avec ça
Tensibai
@Tensibai comment peut-on "avoir béni un correctif" (ou corriger) à l'avance, sans savoir quelle était la cause du problème lorsque "vous avez été contacté"? Pouvez-vous également être plus précis sur la rhétorique? Pas bon, autre chose?
Pierre.Vriens
Je veux dire que vous dites que vous avez pu contacter l'équipe à 15 h 20, ce qui signifie que ce n'est pas seulement vous qui proposez le correctif. J'utilise la rhétorique comme «cas hypothétique, basé sur l'expérience ou non, où vous savez déjà quelle réponse vous attendez». Plus ou moins mes inquiétudes sur les méta je me sens seule pas intéressée par cette Q / R 'principes génériques' donc je me trompe probablement. Ce dont je suis sûr, c'est que je ne visiterai pas deux fois un Q / A sur les principes génériques si j'étais un étranger de cette bêta.
Tensibai
Je peux en dire
autant des
Les engagements ne seront pas calculés avant la version bêta publique, pour l'instant en privé, nous construisons ce que les utilisateurs «engagés» considèrent comme des questions exemplaires pour ce site, et je pense que nous avons beaucoup de travail dans les 12 jours restants, ou je peux simplement doivent traverser les 7 étapes du deuil
Tensibai

Réponses:

8

Dans le monde SCM que je connais le plus, le scénario ci-dessus est généralement traité par ce que l'on appelle la " procédure de liste d'approbation abrégée " .

En voici un plan:

  • Définissez vos heures d'ouverture, disons de 8 h à 18 h.
  • Définir une complète liste d'approbation ( par exemple) 3 niveaux d'approbation (pour les rôles X, Y et Z).
  • Définissez une liste d'approbation abrégée de (disons) un seul niveau d'approbation (uniquement pour les rôles X).
  • Les modifications prévues nécessitent toujours toutes les approbations de la liste d'approbation complète.
  • Pour les modifications non planifiées , la liste d'approbation complète est également utilisée pour rassembler les approbations requises, à condition que les approbations soient émises pendant les heures d'ouverture définies.
  • Pour toute approbation de modifications imprévues qui doivent être émises en dehors des heures d'ouverture définies:
    • Seules les approbations de la liste d'approbation abrégée (comme le rôle X ci-dessus) sont nécessaires pour autoriser la modification. Et une fois l'autorisation donnée par la liste d'homologation abrégée, le déploiement de la modification (dans l'environnement cible) sera effectivement effectué.
    • Mais des post- approbations supplémentaires seront nécessaires par la suite (dans un nombre raisonnable d'heures / jours), c'est-à-dire de tous les rôles contenus dans la liste d'approbation complète (tels que les rôles Y et Z ci-dessus), qui ne figurent pas également dans la liste d'approbation abrégée (comme le rôle X ci-dessus). Et si, dans le délai (initial) convenu d'heures / jours, toutes les post-approbations n'ont pas été émises (par exemple parce que le correctif a fonctionné "cette" fois, mais n'était que comme un correctif temporaire), le changement peut être soumis à une annulation. . Bien qu'il y ait au moins 1 post-approbation en attente, le changement est marqué comme "en attente d'approbations de poste".

Avec une telle solution en place, l'appel peut être clôturé vers 3h23 du matin ... puisqu'il n'y aura plus de drapeau rouge à 3h21 du matin ... (au lieu de café) ... et les doigts croisés les approbations de poste en attente arriveront bientôt ...

Pierre.Vriens
la source
3

Dans le cas de correctifs d'urgence en dehors des heures d'ouverture, il est plus pratique d'exiger moins de signature pour les modifications que votre procédure normale. En règle générale, vous pouvez déployer un correctif, puis effectuer des post-approbations le jour ouvrable suivant. Si le correctif n'est pas approuvé, il peut être annulé et remplacé par une solution permanente.

Lors d'une panne, la priorité numéro un devrait être de rétablir le service. Si votre organisation ne reconnaît pas ce processus détendu pendant une panne, alors oui, votre seule option est de commencer à réveiller plus de personnes pour la signature.

tayworm
la source
Je suis d'accord avec votre recommandation, qui semble être similaire à ma propre recommandation (réponse). Pouvez-vous penser à un exemple dans le monde SCM que vous connaissez, et COMMENT vous le mettriez en œuvre là-bas? Si oui, pouvez-vous développer cela dans votre réponse?
Pierre.Vriens