Oswald Regular
OpenSans Regular
Des données protégées
Un système anti-implosion qui fonctionne !

La robustesse d'un système doit être intégrée à part entière dès la conception et non en réaction à une série de défaillances ou d'accidents. La tragique marée noire du Golfe du Mexique est un exemple parfait de la vulnérabilité d'un système dépourvu d'un dispositif de sécurité adéquat. Pour les plates-formes pétrolières, le système requis est un dispositif de plusieurs centaines de tonnes installé sur les appareils de forage au fond de l'océan. Il permet l'écoulement continu du pétrole du puits vers le pipe-line de récupération. En cas d'incident, il se connecte à un tube d'un diamètre de 2 pouces pour le fermer ou le couper. De toute évidence, son activation est un événement exceptionnel. Mais ce dispositif de sécurité doit être à toute épreuve sous peine de courir à la catastrophe.

Les accidents, ou implosions, sont plus courants Par exemple, les sauvegardes sont défaillantes lors de pannes de courant, les machines ne fonctionnent pas malgré le dispositif de redondance, les lecteurs de disque s'arrêtent même s'ils sont dans des contrôleurs RAID. L'actionnement d'un bouton par inadvertance, des données erronées qui bloquent le système ou qui détruisent le travail, l'encombrement des bases de données empêchant le chargement, la congestion des réseaux et la suppression des transactions sont d'autres problèmes fréquents. Lorsque de tels accidents surviennent, il peut être difficile de reprendre le contrôle du système. Les données peuvent sortir de leur circuit et provoquer des dégâts considérables. Les responsables des opérations doivent arrêter les systèmes et tenter de récupérer les données. En outre, la reprise des opérations peut s'avérer risquée car elle peut entraîner un autre incident assorti d'une nouvelle perte de données et de dégâts supplémentaires.

Bien que le terme « implosion » semble trop dramatique aux développeurs, il dénote à juste titre les dégâts considérables que peut provoquer une défaillance. Une faille dans le système. Les données sont projetées à travers le système dont le fonctionnement est sérieusement compromis.

Cette lutte, les ingénieurs informaticiens la mènent depuis des décennies. La construction de systèmes résistants aux pannes est extrêmement ardue car chaque cas est différent, et ces systèmes sont généralement conçus « sur mesure » (souvent par des équipes non spécialisées). Du fait de coûts associés élevés, les ingénieurs rognent souvent sur les investissements (combien de fois avez-vous entendu « il y a peu de chances que ça tombe en panne » ?) Le test de ces systèmes a tendance à être effectué de façon aléatoire en raison d'une mauvaise compréhension de l'origine des pannes. Pire encore, un niveau de robustesse élevé entre généralement en conflit avec d'autres besoins du système de traitement de données, comme des performances de haut niveau. On peut avoir l'un ou l'autre mais pas les deux ! Dans la mesure où la robustesse d'un système n'est pas une donnée tangible, elle arrive généralement en dernière priorité, contrairement aux objectifs métier tels que les performances qu'il est aisé de mesurer.

UNE NOUVELLE APPROCHE

Ab Initio a réalisé que le seul moyen d'éviter ces accidents de données consistait à adopter une approche différente et globale. Les ingénieurs d'Ab Initio ne commencent à développer nos logiciels que lorsqu'ils ont réussi à intégrer dans leur conception, dès le départ, les mécanismes assurant que ces logiciels seront à la fois robustes et faciles à utiliser, sans que cela n'impacte les performances. Cette approche est intégrée à la solution Ab Initio pour permettre aux utilisateurs de se concentrer sur leurs besoins métier sans se soucier de problèmes de pannes.

L'approche d'Ab Initio est la suivante. Une application Ab Initio consiste en une série d'étapes de traitement reliées entre elles par des pipelines acheminant des données. Les données transitent à un débit élevé par ces pipelines, allant d'une étape à l'autre. Parfois, une étape est associée à plusieurs pipelines entrants et/ou plusieurs pipelines sortants. Ces pipelines se connectent finalement aux unités de stockage de données ou autres systèmes de traitement qui acceptent ou produisent des flux de données. Ces systèmes interconnectés composés d'étapes de traitement et de pipelines de données peuvent être de grande envergure, et particulièrement complexes.

Le mécanisme de points de reprise offert par Ab Initio est constitué de valves imbriquées sur ces pipelines de données. Généralement, un ensemble de valves existe pour les entrées et les sorties de tout le système de traitement. Il peut en exister également aux points stratégiques du système de traitement. En outre, des « réservoirs » de données peuvent se trouver au niveau des valves (points de reprise) pour capturer une copie des données avant qu'elles ne soient transmises à la prochaine section du système. Alors que certaines valves peuvent être définies par les utilisateurs, d'autres sont automatiquement positionnées par la solution Ab Initio. La plupart sont implémentées dans Ab Initio mais certaines le sont dans d'autres technologies telles que les bases de données et les files d'attente de messages. Toutes ces valves doivent être connectées à un contrôleur central, le Co>Operating System Ab Initio, qui gère leur ouverture et leur fermeture de manière synchronisée.

Le Co>Operating System est conçu pour un traitement parallèle et distribué haute performance et pour être robuste en cas de panne. Par conséquent, lorsque des données volumineuses circulent par ses pipelines à un débit élevé, via le réseau ou par l'intermédiaire de serveurs et connectées à divers systèmes externes, il doit toujours être prêt en cas d'implosion de données.

PROBLÈME DE DÉFAILLANCE

Le Co>Operating System ouvrant et fermant systématiquement les valves, les pertes de données circulant entre ces valves sont limitées en cas de défaillance. Le Co>Operating System conserve dans son réservoir une copie des données à risque et il connaît exactement la quantité de données entrantes et sortantes. Par conséquent, les données ne sont jamais perdues. Une fois la panne résolue, le Co>Operating System peut être redémarré et il relance automatiquement les applications là où elles se sont arrêtées. Il réalimente les pipelines de données avec les données appropriées (depuis les réservoirs), et le système est alors dans la même situation que si la panne ne s'était jamais produite. En conclusion, une panne a eu lieu mais n'a engendré aucun dommage ni perte de données. C'est ce que chacun souhaite : les pannes existent, les implosions de données se produisent mais personne n'est blessé, aucune donnée n'est perdue et le travail reprend dès que les pipelines sont remis en état de marche... Que demander de plus ?

P.S. Beaucoup de détails concernant la description de points de reprise ne sont pas mentionnés ici. Des fonctions telles que la validation à deux phases, les déclencheurs de points de reprise, les blips de message, les gestionnaires de transactions et le protocole XA. Ces détails sont également pris en charge par Ab Initio pour que vous n'ayez pas à le faire, et ça fonctionne parfaitement.

English
Langue :
Français
Español
Deutsch
简体中文
日本語