IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La panne de Google Cloud a été attribuée à une mise à jour de code défectueuse dans son système de contrôle des services
Qui a déclenché une boucle de crash mondiale

Le , par Jade Emy

0PARTAGES

6  0 
La panne de Google Cloud a été attribuée à une mise à jour de code défectueuse dans son système de contrôle des services, qui a déclenché une boucle de crash mondiale

La panne de Google Cloud a été attribuée à une mise à jour de code défectueuse dans son système de contrôle des services, qui a déclenché une boucle de crash mondiale en raison d'une gestion des erreurs défaillante et d'un manque de protection des indicateurs de fonctionnalités. La plupart des régions ont été reconnectées en 40 minutes, mais certaines ont mis encore plus de temps. L'entreprise a promis de se prémunir contre de futures pannes et d'améliorer la communication.

Google Cloud Platform (GCP) est une suite de services de cloud computing proposée par Google qui fournit une série de services cloud modulaires, notamment des services de calcul, de stockage de données, d'analyse de données et d'apprentissage automatique, ainsi qu'un ensemble d'outils de gestion. Elle fonctionne sur la même infrastructure que celle utilisée en interne par Google pour ses produits destinés aux utilisateurs finaux, tels que Google Search, Gmail et Google Docs. Google Cloud Platform fournit une infrastructure en tant que service, une plateforme en tant que service et des environnements informatiques sans serveur.

Récemment, Google Cloud a rencontré une panne généralisée, qui a mis hors ligne des sites tels que Spotify, Cloudflare et Discord. Depuis, la société a publié un rapport détaillé expliquant précisément pourquoi elle a déçu ses clients. La société affirme que la cause principale était un problème de code dans Service Control, qui fait partie du système de gestion des API et de vérification des politiques de la société.

Plus précisément, une mise à jour automatisée invalide des quotas et une gestion inadéquate des erreurs ont déclenché une boucle de crash mondiale, avec des erreurs 503 observées non seulement sur les services Google Cloud, mais aussi sur les services utilisant ses API. La panne a affecté l'infrastructure Google Cloud, ainsi que d'autres applications Google Workspace populaires telles que Drive, Docs, Gmail et Calendar. Cependant, les sites tiers accédant à l'API de Google Cloud, notamment la célèbre plateforme de streaming musical Spotify, qui compte 678 millions d'utilisateurs, ainsi que certains services Cloudflare, ont également été touchés.


"Le 29 mai 2025, une nouvelle fonctionnalité a été ajoutée à Service Control pour des vérifications supplémentaires des politiques de quota", a écrit la société dans son rapport d'incident. "Le problème avec cette modification était qu'elle ne disposait pas d'une gestion des erreurs appropriée et n'était pas protégée par un indicateur de fonctionnalité."

Google Cloud s'est vanté que son équipe d'ingénierie de fiabilité des sites avait commencé à trier l'incident en deux minutes, après avoir identifié la cause profonde en 10 minutes. "Le bouton rouge [pour désactiver le chemin d'accès] était prêt à être déployé environ 25 minutes après le début de l'incident", a déclaré Google, le déploiement ayant été achevé en 40 minutes. Bien que les petites régions aient été rétablies relativement rapidement, les grandes régions comme us-central-1 ont mis plus de temps à revenir en ligne, environ deux heures et 40 minutes dans le cas de cette région particulière.

Dans son mini-rapport d'incident publié le jour de la panne, Google Cloud a promis de "faire mieux". Son rapport plus détaillé promet les réponses habituelles pour l'avenir, telles que l'amélioration des pratiques d'analyse statique et de test, l'audit et la modularisation de l'architecture de Service Control afin de limiter les incidents futurs, mais l'entreprise s'est également engagée à "améliorer [ses] communications externes" afin de mieux informer ses clients, en veillant à ce que son infrastructure de communication reste en ligne même lors de telles pannes à l'avenir.

Pour rappel, il y a un an, les 647 000 utilisateurs d'UniSuper ont dû faire face à deux semaines d'indisponibilité à cause d'un bogue de Google Cloud. Dans son rapport de panne, Google Cloud expliquait comment il a accidentellement supprimé le compte client d'UniSuper. UniSuper est un fonds de pension australien de 135 milliards de dollars. Google déclarait à l'époque : "la perturbation est survenue à la suite d'une séquence d'événements sans précédent où une mauvaise configuration par inadvertance pendant le provisionnement des services de Cloud privé d'UniSuper a finalement entraîné la suppression de l'abonnement de Cloud privé d'UniSuper".

Voici le rapport final de Google concernant la panne récente :


Résumé

Les produits Google Cloud, Google Workspace et Google Security Operations ont connu une augmentation des erreurs 503 dans les requêtes API externes, ce qui a eu un impact sur les clients.

Nous vous présentons nos sincères excuses pour les désagréments causés par cette interruption. Les clients Google Cloud et leurs utilisateurs font confiance à Google pour leurs activités, et nous nous engageons à faire mieux. Nous sommes désolés pour l'impact que cela a eu non seulement sur les activités de nos clients et leurs utilisateurs, mais aussi sur la confiance accordée à nos systèmes. Nous nous engageons à apporter des améliorations afin d'éviter que de telles interruptions ne se reproduisent à l'avenir.

Que s'est-il passé ?

Les API Google et Google Cloud sont fournies via nos plans de gestion et de contrôle des API Google. Répartis au niveau régional, ces plans de gestion et de contrôle sont chargés de s'assurer que chaque requête API entrante est autorisée et dispose des politiques et des contrôles appropriés (tels que les quotas) pour atteindre ses points de terminaison. Le binaire central qui fait partie de ce système de contrôle des politiques est appelé « Service Control ». Service Control est un service régional qui dispose d'un magasin de données régional à partir duquel il lit les informations relatives aux quotas et aux politiques. Les métadonnées de ce magasin de données sont répliquées presque instantanément à l'échelle mondiale afin de gérer les politiques de quotas pour Google Cloud et nos clients.

Le 29 mai 2025, une nouvelle fonctionnalité a été ajoutée à Service Control pour des vérifications supplémentaires des politiques de quota. Cette modification du code et cette version binaire ont été déployées région par région, mais le chemin d'accès au code qui a échoué n'a jamais été utilisé pendant ce déploiement, car il nécessitait une modification de la politique qui aurait déclenché le code. Par mesure de sécurité, cette modification du code était accompagnée d'un bouton rouge permettant de désactiver ce chemin d'accès particulier à la politique. Le problème avec cette modification était qu'elle ne disposait pas d'une gestion des erreurs appropriée et n'était pas protégée par un indicateur de fonctionnalité. Sans gestion des erreurs appropriée, le pointeur nul a provoqué le plantage du binaire. Les indicateurs de fonctionnalité sont utilisés pour activer progressivement la fonctionnalité région par région, par projet, en commençant par les projets internes, afin de nous permettre de détecter les problèmes. Si cette fonctionnalité avait été protégée par un indicateur, le problème aurait été détecté lors de la mise en place.

Le 12 juin 2025, une modification de politique a été insérée dans les tables Spanner régionales que Service Control utilise pour les politiques. Compte tenu de la nature mondiale de la gestion des quotas, ces métadonnées ont été répliquées à l'échelle mondiale en quelques secondes. Ces données de politique contenaient des champs vides non intentionnels. Service Control a ensuite effectué des vérifications de quotas au niveau régional sur les politiques de chaque magasin de données régional. Cela a entraîné l'apparition de champs vides pour cette modification de politique respective et a déclenché le chemin de code qui a touché le pointeur nul, provoquant une boucle de crash des binaires. Cela s'est produit à l'échelle mondiale, compte tenu de chaque déploiement régional.

En moins de 2 minutes, notre équipe d'ingénierie de fiabilité du site a trié l'incident. En moins de 10 minutes, la cause profonde a été identifiée et le bouton rouge (pour désactiver le chemin de service) a été mis en place. Le bouton rouge était prêt à être déployé environ 25 minutes après le début de l'incident. En moins de 40 minutes après l'incident, le déploiement du bouton rouge était terminé et nous avons commencé à constater une reprise dans toutes les régions, en commençant par les plus petites.

Dans certaines de nos régions plus importantes, telles que us-central-1, le redémarrage des tâches de contrôle des services a créé un effet de troupeau sur l'infrastructure sous-jacente dont elles dépendent (c'est-à-dire la table Spanner), surchargeant ainsi l'infrastructure. Le contrôle des services ne disposait pas du mécanisme de retrait exponentiel aléatoire approprié pour éviter cela. Il a fallu environ 2 heures et 40 minutes pour résoudre complètement le problème dans us-central-1, car nous avons limité la création de tâches afin de minimiser l'impact sur l'infrastructure sous-jacente et avons acheminé le trafic vers des bases de données multirégionales afin de réduire la charge. À ce stade, le contrôle des services et le service API ont été entièrement rétablis dans toutes les régions. Les produits Google et Google Cloud correspondants ont commencé à se rétablir, certains prenant plus de temps en fonction de leur architecture.

Quelle est la marche à suivre immédiate ?

Immédiatement après la reprise, nous avons gelé toutes les modifications apportées à la pile de contrôle des services et les mises à jour manuelles des politiques jusqu'à ce que nous puissions remédier complètement au problème.

Comment avons-nous communiqué ?

Nous avons publié notre premier rapport d'incident sur Cloud Service Health environ une heure après le début des pannes, car l'infrastructure Cloud Service Health était hors service en raison de cette interruption. Pour certains clients, l'infrastructure de surveillance qu'ils utilisaient sur Google Cloud était également défaillante, les laissant sans signal de l'incident et sans compréhension de l'impact sur leur activité et/ou leur infrastructure. Nous allons remédier à cela à l'avenir.

Quelle est notre approche pour l'avenir ?

Au-delà du gel du système mentionné ci-dessus, nous allons hiérarchiser et mener à bien les tâches suivantes en toute sécurité :

  • Nous allons modulariser l'architecture de Service Control afin que les fonctionnalités soient isolées et s'ouvrent en cas de défaillance. Ainsi, si une vérification correspondante échoue, Service Control pourra toujours traiter les requêtes API.
  • Nous allons auditer tous les systèmes qui consomment des données répliquées à l'échelle mondiale. Indépendamment du besoin commercial d'une cohérence quasi instantanée des données à l'échelle mondiale (c'est-à-dire que les paramètres de gestion des quotas sont globaux), la réplication des données doit être propagée de manière incrémentielle, avec suffisamment de temps pour valider et détecter les problèmes.
  • Nous allons imposer que toutes les modifications apportées aux binaires critiques soient protégées par des indicateurs de fonctionnalité et désactivées par défaut.
  • Nous allons améliorer nos pratiques d'analyse statique et de test afin de traiter correctement les erreurs et, si nécessaire, de les rendre ouvertes.
  • Nous allons auditer et nous assurer que nos systèmes utilisent un backoff exponentiel aléatoire.
  • Nous allons améliorer nos communications externes, tant automatisées qu'humaines, afin que nos clients obtiennent les informations dont ils ont besoin dès que possible pour réagir aux problèmes, gérer leurs systèmes et aider leurs clients.
  • Nous veillerons à ce que notre infrastructure de surveillance et de communication reste opérationnelle pour servir nos clients même lorsque Google Cloud et nos principaux produits de surveillance sont hors service, afin d'assurer la continuité des activités.


Source : Rapport de Google Cloud

Et vous ?

Pensez-vous que ce rapport est crédible ou pertinent ?
Quel est votre avis sur l'incident ?

Voir aussi :

Google donne plus de détails sur l'incident de mise en réseau de ses services cloud, après l'explication de son vice-président de l'ingénierie

Incident logiciel de CrowdStrike : les pannes informatiques causées par la MAJ révèlent des failles systémiques dans la cybersécurité et soulignent l'importance de tests rigoureux avant tout déploiement

AWS se plante une fois de plus, quelques jours après une panne massive, entraînant l'arrêt de services très sollicités tels que Twitch, Zoom, Slack et Xbox Live
Vous avez lu gratuitement 19 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !