Lorsqu'un pipeline CDC tombe en panne, le réflexe est automatique: le remettre en marche. Vite.
Parallèlement, le système source peut continuer à traiter des transactions. Le nombre de tâches en attente peut continuer à augmenter. Les rapports, les applications et les processus en aval peuvent déjà fonctionner avec des données obsolètes.
Et tôt ou tard, quelqu'un pose la question: et si on redémarrait tout simplement ?
C'est généralement à ce moment-là que la récupération devient plus difficile.
Car le véritable problème n'est souvent pas la panne elle-même, mais tout ce qui s'est passé pendant que la réplication était interrompue.
Un redémarrage réussi ne prouve qu'une seule chose: la réplication est de nouveau en marche.
Cela ne prouve pas que la cible soit complète, à jour ou correcte.
Les pannes de CDC les plus dangereuses ne sont pas toujours celles où la réplication s'arrête. Ce sont celles où la réplication redémarre et où personne ne peut expliquer ce qui s'est passé pendant l'interruption ni garantir la fiabilité des données récupérées.
L'objectif n'est pas simplement de redémarrer au plus vite, mais d'éviter qu'un échec n'entraîne une reprise plus complexe. L'arrêt d'une tâche de réplication n'implique pas automatiquement la perte de transactions, et un redémarrage réussi ne garantit pas que la cible soit correcte.
La première étape consiste à ne pas appuyer sur Redémarrer.
Les directives actuelles du NIST en matière de réponse aux incidents distinguent la détection, la réponse, la récupération et l'amélioration continue. Cette approche plus globale permet d'établir ce qui s'est passé et de préserver suffisamment de contexte pour prendre une décision de récupération justifiée avant de modifier l'environnement.*
Il s'agit d'établir où le traitement s'est arrêté, ce qui a continué à se produire à la source, quel est l'état actuel des données pour la récupération et quelles preuves seront nécessaires par la suite.
Prises dans l'ordre, les sept questions ci-dessous vous aideront à mener à bien ce processus.
Le message « La réplication s’est arrêtée » n’est pas suffisamment précis pour choisir une voie de récupération.
Il faut d'abord déterminer où le problème s'est produit. La réplication a-t-elle été possible ?
Ensuite, établissez la chronologie. Le moment où quelqu'un a constaté le problème ne correspond pas forcément au moment où le problème a commencé.
Vérifier
Un échec de capture, un échec d'application, un retard croissant et une panne de la cible sont des problèmes distincts. Ils peuvent nécessiter des équipes et des actions de récupération différentes. Vous êtes prêt à passer à l'étape suivante lorsque vous pouvez dire: « Voici où le traitement s'est arrêté, voici quand cela s'est produit et voici ce qui est affecté. » Et non pas simplement: « La réplication est défaillante quelque part. »
Il s'agit d'une des questions les plus importantes en matière de reprise après incident. Les plateformes de réplication peuvent stocker l'état des processus ou des redémarrages, ce qui permet de déterminer où le traitement peut reprendre après une interruption.
Selon la source et la plateforme, vous pourriez rencontrer des termes tels que:
Ne présumez pas que ces termes ont exactement la même signification sur toutes les plateformes. L'important est de savoir si vous pouvez identifier où le traitement s'est arrêté et si cette information est suffisamment fiable pour permettre une reprise.
Selon la source et la plateforme de réplication, les équipes peuvent rencontrer différents marqueurs de récupération et une terminologie de position de traitement différente. Pour les environnements Db2 pour z/OS, ces concepts peuvent inclure RBA ou LRSN.
La question essentielle est de savoir si des informations de récupération sauvegardées valides existent et si l'équipe comprend leur signification. Pour les processus de capture de données modifiées RDRS pris en charge, les informations d'état sauvegardées permettent de poursuivre le traitement à l'emplacement source approprié après redémarrage. Cet emplacement et la terminologie dépendent de la technologie source.
Vérifier
Connaître la position de reprise du processus est très différent de reconstituer l'endroit où le processus s'est arrêté lors d'un incident. Vous êtes prêt à passer à l'étape suivante lorsque l'équipe a identifié l'état de redémarrage/processus et comprend ses implications pour la source et la cible.
Si la source est restée active, les transactions ont pu se poursuivre tandis que la cible a cessé de recevoir les modifications. L'équipe doit donc comprendre à la fois l'écart de réplication et son impact en aval.
Vérifier l'écart
Pour la capture des données modifiées (CDC) basée sur les journaux, vérifiez la conservation des journaux sources et l'historique archivé. Dans certains environnements CDC basés sur les journaux, les journaux sources conservés ou archivés peuvent être pertinents pour le traitement des modifications accumulées pendant une interruption. Les prérequis exacts varient selon:
Ne présumez pas que l'existence de journaux archivés garantit automatiquement la disponibilité de toutes les méthodes de récupération. Vérifiez les fonctionnalités prises en charge par la plateforme pour l'environnement spécifique. Assurez-vous également que personne n'utilise déjà la cible.
Un pipeline peut encore être techniquement récupérable même si des données obsolètes en aval commencent déjà à poser problème à l'entreprise. Vous êtes prêt à aller de l'avant lorsque vous comprenez ce qui s'est passé pendant l'interruption, l'ampleur du retard et les personnes potentiellement impactées.
C’est souvent à ce stade que les équipes se sentent obligées de prendre une décision rapide. Selon la plateforme, l’état de récupération enregistré peut être appelé point de contrôle, signet, état de redémarrage, position de traitement, ou autrement.
L'important est de savoir s'il existe une procédure de récupération prise en charge pour le scénario de panne réel. Parfois, la réplication peut reprendre à partir d'un état enregistré et rattraper son retard. Parfois, une comparaison plus ciblée ou une resynchronisation est nécessaire. Et parfois, un rechargement plus complet est approprié.
En fonction de la source, de la cible, de la configuration, de l'historique conservé et du scénario de défaillance, les chemins disponibles peuvent inclure:
Dans certains environnements, une charge initiale complète peut ne pas être nécessaire. La possibilité de poursuivre la récupération sans charge initiale dépend de conditions telles que:
L'objectif n'est pas d'éviter un rechargement à tout prix, mais de déterminer si un redémarrage pris en charge ou une procédure de rattrapage est approprié dans ce cas précis.
Vérifier
Les experts décrivent très clairement l'alternative, aussi pénible soit-elle: « redémarrage complet » ou même « resynchronisation à partir de zéro ». La question à se poser est: quand peut-on récupérer sans tout recommencer, et quand ne le peut-on pas ? Vous êtes prêt à passer à l'étape suivante lorsque l'équipe peut expliquer pourquoi la méthode de récupération choisie est adaptée à cet incident précis.
Un redémarrage réussi ne prouve pas à lui seul que la cible est correcte. En fonction des données et de l'architecture, les équipes doivent rechercher:
Un problème particulièrement facile à négliger est la suppression. Un pipeline peut sembler fonctionner correctement alors qu'un enregistrement supprimé à la source se trouve toujours dans la cible.
Vérifier
« Tout est de nouveau en marche » ne vous dit rien sur le fait qu'un élément ait pu être négligé. Vous êtes prêt à aller de l'avant lorsque vous savez quels modes de défaillance sont importants dans votre environnement et quels indices pourraient les révéler.
N’attendez pas la fin de la récupération pour décider de la méthode de validation. Avant de redémarrer, définissez les preuves nécessaires pour indiquer aux équipes en aval que la cible est de nouveau opérationnelle. Selon l’environnement, la validation peut impliquer:
Aucune méthode ne prouve à elle seule tout. La question essentielle pour tout contrôle de validation est:
Qu’est-ce que cela prouve — et qu’est-ce que cela ne prouve pas ?
Demander
L'erreur que commettent souvent les équipes de récupération est de supposer que « la réplication est de nouveau en marche » et « la cible est de nouveau digne de confiance » sont la même conclusion.
Ils ne le sont pas.
L'un concerne l'état du système, l'autre l'intégrité des données. La récupération n'est pas complète tant que vous ne disposez pas de preuves pour les deux. Vous pouvez passer à l'étape suivante lorsque l'équipe a mis en place une méthode de validation adaptée à la source, à la cible, à l'incident et au risque pour l'entreprise.
Un pipeline peut être en cours d'exécution malgré la présence de données en attente. Il peut rattraper son retard alors que les données en aval restent obsolètes. Et il peut afficher un état de processus normal alors que des questions concernant les données récupérées demeurent sans réponse. Avant de clore l'incident, vérifiez à la fois le processus et le résultat.
Vérifier
Clôturer un incident trop tôt peut laisser des données, des validations ou des questions d'impact en aval non résolues, masquées par un statut de processus satisfaisant. Vous pouvez clôturer l'incident lorsque l'équipe peut affirmer que la réplication est stable, que les données pertinentes ont été validées, que les équipes en aval comprennent l'état actuel et que nous pouvons expliquer ce qui s'est passé.
Les sept questions de cet article permettent d'identifier les causes potentielles du problème et les éléments essentiels à la récupération. Elles ne prouvent pas que la cible récupérée soit fiable. Après la récupération, l'étape suivante consiste à déterminer si les risques encourus se sont effectivement concrétisés et si la cible est digne de confiance.
Ressource associée: Le pipeline fonctionne à nouveau. Peut-on se fier aux données ?
Ces sept questions ne portent pas sur la possibilité de redémarrer. Elles visent à déterminer si vous pouvez répondre aux questions suivantes: Où pouvons-nous reprendre ? Que s’est-il passé pendant l’interruption ? Pouvons-nous nous rétablir sans tout recommencer ? Et comment prouverons-nous que rien n’a été perdu ?
C'est toute la différence entre remettre le pipeline en marche et revenir à un état fiable.
| Question | Vous êtes en meilleure position lorsque… | Drapeau rouge |
| Qu'est-ce qui a échoué ? | Vous savez où le traitement s'est arrêté et quand. | L'équipe modifie l'environnement avant même d'établir ce qui s'est passé. |
| Où pouvons-nous reprendre ? | L'état de redémarrage/processus enregistré est disponible et compris. | La position de reprise est adoptée ou reconstituée au cours de l'incident. |
| Que s'est-il passé pendant cet intervalle ? | Vous comprenez le backlog, l'historique des sources disponibles et l'impact en aval. | Personne ne sait à quel point la cible est en retard ni qui l'utilise. |
| Redémarrage ou resynchronisation du point de contrôle ? | Le chemin de récupération est basé sur la source, la cible, l'état, l'historique et le scénario de défaillance réels. | Redémarrer ou recharger complètement est tout simplement la réaction habituelle. |
| Qu'est-ce qui pourrait clocher ? | Les modifications manquantes, les doublons, les suppressions, les valeurs obsolètes et les risques liés à l'ordre/au schéma ont été pris en compte. | Un redémarrage réussi est considéré comme la preuve que la cible est correcte. |
| Comment allons-nous le prouver ? | Une procédure de validation a été définie pour les données concernées et la fenêtre de récupération. | « Le processus est écologique », en témoignent les preuves. |
| Sommes-nous vraiment rétablis ? | Les délais, la validation des données, la préparation en aval et les exceptions restantes sont pris en compte. | L'incident est clos dès que les enregistrements recommencent à circuler. |
Chaque plateforme CDC connaîtra tôt ou tard des pannes, des interruptions ou des opérations de récupération.
La question n'est pas de savoir si des incidents se produisent. La question est de savoir quels efforts, quelle incertitude et quels risques en découlent.
Un incident malheureux ne justifie pas automatiquement le changement de plateforme CDC. En revanche, des difficultés de convalescence répétées méritent une discussion approfondie.
Demandez-vous si vous voyez régulièrement:
Pour les environnements mainframe où Db2 pour z/OS, VSAM, IMS ou ADABAS sont des systèmes d'enregistrement, le comportement de récupération doit être évalué pour la source spécifique et non pas supposé à partir d'une affirmation générique de « prise en charge mainframe ».
À ce stade, la question passe de « Comment résoudre cet incident ? » à « Notre approche de réplication actuelle nous offre-t-elle la capacité de récupération et la visibilité dont nous avons réellement besoin ? »
La capacité de récupération est l'une des plus importantes à évaluer dans toute plateforme CDC.
Rocket Data Replicate & Sync (RDRS) gère la réplication d'entreprise entre les environnements mainframe et les plateformes distribuées et cloud modernes.
Si vous évaluez RDRS pour un environnement comme celui décrit ci-dessus, appliquez la même norme que vous appliqueriez à n'importe quelle plateforme de réplication.
Les sept questions posées dans cet article: qu’est-ce qui a échoué, où pouvons-nous reprendre, que s’est-il passé pendant l’interruption, quel chemin de récupération s’applique, qu’est-ce qui pourrait ne pas fonctionner, comment allons-nous le prouver et comment savons-nous que nous avons terminé ? Ce sont les mêmes questions auxquelles il faut répondre pour toute plateforme, y compris RDRS, avant de faire confiance à une cible récupérée.
Demandez une démonstration du fonctionnement de la récupération dans votre configuration source et cible spécifique:
La possibilité de récupérer une panne particulière sans resynchronisation plus large ou rechargement complet dépend de la source, de la cible, de la topologie, de l'historique conservé, de la configuration et de la nature de la panne.
La question la plus utile n'est pas: « La plateforme prend-elle en charge la récupération ? »
Il s'agit de: « Montrez-nous comment fonctionne la reprise dans les scénarios de défaillance auxquels notre environnement est réellement confronté. »
*NIST SP 800-61 Rév. 3: Recommandations et considérations relatives à la réponse aux incidents
Relancer la réplication n'est qu'une partie du travail. La question suivante est:
Comment prouver que les données récupérées sont complètes ?
Apprenez à définir la fenêtre de récupération, à déterminer les preuves disponibles, à enquêter sur les incohérences et à établir quand la cible est prête pour une utilisation ultérieure.
Votre système de transmission des données du CDC n'est pas hors service. Êtes-vous sûr qu'il fonctionne correctement ?
Avant de redémarrer, savez-vous ce que la panne a affecté ?
Le pipeline fonctionne à nouveau. Peut-on se fier aux données ?
Quand un problème de récupération CDC devient-il un problème de plateforme ?
Comment savoir si les affirmations de recouvrement d'un fournisseur du CDC seront justifiées ?
Comment élaborer un argumentaire commercial pour un investissement dans la relance du CDC
