Read in English · Leer en español · Auf Deutsch lesen
Section 10.6 sur 10.8 · Avancé · 24 min de lecture
Multirégion, reprise après sinistre et edge computing
Leçon vidéo
5 min · narré en anglais, avec sous-titresÉcouter seulement (audio)
Lire la transcription
Plusieurs zones de disponibilité dans une même région constituent la base normale. Fonctionner sur plusieurs régions est un pas beaucoup plus important, et beaucoup plus coûteux. Dans cette leçon, vous allez découvrir quand cela en vaut la peine, et combien en acheter.
Une chaîne de magasins qui garde tout son stock dans un seul entrepôt est en difficulté si celui-ci est inondé. Elle pourrait garder une liste d’inventaire et un double des clés d’un bâtiment vide : bon marché, mais lent à remettre en route. Elle pourrait garder un petit second entrepôt, approvisionné et doté de personnel : plus cher, mais rapide. Ou elle pourrait exploiter en permanence deux entrepôts complets : le plus cher, presque sans interruption. Elle peut aussi installer de petits kiosques près des clients pour les articles les plus demandés. La conception multirégion et en périphérie fait les mêmes choix pour le logiciel.
Il n’y a que trois bonnes raisons d’utiliser plusieurs régions. D’abord, la latence. La lumière dans la fibre se déplace à environ deux cent mille kilomètres par seconde, donc un aller-retour entre Londres et Sydney ne peut pas prendre moins d’environ 170 ms. Ensuite, la reprise après sinistre. Des régions entières tombent bel et bien en panne, généralement à cause d’une dépendance partagée. En octobre 2025, une faute dans l’automatisation qui gère les enregistrements DNS d’Amazon DynamoDB a causé environ trois heures d’erreurs, avec des défaillances en cascade jusqu’à l’après-midi suivant. Enfin, la résidence des données : la loi, les régulateurs ou les contrats peuvent exiger que certaines données restent dans des juridictions précises. Sans l’une de ces raisons, beaucoup d’équipes ont surtout besoin d’une bonne conception multizone, de sauvegardes testées et d’un CDN.
Deux chiffres pilotent toute conception de reprise après sinistre. L’objectif de temps de reprise, ou RTO, est la durée pendant laquelle le service peut être indisponible. L’objectif de point de reprise, ou RPO, est la quantité de données récentes qui peut être perdue, exprimée en temps. Les deux viennent du métier, idéalement du coût d’une heure de panne, et non des préférences des ingénieurs. Et le coût grimpe fortement à l’approche de zéro.
Avec la sauvegarde et restauration, seules les sauvegardes, et le code pour reconstruire, se trouvent dans la région de reprise. La reprise prend des heures ; sans infrastructure en tant que code, le RTO est une fiction. Avec un pilot light, la base de données est répliquée, mais les serveurs d’application sont éteints. La reprise prend quelques dizaines de minutes, si vous pouvez obtenir de la capacité pendant une crise régionale. Avec un warm standby, une petite copie, mais pleinement opérationnelle, tourne déjà, et la reprise prend quelques minutes. Avec l’actif-actif, une copie complète sert déjà du trafic. Les deux chiffres sont quasi nuls, mais il faut une conception des données pour les écritures dans plusieurs régions. Deux mises en garde valent pour toutes les colonnes. La réplication n’est pas une sauvegarde : elle copie fidèlement les suppressions et la corruption. Et une stratégie qui n’a pas été répétée est un espoir, pas un plan.
Le trafic est orienté entre les régions par le DNS ou par un équilibreur de charge global, qui contrôle la santé de chaque région. Ici, il envoie tout le trafic vers la région A. Le leader de la base de données de la région A réplique de façon asynchrone vers une réplique en lecture seule dans la région B. Tout ce qui n’est pas arrivé quand la région A tombe en panne est perdu : le retard de réplication est donc le vrai point de reprise. La région B ne reçoit du trafic qu’après un basculement. Les systèmes qui ont déjà assez de capacité en fonctionnement traversent une défaillance. Ceux qui doivent lancer de nouvelles machines ne peuvent pas se rétablir avant la région défaillante.
Faisons le choix pour la plateforme de livraison de repas. Les contrats avec les grandes chaînes de restaurants promettent que la prise de commandes est rétablie en moins d’une heure. Le cœur de commande a donc besoin d’un RTO d’une heure au plus, et d’un RPO de moins d’une minute. La sauvegarde et restauration ajoute environ deux mille livres par mois, mais une reconstruction mesurée prend quatre à six heures. Elle échoue. Le pilot light ajoute environ huit mille livres par mois et bascule en trente-cinq à cinquante minutes, mais seulement si la capacité peut être obtenue pendant un événement régional. Le warm standby ajoute environ dix-huit mille livres par mois, et bascule en dix minutes environ. Il atteint l’objectif avec de la marge. L’actif-actif ajoute environ quarante-cinq mille livres par mois, plus environ six mois de travail d’un ingénieur pour reconcevoir les données des commandes et des paiements. Bien au-delà du besoin. Donc : warm standby pour le cœur de commande, sauvegarde et restauration pour le reste, et cartes servies depuis le CDN. Environ vingt mille livres de plus par mois. La reprise après sinistre s’achète comme une assurance.
Les régions protègent contre les sinistres régionaux. Mais la plupart des pannes viennent des propres changements du système, de surcharges et de mauvaises entrées, qu’une seconde région exécutant le même code subit aussi. L’architecture cellulaire fait tourner de nombreuses copies complètes et indépendantes du système, appelées cellules, chacune servant un sous-ensemble fixe de clients derrière un routeur léger. Si une cellule reçoit un mauvais déploiement ou un client bruyant, seuls ses clients sont touchés : avec vingt cellules, environ cinq pour cent. Enfin, la périphérie. Les CDN et les fonctions en périphérie, comme Cloudflare Workers, sur lequel tourne ce cours, servent les lectures et une logique légère près des utilisateurs. Le modèle habituel : lire en périphérie, et écrire à l’origine.
La section complète traite de la conception des données entre régions, du shuffle sharding et d’un guide de décision. Ensuite, dans la section dix point sept, nous aborderons l’ingénierie de plateforme. À très vite.
Ce qu’il faut savoir
- Ne fonctionnez sur plusieurs régions que pour la latence, la reprise après sinistre ou la résidence des données ; plusieurs zones de disponibilité dans une même région constituent la base normale et coûtent beaucoup moins cher.
- Le RTO (combien de temps vous pouvez être indisponible) et le RPO (combien de données vous pouvez perdre) viennent du métier et déterminent la stratégie de reprise après sinistre et son coût.
- Les stratégies AWS Well-Architected, sauvegarde et restauration, pilot light, warm standby et multisite actif-actif, offrent des RTO et RPO de plus en plus bas pour un coût permanent et une complexité de plus en plus élevés.
- Les données interrégions sont la partie difficile : la réplication synchrone ajoute de longs allers-retours aux écritures, le retard de la réplication asynchrone devient le RPO effectif, et la réplication copie les suppressions et les corruptions : les sauvegardes restent donc indispensables.
- Le basculement est piloté par le DNS ou par des équilibreurs de charge globaux anycast ; les conceptions statiquement stables conservent une capacité provisionnée à l’avance et évitent de dépendre du plan de contrôle de la région défaillante.
- L’architecture cellulaire et le shuffle sharding limitent le rayon d’impact des mauvais déploiements, des surcharges et des entrées empoisonnées, qu’une seconde région subirait aussi.
- Les CDN et les fonctions en périphérie, comme Cloudflare Workers qui s’exécute dans des isolats V8, servent les lectures et une logique légère près des utilisateurs, tandis que les systèmes de référence restent généralement dans une région.
Pourquoi fonctionner sur plus d’une région
La section 0.7 (serveurs et cloud) a présenté les régions (des zones géographiques distinctes) et les zones de disponibilité (des groupes de centres de données indépendants au sein d’une région), et la section 10.1 a montré comment les fournisseurs les organisent. Fonctionner sur plusieurs zones de disponibilité d’une même région est la base normale de tout système de production : cela survit à la perte d’un centre de données pour un faible surcoût, parce que les zones sont assez proches pour une réplication synchrone. Fonctionner sur plusieurs régions est un pas beaucoup plus important, et il n’y a que trois bonnes raisons de le franchir.
La latence. La lumière dans la fibre optique se déplace à environ 200 000 km par seconde : un aller-retour entre Londres et Sydney (environ 17 000 km à vol d’oiseau) ne peut donc pas prendre moins d’environ 170 ms, et les itinéraires réels prennent nettement plus de temps. Une requête qui exige plusieurs allers-retours vers une région lointaine paraît lente, aussi rapides que soient les serveurs. Servir les utilisateurs depuis une région proche, ou depuis la périphérie, est la seule solution.
La reprise après sinistre. Des régions entières tombent bel et bien en panne, généralement à cause d’une dépendance partagée plutôt que d’une catastrophe physique. Les 19 et 20 octobre 2025, une condition de concurrence dans l’automatisation qui gère les enregistrements DNS d’Amazon DynamoDB a laissé son endpoint US-EAST-1 avec un enregistrement DNS vide ; les erreurs de DynamoDB ont duré environ trois heures, mais les défaillances en cascade dans le lancement de nouvelles machines virtuelles et dans les contrôles de santé des équilibreurs de charge ont duré jusqu’à l’après-midi suivant. Tous les grands fournisseurs ont connu des incidents régionaux comparables. La reprise après sinistre s’y prépare.
La résidence des données. Les exigences de résidence des données, issues de la loi, des régulateurs ou des contrats clients, peuvent imposer que certaines données soient stockées ou traitées dans des juridictions précises. Le RGPD lui-même restreint les transferts de données à caractère personnel hors de l’Espace économique européen plutôt qu’il n’exige un stockage local, mais les règles sectorielles, les lois nationales et les contrats d’entreprise vont souvent plus loin (voir protection de la vie privée dès la conception). La résidence impose souvent des conceptions multirégions dans lesquelles les données ne sont délibérément pas répliquées partout.
Le multirégion coûte cher : infrastructure dupliquée, frais de transfert de données entre régions, cohérence des données plus difficile, exploitation et tests plus complexes. Beaucoup d’équipes qui pensent en avoir besoin ont en réalité besoin d’une bonne conception multizone, de sauvegardes testées et d’un CDN.
Les objectifs de reprise et les quatre stratégies
La section 2.5 (disponibilité et fiabilité) a défini les deux chiffres qui pilotent toute conception de reprise après sinistre. L’objectif de temps de reprise (RTO) est la durée pendant laquelle le service peut être indisponible ; l’objectif de point de reprise (RPO) est la quantité de données récentes qui peut être perdue, exprimée en temps. Les deux viennent du métier, idéalement du coût d’une heure de panne et d’une commande perdue, et non des préférences des ingénieurs. Des valeurs plus basses coûtent plus cher, et le coût grimpe fortement à l’approche de zéro.
Le livre blanc AWS Well-Architected Disaster Recovery of Workloads on AWS: Recovery in the Cloud décrit quatre stratégies, par ordre croissant de coût et de complexité. Leurs noms sont largement utilisés au-delà d’AWS et s’appliquent tout autant à Azure, à Google Cloud ou à une paire de centres de données privés.
Stratégies de reprise après sinistre
Comparaison des stratégies de reprise après sinistre
| Stratégie | Ce qui tourne dans la seconde région | RTO typique | RPO typique | Coût relatif et principal risque |
|---|---|---|---|---|
| Sauvegarde et restauration | Rien d’autre que des copies de sauvegarde (instantanés de bases de données, stockage d’objets) et le code d’infrastructure pour reconstruire. | Des heures, selon le volume de données et le degré d’automatisation. | L’intervalle entre sauvegardes (quelques minutes avec des sauvegardes continues des journaux, quelques heures avec des instantanés quotidiens). | Le plus bas. Les restaurations sont lentes et souvent non testées ; sans infrastructure en tant que code, le RTO est une fiction. |
| Pilot light (veilleuse) | Bases de données répliquées et infrastructure de base ; serveurs d’application définis, mais pas en fonctionnement. | Quelques dizaines de minutes : démarrer et faire monter en capacité le niveau applicatif, puis rediriger le trafic. | Quelques secondes à quelques minutes (retard de réplication). | Faible. Monter en capacité pendant une crise régionale met en concurrence avec tous les autres clients pour obtenir de la capacité. |
| Warm standby (secours tiède) | Une copie réduite, mais pleinement opérationnelle, de l’ensemble du système. | Quelques minutes : rediriger le trafic, puis monter en capacité. | Quelques secondes à quelques minutes. | Modéré. Le secours peut être testé avec du trafic réel, mais il dérive s’il n’est pas déployé à chaque mise en production. |
| Multisite actif-actif | Une copie complète qui sert du trafic réel dans chaque région. | Quasi nul : le trafic est redistribué, aucun basculement n’est nécessaire. | Quasi nul pour les données répliquées ; la corruption exige toujours des sauvegardes. | Le plus élevé. Exige une conception des données pour des écritures simultanées dans plusieurs régions. |
Le livre blanc lui-même donne un seul chiffre approximatif couvrant à la fois le RTO et le RPO pour chaque stratégie ; le tableau les sépare parce que, avec une réplication continue, le RPO du pilot light et du warm standby est fixé par le retard de réplication plutôt que par la part de l’application qui tourne. Deux mises en garde valent pour toutes les colonnes. La réplication n’est pas une sauvegarde : une suppression accidentelle, une mauvaise migration ou un rançongiciel sont répliqués fidèlement en quelques secondes ; des sauvegardes à un instant donné, idéalement immuables et dans un compte séparé, sont donc nécessaires même dans une conception actif-actif. Et une stratégie qui n’a pas été répétée est un espoir, pas un plan. Les équipes qui font un exercice de basculement régional au moins quelques fois par an découvrent des autorisations manquantes, des endpoints codés en dur, des certificats expirés et des quotas trop petits dans la région de reprise, pendant qu’il est encore peu coûteux de les trouver.
Répliquer les données entre régions
Les serveurs d’application sans état sont faciles à faire tourner à deux endroits ; les données sont la partie difficile, et les compromis sont ceux de la cohérence, du CAP et de PACELC à l’échelle des continents. La réplication synchrone entre régions signifie que chaque écriture attend au moins un long aller-retour, peut-être 70 à 150 ms ou plus, ce qui est acceptable pour quelques écritures critiques et ruineux pour des échanges bavards. La réplication asynchrone garde des écritures rapides, mais la réplique est en retard, et tout ce qui n’est pas arrivé quand la région primaire tombe en panne est perdu : le retard de réplication est le RPO effectif.
Il existe quatre conceptions de données courantes. Une seule région primaire : toutes les écritures vont vers une région, et des répliques ailleurs servent les lectures et la reprise ; c’est simple, mais les utilisateurs lointains paient la latence des écritures, et le basculement implique de promouvoir une réplique (avec les risques de split brain décrits dans réplication et partitionnement). Une région de rattachement par entité : chaque client, restaurant ou locataire a une région de rattachement où ses données sont écrites, ce qui garde les écritures locales et favorise la résidence, au prix du routage et de rares opérations interrégions. Plusieurs écrivains avec résolution des conflits : chaque région accepte des écritures et les conflits sont fusionnés, par exemple par last-writer-wins (la dernière écriture l’emporte, le comportement par défaut des tables globales DynamoDB) ou par des types de données répliqués sans conflit ; ce n’est sûr que pour les données dont la fusion a un sens, comme un panier, et c’est dangereux pour l’argent ou les stocks. Les bases de données à cohérence globale, comme Google Spanner ou CockroachDB, paient la latence du consensus sur les écritures pour offrir une cohérence forte entre régions ; Azure Cosmos DB laisse chaque application choisir parmi cinq niveaux de cohérence, de forte à à terme.
La plupart des systèmes réels combinent ces conceptions selon les jeux de données, exactement comme le recommande la section 6.6 : les paiements et l’état des commandes dans une seule région primaire ou une région de rattachement, les cartes et les informations sur les restaurants répliquées partout pour les lectures, et les données analytiques expédiées de façon asynchrone.
Basculement, DNS et stabilité statique
Le trafic est orienté entre les régions par le DNS ou par un équilibreur de charge global. Avec un basculement (failover) fondé sur le DNS, le service DNS contrôle la santé de chaque région et renvoie l’adresse d’une région saine ; sa faiblesse est la mise en cache, car les résolveurs et les clients peuvent conserver d’anciennes réponses plus longtemps que le TTL de l’enregistrement. Les équilibreurs de charge globaux (par exemple AWS Global Accelerator, Azure Front Door, l’équilibreur de charge externe global de Google Cloud, Cloudflare) utilisent des adresses anycast annoncées depuis de nombreux emplacements : les clients gardent une seule adresse et le fournisseur déplace le trafic en quelques secondes.
Basculement entre une région primaire et une région de secours
Décider quand basculer est plus difficile que le mécanisme. Le basculement automatique réagit le plus vite, mais il peut être déclenché par une faute de la supervision ou par une brève coupure réseau, et basculer une base de données risque de laisser deux primaires accepter des écritures. Beaucoup d’organisations automatisent donc la détection et les étapes du basculement, mais conservent une décision humaine pour lancer un basculement régional, avec un runbook et une limite de temps. Le retour à la région d’origine après l’incident, y compris la resynchronisation des données écrites dans la région de reprise, demande lui aussi un plan.
L’incident d’octobre 2025 illustre un principe que l’AWS Builders’ Library appelle la stabilité statique : un système devrait continuer à fonctionner pendant une défaillance sans avoir à faire de changements à ce moment-là. Les systèmes qui disposaient déjà d’assez de capacité en fonctionnement ont traversé le problème ; ceux qui devaient lancer de nouvelles instances, ou dont la reprise dépendait d’actions du plan de contrôle dans la région touchée, n’ont pas pu se rétablir avant la région elle-même. Pour la reprise après sinistre, cela plaide pour une capacité provisionnée à l’avance (warm standby plutôt que pilot light, pour les chemins critiques), pour un basculement qui ne dépend que du plan de données de la région saine, et pour un DNS, une gestion des identités et des secrets qui ne résident pas uniquement dans la région que vous quittez.
Les cellules : limiter le rayon d’impact
Les régions protègent contre les sinistres régionaux ; la plupart des pannes, cependant, sont causées par les propres changements du système, par des surcharges et par des entrées empoisonnées, qu’une seconde région exécutant le même code et la même configuration subira aussi. L’architecture cellulaire limite le rayon d’impact de ces défaillances en faisant tourner de nombreuses copies complètes et indépendantes du système, appelées cellules, chacune servant un sous-ensemble fixe de clients. Un routeur léger associe chaque requête à sa cellule, généralement selon l’identifiant du client ou du locataire. Les cellules ne partagent rien à l’exécution : chacune a ses propres instances d’application, ses files et ses bases de données.
Si une cellule subit un mauvais déploiement, un client très actif ou une corruption de données, seuls les clients de cette cellule sont touchés : avec 20 cellules, environ 5 % d’entre eux. Les déploiements se font cellule par cellule, par vagues, si bien qu’une mauvaise version est détectée dans la première cellule. Cette conception est décrite dans le livre blanc AWS Well-Architected Reducing the Scope of Impact with Cell-Based Architecture (2023) et est utilisée à grande échelle par les propres services d’AWS et par des entreprises comme Slack. Une technique apparentée, le shuffle sharding, attribue à chaque client une combinaison aléatoire de quelques workers parmi beaucoup (avec 8 workers et 2 par client, il y a 28 combinaisons) : un client dont les requêtes font planter des workers n’abat que sa propre combinaison, et la plupart des autres clients partagent au plus un worker avec lui.
Architecture cellulaire (cell-based architecture)
Les cellules ont un coût : davantage d’instances et de bases de données à exploiter, des opérations transverses aux cellules (rapports sur l’ensemble des clients, déplacement d’un client d’une cellule à une autre) qui demandent des mécanismes distincts, et un routeur et un service de correspondance qui doivent être extrêmement simples et fiables. Elles conviennent aux grands systèmes multilocataires dotés de clés de partitionnement naturelles ; pour une application interne monolocataire, c’est de la surconception.
La périphérie : CDN et fonctions en périphérie
Entre les utilisateurs et les régions se trouve la périphérie (edge) : les centaines d’emplacements exploités par des réseaux de diffusion de contenu (CDN) comme Akamai, Cloudflare, Fastly, Amazon CloudFront et Azure Front Door. Un CDN met en cache le contenu statique et pouvant être mis en cache (images, scripts, pages de carte) près des utilisateurs, en suivant les règles de mise en cache HTTP décrites dans mise en cache, et absorbe les pics de trafic et de nombreuses attaques par déni de service avant qu’ils n’atteignent l’origine.
Les fonctions en périphérie (edge functions) vont plus loin en exécutant du code à ces emplacements : Cloudflare Workers, Fastly Compute, CloudFront Functions et Lambda@Edge, Akamai EdgeWorkers, et les edge functions de plateformes comme Vercel et Netlify. Cloudflare Workers exécute le code dans des isolats V8 légers, les bacs à sable que les moteurs JavaScript utilisent pour les onglets du navigateur, plutôt que dans un conteneur par fonction : le démarrage est donc très rapide et de nombreux locataires partagent un même processus en toute sécurité. Ce cours lui-même tourne sur Cloudflare Workers. Les bons usages sont le routage des requêtes et l’affectation A/B, les contrôles d’authentification et la validation des tokens, les règles d’en-têtes et de redirection, le redimensionnement d’images, la personnalisation simple, et les proxys d’API qui gardent les clés secrètes hors du navigateur.
Les limites sont architecturales. Les fonctions en périphérie ont des limites strictes de temps CPU et de mémoire ; le stockage en périphérie est généralement à cohérence à terme (Workers KV de Cloudflare peut mettre un certain temps à propager une écriture à l’échelle mondiale) ou n’offre une cohérence forte que pour un seul objet coordinateur, comme le font les Durable Objects ; et le système de référence reste normalement dans une région. Un modèle courant est donc lire en périphérie, écrire à l’origine : servir les cartes, les pages des restaurants et les vérifications de session depuis la périphérie, et envoyer les commandes et les paiements vers la région de rattachement.
Guide de décision
Guide de décision : de combien de multirégion avez-vous besoin ?
Répondez pour chaque parcours utilisateur important, et non pour l’ensemble du système d’un coup.
- Le métier peut-il tolérer que ce parcours soit indisponible pendant plusieurs heures, le temps de reconstruire une région à partir des sauvegardes ?OuiUtilisez plusieurs zones de disponibilité dans une région, plus une sauvegarde et restauration interrégions testée et automatisée. Réexaminez la question si le métier évolue.NonContinuez : un secours dans une autre région est nécessaire.
- Un temps de reprise de quelques dizaines de minutes est-il acceptable, et pouvez-vous compter sur l’obtention de capacité pendant un incident régional ?OuiPilot light : répliquez les données en continu, gardez l’infrastructure en tant que code prête et automatisez la montée en capacité et la bascule du trafic.NonContinuez : la capacité doit déjà être en fonctionnement.
- Un temps de reprise de quelques minutes est-il acceptable, avec une capacité réduite au début ?OuiWarm standby : faites tourner une petite copie opérationnelle, déployez-la à chaque mise en production et envoyez-lui un peu de trafic réel pour prouver qu’elle fonctionne.NonActif-actif, avec une conception des données pour les écritures multirégions (régions de rattachement ou base de données à cohérence globale) ; prévoyez un budget pour l’ingénierie, pas seulement pour l’infrastructure.
- Des utilisateurs éloignés ont-ils besoin d’écritures rapides, ou certaines données doivent-elles rester dans leur juridiction ?OuiPartitionnez par géographie : donnez aux clients une région de rattachement et gardez-y leurs données, plutôt que de tout répliquer partout.NonServez les lectures des utilisateurs éloignés via un CDN et des fonctions en périphérie, et gardez les écritures dans une seule région primaire.
Exemple commenté
Exemple commenté : choisir une stratégie de reprise après sinistre pour la plateforme de livraison de repas
La plateforme fonctionne dans une région, sur trois zones de disponibilité. Le cœur de commande (commandes, paiement, affectation des livreurs) coûte environ 60 000 par mois en infrastructure. Il traite environ 40 000 commandes par jour, avec un pic à 6000 par heure au dîner, et environ 5 de revenus pour la plateforme par commande. La direction demande un plan de reprise en cas de panne régionale. Tous les chiffres sont indicatifs, en livres sterling.
| Coût d’une panne | Le chiffre d’affaires est en moyenne d’environ 8000 par heure sur la journée et atteint 30 000 au pic. La perte de confiance des clients, des restaurants et des livreurs double à peu près le coût réel. Les contrats avec les grandes chaînes de restaurants promettent que la prise de commandes est rétablie en moins d’une heure. |
|---|---|
| Exigence | RTO de 1 heure au plus et RPO de moins de 1 minute pour le cœur de commande ; RTO de 24 heures pour l’analytique, les recommandations et le marketing. |
| Sauvegarde et restauration | Surcoût d’environ 2000 par mois. Reconstruction mesurée : 4 à 6 heures (la restauration d’une base de données de 2 To domine). Ne respecte pas le RTO de 1 heure. |
| Pilot light (veilleuse) | Surcoût d’environ 8000 par mois (réplique continue de la base de données, réseau, images prêtes). Basculement répété : 35 à 50 minutes, surtout pour faire monter en capacité le niveau applicatif. Ne respecte le RTO que si la capacité peut être obtenue pendant un événement régional. |
| Warm standby (secours tiède) | Surcoût d’environ 18 000 par mois (réplique plus application à 20 % de sa taille). Basculement répété : environ 10 minutes, puis montée en capacité tout en servant. Respecte le RTO avec de la marge. |
| Actif-actif | Surcoût d’environ 45 000 par mois, plus environ six mois-ingénieur estimés pour reconcevoir les données des commandes et des paiements pour des écritures multirégions. RTO quasi nul, bien au-delà de l’exigence. |
| Décision | Warm standby pour le cœur de commande ; sauvegarde et restauration pour l’analytique, les recommandations et le marketing ; cartes et pages des restaurants servies depuis le CDN pour que la navigation continue pendant le basculement. Surcoût total d’environ 20 000 par mois, soit environ un tiers de l’infrastructure du cœur. |
| Conditions | Le secours est déployé par le même pipeline à chaque mise en production, reçoit 2 % du trafic réel pour prouver qu’il fonctionne, et un basculement complet est répété chaque trimestre. La décision est consignée dans un ADR. |
La perte attendue d’une panne régionale rare ne suffirait pas, à elle seule, à justifier le warm standby ; le RTO contractuel et l’atteinte à la réputation causée par une longue panne à l’heure du dîner, si. La reprise après sinistre s’achète comme une assurance, et le métier fixe la prime qu’il est prêt à payer.
Le découpage par niveaux selon les parcours a nettement réduit le coût : seule la partie du système qui doit se rétablir rapidement paie pour une reprise rapide.
Vérifiez votre compréhension
Pourquoi une conception actif-actif a-t-elle toujours besoin de sauvegardes à un instant donné ?
La réplication copie les suppressions, les mauvaises migrations et la corruption dans chaque région en quelques secondes ; seules les sauvegardes permettent de restaurer les données telles qu’elles étaient avant l’erreur.
Dans une conception avec réplication asynchrone vers une région de secours, qu’est-ce qui détermine la quantité de données perdues lors d’une défaillance régionale ?
Le retard de réplication au moment de la défaillance : les écritures qui n’avaient pas encore atteint la réplique sont perdues, donc le retard est le RPO effectif.
Contre quelles défaillances une architecture cellulaire protège-t-elle, alors qu’une seconde région exécutant le même code ne le fait pas ?
Les défaillances causées par le système lui-même, comme un mauvais déploiement, une entrée empoisonnée ou un client en surcharge, qui toucheraient toutes les régions, mais une seule cellule.
Pourquoi le pilot light est-il plus risqué que le warm standby lors d’un incident régional de grande ampleur ?
Le pilot light doit lancer le niveau applicatif et le faire monter en capacité au moment de la défaillance, quand la capacité et les opérations du plan de contrôle risquent d’être rares ; le warm standby dispose déjà d’une capacité opérationnelle en fonctionnement.
Sources et lectures complémentaires
- AWS Whitepaper: Disaster Recovery of Workloads on AWS, disaster recovery options in the cloud
- AWS Whitepaper: Reducing the Scope of Impact with Cell-Based Architecture
- AWS: Summary of the Amazon DynamoDB service disruption in the Northern Virginia (US-EAST-1) Region
- Amazon Builders' Library: Workload isolation using shuffle-sharding
- Cloudflare Workers documentation: How Workers works
Une question sur cette section ? ArchitectBot, l’assistant d’étude IA du cours, répond d’abord à partir du cours.
Demander : « Notre application de livraison de repas fonctionne dans une seule région cloud. Comment déterminer si nous avons besoin d’un pilot light, d’un warm standby ou d’un actif-actif, et ce que cela coûterait ? »