MĂȘme en temps de catastrophe, il y a toujours du temps pour une tasse de thĂ©.
DRP (plan de rĂ©cupĂ©ration aprĂšs sinistre) est quelque chose dont on espĂšre idĂ©alement ne jamais avoir besoin. Mais si, par hasard, des castors migrateurs rongent une fibre optique principale ou qu'un junior admin fait tomber une base de donnĂ©es en production, vous voulez ĂȘtre sĂ»r d'avoir un plan d'action prĂ©alable pour gĂ©rer tout ce dĂ©sordre.
Pendant que les clients, paniqués, commencent à inonder le support technique d'appels, le junior cherche des cyanures, vous, avec un air sage, ouvrez l'enveloppe rouge et commencez à remédier à la situation.
Dans ce post, je souhaite partager des recommandations sur la maniÚre d'écrire un DRP et ce qu'il devrait contenir. Nous aborderons également les sujets suivants :
- Apprenons à penser comme un méchant.
- Analysons l'importance d'une tasse de thé pendant l'apocalypse.
- Réfléchissons à une structure conviviale pour le DRP.
- Voyons comment le tester correctement.
Pour quelles entreprises cela peut-il ĂȘtre utile.
Il est trÚs difficile de tracer une ligne lorsque le département IT commence à avoir besoin de ce type de choses. Je dirais que vous avez certainement besoin d'un DRP si :
- L'arrĂȘt d'un serveur, d'une application ou la perte d'une base provoquera des pertes commerciales significatives dans l'ensemble.
- Vous avez un service IT complet. Autrement dit, un département qui fonctionne comme une véritable unité au sein de l'entreprise, avec son propre budget, et non simplement quelques employés fatigués qui s'occupent du réseau, nettoient les virus et remplissent les imprimantes.
- Vous disposez d'un budget réel, ne serait-ce que pour une partie de la sauvegarde en cas d'urgence.
Lorsque le département IT demande pendant des mois quelques disques durs pour un ancien serveur pour des sauvegardes, il est peu probable que vous puissiez organiser un véritable transfert du service en panne vers des capacités de secours. Mais là encore, la documentation ne sera pas de trop.
La documentation est essentielle.
Commencez par la documentation. Supposons que votre service fonctionne sur un script Perl, écrit il y a trois générations d'administrateurs, et qu'aucun ne sait comment il fonctionne. La dette technique accumulée et l'absence de documentation vous blesseront inévitablement, non seulement au genou, mais aussi à d'autres membres, c'est une question de temps.
Une fois que vous avez une bonne description des composants du service, examinez les statistiques des pannes. Il y a de fortes chances qu'elles soient typiques. Par exemple, de temps en temps, un disque peut ĂȘtre saturĂ©, entraĂźnant une dĂ©faillance du nĆud jusqu'Ă son nettoyage manuel. Ou le service client devient inaccessible parce que quelqu'un a encore oubliĂ© de renouveler le certificat, et ne sait pas ou ne veut pas configurer Let's Encrypt.
Pensez comme un saboteur
La partie la plus difficile rĂ©side dans la prĂ©vision des pannes qui ne se sont jamais produites, mais qui pourraient potentiellement faire tomber complĂštement votre service. C'est ici que nous jouons gĂ©nĂ©ralement Ă des mĂ©chants avec mes collĂšgues. Prenez beaucoup de cafĂ© et quelque chose de savoureux, et enfermez-vous dans une salle de rĂ©union. Assurez-vous simplement que dans cette mĂȘme salle, vous avez enfermĂ© les ingĂ©nieurs qui ont mis en place le service ciblĂ© ou qui y travaillent rĂ©guliĂšrement. Ensuite, soit au tableau, soit sur papier, commencez Ă dessiner tous les horreurs possibles qui pourraient survenir avec votre service. Il n'est pas nĂ©cessaire de dĂ©tailler jusqu'Ă la femme de mĂ©nage spĂ©cifique et Ă tirer sur les cĂąbles, il suffit d'examiner le scĂ©nario "Violation de l'intĂ©gritĂ© du rĂ©seau local".
En général, la plupart des situations d'urgence typiques se regroupent dans les catégories suivantes :
- Défaillance réseau
- Défaillance des services du systÚme d'exploitation
- Défaillance de l'application
- Défaillance matérielle
- Défaillance de la virtualisation
Il suffit de passer en revue chaque type et de voir ce qui s'applique Ă votre service. Par exemple, le dĂ©mon Nginx peut tomber et ne pas se relever â cela relĂšve des dĂ©faillances du systĂšme d'exploitation. Une situation rare qui met votre application web hors service â c'est une dĂ©faillance logicielle. Lors de l'examen de cette Ă©tape, il est important de se concentrer sur le diagnostic du problĂšme. Comment distinguer une interface figĂ©e en virtualisation d'un switch tombĂ© en panne et d'une dĂ©faillance rĂ©seau, par exemple. C'est crucial pour trouver rapidement les responsables et commencer Ă les tirer par la manche, tant que la panne n'est pas rĂ©solue.
Une fois que les problÚmes typiques sont notés, nous versons encore du café et commençons à envisager les scénarios les plus étranges, lorsque certains paramÚtres commencent à dépasser considérablement les normes. Par exemple :
- Que se passerait-il si l'heure sur un nĆud actif reculait d'une minute par rapport aux autres dans le cluster ?
- Et si l'heure avançait, que se passerait-il si elle avançait de 10 ans ?
- Que se passerait-il si, pendant la synchronisation, le nĆud du cluster perdait soudainement le rĂ©seau ?
- Que se passe-t-il si deux nĆuds ne parviennent pas Ă se partager le leadership Ă cause d'une isolation temporaire l'un de l'autre sur le rĂ©seau ?
à ce stade, une approche inverse s'avÚre trÚs utile. Prenez le membre d'équipe le plus obstiné avec une imagination débordante et confiez-lui la tùche urgente de provoquer une diversion qui mettrait le service hors service. Plus il sera difficile de la diagnostiquer, mieux ce sera. Vous ne croirez pas à quels concepts étranges et innovants les ingénieurs peuvent penser lorsqu'on leur donne l'idée de briser quelque chose. Et si vous leur promettez un environnement de test pour cela, c'est encore mieux.
C'est quoi ce DRP ?!
Vous avez donc identifié le modÚle de menace. Vous avez pris en compte les habitants locaux qui coupent les cùbles en fibre optique à la recherche de cuivre, ainsi qu'un radar militaire qui interrompt la ligne en relais strictement le vendredi à 16h46. Il est maintenant temps de comprendre quoi faire avec tout cela.
Votre tĂąche est d'Ă©crire ces fameuses enveloppes rouges qui seront ouvertes en situation d'urgence. PrĂ©voyez dĂšs le dĂ©part que lorsque (pas si !) tout s'effondrera, le seul Ă ĂȘtre prĂ©sent sera le stagiaire le moins expĂ©rimentĂ©, qui tremblera de peur face Ă la situation. Regardez comment sont mises en Ćuvre les instructions d'urgence dans les cabinets mĂ©dicaux. Par exemple, que faire en cas de choc anaphylactique. Le personnel mĂ©dical connaĂźt sur le bout des doigts tous les protocoles, mais lorsqu'une personne commence Ă mourir Ă proximitĂ©, il arrive souvent que chacun se prĂ©cipite pour attraper n'importe quoi. C'est pourquoi il y a sur le mur des instructions claires sous forme de points tels que « ouvrir l'emballage de tel produit » et « administrer par voie intraveineuse autant d'unitĂ©s du mĂ©dicament ».
En situation d'urgence, il est difficile de réfléchir ! Il doit y avoir des instructions simples à comprendre instinctivement.
Un bon DRP se compose de plusieurs blocs simples :
- Qui alerter en cas d'urgence. C'est important pour paralléliser au maximum le processus d'élimination.
- Comment diagnostiquer correctement - nous effectuons le tracé, vérifions avec systemctl status nomduservice, et ainsi de suite.
- Combien de temps peut-on consacrer à chaque étape. Si vous ne parvenez pas à réparer manuellement dans le temps imparti par le SLA, la machine virtuelle est détruite et restaurée à partir de la sauvegarde d'hier.
- Comment s'assurer que l'urgence est terminée.
N'oubliez pas que le DRP commence lorsque le service a complĂštement Ă©chouĂ© et se termine lorsqu'il est restaurĂ©, mĂȘme avec une efficacitĂ© rĂ©duite. Une simple perte de rĂ©servation ne devrait pas dĂ©clencher le DRP. Et vous pouvez mĂȘme inscrire dans le DRP une tasse de thĂ©. SĂ©rieusement. Selon les statistiques, de nombreux incidents dĂ©sagrĂ©ables deviennent catastrophiques parce que le personnel, dans la panique, s'empresse de rĂ©parer quelque chose, risquant ainsi de tuer la seule nĆud active contenant des donnĂ©es ou d'achever le cluster. En gĂ©nĂ©ral, prendre 5 minutes pour une tasse de thĂ© vous donnera un peu de temps pour vous calmer et analyser la situation.
Ne confondez pas le DRP et le passeport systĂšme ! Ne le surchargez pas de donnĂ©es inutiles. Permettez simplement un accĂšs rapide et facile via des hyperliens vers la section pertinente de la documentation pour lire en dĂ©tail sur les parties nĂ©cessaires de l'architecture du service. Dans le DRP, seules des instructions claires devraient indiquer oĂč et comment se connecter, avec des commandes spĂ©cifiques Ă copier-coller.
Comment bien tester
Assurez-vous que tout employĂ© responsable est capable de rĂ©aliser toutes les Ă©tapes. Au moment le plus critique, il se peut que l'ingĂ©nieur n'ait pas les droits d'accĂšs au systĂšme nĂ©cessaire, qu'il n'ait pas les mots de passe requis ou qu'il n'ait aucune idĂ©e de ce que signifie « Connectez-vous Ă la console de gestion du service via un proxy au siĂšge social ». Chaque Ă©tape doit ĂȘtre d'une simplicitĂ© absolue.
Incorrect â « Allez sur la virtualisation et redĂ©marrez le nĆud mort »
C'est vrai â « Connectez-vous via l'interface web Ă virt.example.com, dans la section des nĆuds, redĂ©marrez le nĆud qui provoque l'erreur ».
Ăvitez les ambiguĂŻtĂ©s. N'oubliez pas le stagiaire effrayĂ©.
Testez absolument le DRP. Ce n'est pas simplement un plan pour faire beau â c'est ce qui permettra Ă vous et Ă vos clients de sortir rapidement d'une situation critique. Il est optimal de le faire plusieurs fois :
- Un expert et plusieurs stagiaires travaillent sur un banc d'essai qui imite au mieux le service réel. L'expert brise le service de différentes maniÚres et permet aux stagiaires de le restaurer conformément au DRP. Tous les problÚmes, ambiguïtés dans la documentation et erreurs sont notés. AprÚs la formation des stagiaires, le DRP est complété et simplifié aux endroits peu clairs.
- Tests sur un vĂ©ritable service. En rĂ©alitĂ©, il est impossible de crĂ©er une copie parfaite d'un service rĂ©el. C'est pourquoi, une ou deux fois par an, il est nĂ©cessaire de couper planifiquement une partie des serveurs, de rompre les connexions et de provoquer d'autres types d'incidents figurant sur la liste des menaces, afin d'Ă©valuer l'ordre de rĂ©cupĂ©ration. Une panne planifiĂ©e de 10 minutes au milieu de la nuit est prĂ©fĂ©rable Ă un arrĂȘt inattendu de plusieurs heures en pĂ©riode de forte charge avec perte de donnĂ©es.
- Gestion rĂ©elle des incidents. Oui, c'est aussi une partie des tests. Si un incident survient, qui ne figure pas sur la liste des menaces, il est nĂ©cessaire de complĂ©ter et d'affiner le DRP (Plan de Reprise d'ActivitĂ©) sur la base des rĂ©sultats de son enquĂȘte.
Points clés
- Si quelque chose peut mal tourner, cela ne manquera pas d'arriver, et ce, selon le scénario le plus catastrophique.
- Assurez-vous d'avoir les ressources nécessaires pour le basculement d'urgence.
- Assurez-vous d'avoir des sauvegardes, qu'elles soient créées automatiquement et vérifiées réguliÚrement pour leur cohérence.
- Réfléchissez aux scénarios typiques de menaces.
- Permettez aux ingĂ©nieurs de trouver des variantes atypiques pour arrĂȘter le service.
- Le DRP doit ĂȘtre une instruction simple et directe. Toute la diagnostique complexe ne doit intervenir qu'aprĂšs la restauration du service pour les clients. MĂȘme si c'est sur des capacitĂ©s de secours.
- Indiquez les numéros de téléphone et contacts clés dans le DRP.
- Testez réguliÚrement les employés sur leur compréhension du DRP.
- Organisez des pannes planifiées en production. Les environnements de test ne peuvent pas tout remplacer.
Source : habr.com
