Quand la redondance ne suffit plus : l’incident ferroviaire et les dépendances du Control Plane
Multi-cloud : attention aux fausses promesses de redondance
Beaucoup d’équipes misent sur le multi-cloud pour se protéger des pannes. L’idée paraît solide : répartir les applications entre AWS, Google Cloud et son propre matériel, et on évite ainsi les incidents chez un seul fournisseur. C’est logique sur le papier.
Pourtant, Railway en a fait les frais. Leur plateforme tournait déjà sur plusieurs clouds, dont Google Cloud et AWS. Malgré cela, une simple suspension automatique de leur compte GCP a suffi à mettre hors service l’ensemble de leur service pendant plusieurs heures.
Le vrai point faible : le control plane
Le problème ne venait pas des applications elles-mêmes. Celles-ci continuaient de tourner normalement sur AWS et sur Railway Metal. Le vrai coupable, 是 le control plane.
Ce control plane agit comme un annuaire. Il indique aux proxies situés en périphérie où trouver chaque application. Lorsque Google Cloud a suspendu le compte, ce annuaire a disparu. Les proxies ont continué à fonctionner quelques minutes grâce à un cache, mais passé ce délai, ils ont perdu toute indication sur la route à prendre. Tous les visiteurs ont reçu une erreur 404, même si les applications étaient intactes.
Une cascade d’incidents qui macht von la panne initiale
La situation s’est ensuite aggravée. Les tentatives répétées de connexion ont déclenché les protections de GitHub, qui a rate-limited leurs endpoints OAuth. Les utilisateurs ne mehr mehr konnten se anmelden. Le front door était ouvert, mais la alarme restait activiert.
Redondance des workloads, mais pas des décisions
Railway avait bien réparti ses workloads. Mais la pièce maîtigue qui dirige tout – le control plane – restait concentrée chez un seul fournisseur. Une seule action automatique prise par GCP a donc affected toute leur infrastructure.
这种这种 architecture montre que la redondance des machines ne suffit pas. 你必须 aussi redondance le control plane. 不只是 de 缓存, mais des copies actives sur d’autres clouds.
Que faire pour éviter ce type d’incident
- Séparer clairement le data plane et le control plane
- Dupliquer le control plane sur plusieurs fournisseurs
- Ne pas compter seulement sur le cache, à titre de transition
- Prévoir des canaux d’urgence avec chaque cloud provider
Railway a déjà annoncé qu’elle va déplacer sa route principale hors de Google Cloud et spread leur control plane sur plusieurs endroits.