Révision Glossaire EN

Taille

Yeux

Termine une partie dans un dojo pour débloquer les yeux suivants.

Glossaire

active-active
Un service tourne et sert du trafic dans plusieurs datacenters à la fois : si l’un tombe, les autres continuent de répondre.
Square 2017 : des retries qui saturent l’authentification des marchands
Anycast
Le même préfixe annoncé depuis beaucoup de data centers, pour que chaque utilisateur arrive au plus proche. Cloudflare sert presque tous ses services ainsi.
Cloudflare 1.1.1.1 2025 : les préfixes du résolveur retirés par un changement de test
apiserver
Le processus Kubernetes que tous les autres composants interrogent sur l’état du cluster. Il lit et écrit cet état dans etcd.
Monzo 2017 : linkerd, Kubernetes et une panne des paiements
authorized_keys
Le fichier d’un serveur qui liste les clés SSH publiques autorisées à se connecter à un compte. Par défaut, sshd lit aussi l’ancien fichier authorized_keys2.
Matrix.org 2019 : le Jenkins pas à jour et les clés SSH transférées
Autorisation
La trace, dans Boulder, qu’un compte a prouvé qu’il contrôle un nom de domaine. Let’s Encrypt la réutilise pendant 30 jours.
Let’s Encrypt 2020 : la revérification CAA qui ne testait qu’un nom
Backbone
Le réseau que Facebook a construit pour relier tous ses sites de calcul, avec des liens en fibre entre chaque data center.
Facebook 2021 : le backbone qui a coupé son propre DNS
Backbone
Les lignes privées de Cloudflare entre ses data centers. Le trafic entre deux sites peut y passer au lieu de passer par l’Internet public.
Cloudflare 2020 : le changement sur le routeur d’Atlanta qui a aspiré le trafic du backbone
Backoff
Un client attend un peu plus longtemps après chaque échec avant de réessayer. Sans backoff, les nouvelles tentatives chargent encore un système déjà en panne.
AWS 2021 : la congestion du réseau interne de us-east-1
backoff
Une attente avant chaque nouvelle tentative, en général plus longue après chaque échec, pour que les retries n’arrivent pas au serveur aussi vite que le client peut les envoyer.
Square 2017 : des retries qui saturent l’authentification des marchands
Backtracking
Ce que fait un moteur de regex comme PCRE quand une correspondance échoue : il revient en arrière et essaie un autre découpage de l’entrée. Certains motifs lui font essayer un nombre énorme de découpages.
Cloudflare 2019 : la règle WAF qui a pris tout le CPU
Bail de droplet
Le bail que le DropletWorkflow Manager (DWFM) d’EC2 tient sur chaque serveur physique, appelé droplet. Un droplet sans bail actif ne peut pas recevoir de nouvelle instance.
AWS us-east-1 2025 : une race condition dans l’automatisation DNS de DynamoDB
Base multi-tenant
Une base de données partagée par plusieurs clients. Chaque shard contient les données de plusieurs tenants, isolées les unes des autres.
Atlassian 2022 : le script qui a supprimé 883 sites
Baseline Requirements (BR)
Les règles que doit suivre toute autorité de certification reconnue publiquement, dont quand vérifier le CAA et en combien de temps révoquer.
Let’s Encrypt 2020 : la revérification CAA qui ne testait qu’un nom
Bash Uploader
Le script shell de Codecov qui détecte les réglages de la CI, rassemble les rapports de couverture et les envoie à Codecov.
Codecov 2021 : un Bash Uploader modifié dans la CI des clients
BGP
Le protocole par lequel les réseaux annoncent les blocs IP qu’ils savent joindre. Google annonce chaque bloc IP de GCE depuis plusieurs sites, pour que chacun prenne le chemin le plus court.
Google Compute Engine 2016 : la config qui a retiré tous les blocs IP
BGP
Border Gateway Protocol : la façon dont les réseaux d’Internet s’annoncent les plages d’adresses IP qu’ils savent joindre.
Facebook 2021 : le backbone qui a coupé son propre DNS
Bloc IP
Un groupe contigu d’adresses internet. Google en utilise pour les VM GCE, les répartiteurs de charge réseau et les Cloud VPN.
Google Compute Engine 2016 : la config qui a retiré tous les blocs IP
C2
Command and control : un programme sur une machine piratée qui se connecte au serveur de l’attaquant et exécute les commandes qu’il reçoit.
Cloudflare 2023 : les identifiants oubliés après la fuite chez Okta
Cellule
Une copie isolée d’un service parmi plusieurs. Chaque copie traite une partie des requêtes, donc une panne dans une copie ne touche que cette partie.
AWS S3 2017 : la commande qui a retiré trop de serveurs
Cellule
Une copie isolée parmi plusieurs d’un même service. Chaque copie traite une partie des requêtes, donc une panne reste dans sa copie.
AWS Kinesis 2020 : l’ajout de capacité qui a dépassé une limite de threads de l’OS
cgroup
Une fonction de Linux qui plafonne le CPU et la mémoire qu’un groupe de processus peut utiliser sur une machine.
Square 2017 : des retries qui saturent l’authentification des marchands
Charge
La partie du code malveillant qui fait le mal. Ici elle est chiffrée, pour qu’un lecteur ne voie pas ce qu’elle fait.
npm event-stream 2018 : le nouveau mainteneur et la charge cachée
checksum
Une courte valeur calculée à partir des octets d’un fichier, comme une somme SHA-256. Un seul octet modifié, et la somme change.
Codecov 2021 : un Bash Uploader modifié dans la CI des clients
Clé d’API
Une chaîne secrète qu’un script envoie à un service, ici Cloudflare, pour faire des changements sans qu’une personne se connecte.
Matrix.org 2019 : le Jenkins pas à jour et les clés SSH transférées
Clé de déchiffrement
Le secret qui rend lisibles des données chiffrées. Un attaquant qui copie un fichier chiffré sans sa clé n’obtient que des octets illisibles.
LastPass 2022 : l’ordinateur personnel d’un ingénieur et les clés des sauvegardes
Cluster haute disponibilité
L’ensemble des services qui tournent dans les trois data centers de Hillsboro à la fois, avec des données synchronisées. Si un data center tombe, les deux autres continuent de les faire tourner.
Cloudflare 2023 : le data center privé de tout courant
Compte de service
Un compte qu’utilise un programme à la place d’une personne, par exemple le compte avec lequel un outil SaaS lit et écrit des tickets Jira.
Cloudflare 2023 : les identifiants oubliés après la fuite chez Okta
compte machine
Un compte utilisé par un logiciel et non par une personne, avec son propre token, par exemple pour qu’un système interne en appelle un autre.
Heroku 2022 : des tokens OAuth GitHub volés
config var
Un réglage Heroku que l’app lit comme une variable d’environnement. Les clients y gardent des secrets.
Heroku 2022 : des tokens OAuth GitHub volés
Consul
Le registre de services et stockage clé/valeur de HashiCorp. Chez Roblox, 5 serveurs votants portent l’état et 5 non-votants servent des lectures en plus.
Roblox 2021 : la panne Consul de 73 heures
Control plane
La partie d’un cluster Kubernetes qui gère son état. OpenAI s’en sert pour administrer ses clusters.
OpenAI 2024 : un service de télémétrie qui a saturé les control planes Kubernetes
Control plane
L’interface client de tous les services Cloudflare : le site du dashboard et les API. Les clients changent leurs réglages par là.
Cloudflare 2023 : le data center privé de tout courant
Control plane
Les services de SmartDataCenter qui font tourner l’API et les séquences de démarrage. Certains de ses composants sont stateful : ils gardent des données qu’ils doivent retrouver après un redémarrage.
Joyent 2014 : tous les serveurs de us-east-1 redémarrent d’un coup
Control plane
Les API qui créent et gèrent les ressources AWS, par exemple le lancement d’une instance EC2. Les instances déjà lancées tournent sans lui.
AWS 2021 : la congestion du réseau interne de us-east-1
Core proxy
Le système de Cloudflare, appelé FL et FL2 dans sa nouvelle version, par lequel passe chaque requête. Bot Management fait partie des modules qu’il exécute.
Cloudflare 2025 : le fichier de features de Bot Management qui a doublé
curl pipe to bash
Exécuter un script directement depuis une URL, comme curl -s https://… | bash, sans l’enregistrer ni le vérifier avant.
Codecov 2021 : un Bash Uploader modifié dans la CI des clients
Data plane
Les nœuds qui font tourner les charges, comme l’inférence des modèles. Ils tiennent un moment sans le control plane.
OpenAI 2024 : un service de télémétrie qui a saturé les control planes Kubernetes
Découverte de services
La façon dont un service trouve l’adresse d’un autre. Chez OpenAI, elle passe par le DNS de Kubernetes, que Kubernetes alimente depuis le serveur d’API.
OpenAI 2024 : un service de télémétrie qui a saturé les control planes Kubernetes
Délai de grâce
Le temps qui sépare une nouvelle décision de quota du moment où le système de quotas l’applique.
Google 2020 : le User ID Service à court de quota
Démarrage PXE
Un serveur démarre par le réseau : il demande une adresse à un serveur DHCP et télécharge son image de démarrage en TFTP. Les nœuds de calcul de Joyent démarrent ainsi.
Joyent 2014 : tous les serveurs de us-east-1 redémarrent d’un coup
Dépendance transitive
Un paquet que ton projet installe parce qu’une de tes dépendances en a besoin. Tu ne l’as jamais écrit dans ton propre package.json.
npm event-stream 2018 : le nouveau mainteneur et la charge cachée
Déploiement progressif
Envoyer un changement sur quelques sites d’abord, et sur le monde entier à la fin. Le logiciel de Cloudflare passe par DOG (employés seulement), PIG (une partie du trafic gratuit), 3 PoP Canary, puis partout.
Cloudflare 2019 : la règle WAF qui a pris tout le CPU
Déploiement progressif
Pousser un changement sur une fraction des sites à la fois, pour qu’une panne inédite se voie avant d’atteindre tous les sites.
Google Compute Engine 2016 : la config qui a retiré tous les blocs IP
Dépublier
Retirer une version d’un paquet du registre npm. En mars 2016, un auteur pouvait dépublier n’importe quelle version à tout moment.
npm left-pad 2016 : le paquet dépublié qui a cassé les builds
Disjoncteur (circuit breaker)
Une enveloppe autour d’un appel distant qui compte les échecs. Au delà d’un seuil, elle renvoie tout de suite une erreur sans faire l’appel.
Stripe 2019 : un shard incapable d’élire un primaire
DNS Enactor
Le composant qui applique un plan DNS dans Amazon Route53, une transaction par endpoint. Trois copies tournent indépendamment, dans trois zones de disponibilité.
AWS us-east-1 2025 : une race condition dans l’automatisation DNS de DynamoDB
DNS Planner
Le composant de DynamoDB qui surveille la santé et la capacité des load balancers et écrit régulièrement un nouveau plan DNS : un ensemble de load balancers et de poids pour chaque endpoint.
AWS us-east-1 2025 : une race condition dans l’automatisation DNS de DynamoDB
Donnée périmée
Une lecture qui peut manquer les dernières écritures. Le User ID Service refuse ces lectures, « for security reasons » (pour des raisons de sécurité).
Google 2020 : le User ID Service à court de quota
Dyno
Un conteneur Heroku où tourne le code d’une appli.
Heroku 2025 : la mise à jour système qui a coupé le réseau des dynos
Échantillonnage top-p
Le modèle tire le token suivant au hasard, seulement parmi les tokens les plus probables dont les probabilités cumulées atteignent un seuil comme 0,99.
Anthropic 2025 : trois bugs qui ont dégradé les réponses de Claude
Élection
L’étape où les nœuds restants d’un shard choisissent un nouveau primaire quand l’ancien tombe.
Stripe 2019 : un shard incapable d’élire un primaire
endpoints
La liste des adresses IP des pods derrière un Service Kubernetes. Un Service réduit à 0 réplica a une liste vide.
Monzo 2017 : linkerd, Kubernetes et une panne des paiements
Enregistrement CAA
Un enregistrement DNS où le propriétaire d’un domaine liste les autorités de certification autorisées à émettre des certificats pour ce domaine.
Let’s Encrypt 2020 : la revérification CAA qui ne testait qu’un nom
Étape canary
Déployer un changement sur un seul site d’abord, et vérifier que ce site marche encore avant d’aller plus loin.
Google Compute Engine 2016 : la config qui a retiré tous les blocs IP
etcd
La base distribuée où Kubernetes range ce qui est déployé et où. Une écriture exige l’accord d’une majorité de ses nœuds (un quorum).
Monzo 2017 : linkerd, Kubernetes et une panne des paiements
exfiltration
La copie de données hors des systèmes d’une entreprise, vers un endroit que l’attaquant contrôle.
CircleCI 2023 : une session volée et tous les secrets des clients
Fail open
Quand une vérification échoue, le service répond quand même à la requête au lieu de la rejeter.
Google Cloud 2025 : la politique de quota aux champs vides
Feature flag
Un interrupteur qui active du nouveau code petit à petit, région par région et projet par projet, en commençant par les projets internes.
Google Cloud 2025 : la politique de quota aux champs vides
Fichier de features
Le fichier de configuration qui liste les features (traits d’une requête) utilisées par le modèle de Bot Management. Il est régénéré toutes les quelques minutes et envoyé à chaque machine.
Cloudflare 2025 : le fichier de features de Bot Management qui a doublé
Flotte front-end
Les serveurs Kinesis qui gèrent l’authentification, la limitation de débit et l’envoi de chaque requête vers le bon shard. Elle compte plusieurs milliers de serveurs.
AWS Kinesis 2020 : l’ajout de capacité qui a dépassé une limite de threads de l’OS
Freelist
La liste des pages du fichier BoltDB qui contenaient des données effacées et peuvent resservir. Le fichier lui-même ne rétrécit jamais.
Roblox 2021 : la panne Consul de 73 heures
Global terminate
Un mécanisme interne de Cloudflare qui désactive un seul composant sur tous les serveurs du monde.
Cloudflare 2019 : la règle WAF qui a pris tout le CPU
haché et salé
Un mot de passe stocké comme la sortie d’une fonction à sens unique, mélangé à une valeur aléatoire propre à chaque utilisateur : deux mots de passe identiques donnent deux valeurs stockées différentes.
Heroku 2022 : des tokens OAuth GitHub volés
Identifiant de transaction (XID)
Un compteur sur 32 bits que PostgreSQL attribue à chaque écriture. Chaque ligne garde le XID qui l’a écrite, et les règles de visibilité comparent les XID.
Mandrill 2019 : le shard qui n’acceptait plus d’écritures
IP virtuelle (VIP)
Une adresse IP que Pacemaker déplace d’un nœud à l’autre. Les applis Rails se connectent à la VIP et tombent donc toujours sur le primaire du moment.
GoCardless 2017 : le cluster de bases qui n’a pas basculé
Keylogger
Un logiciel malveillant qui enregistre chaque touche tapée, mots de passe compris.
LastPass 2022 : l’ordinateur personnel d’un ingénieur et les clés des sauvegardes
Label de nœud
Une clé et une valeur posées sur un nœud Kubernetes, comme node-role.kubernetes.io/master. D’autres ressources choisissent leurs nœuds en comparant ces labels.
Reddit 2023 : la mise à jour Kubernetes qui a retiré un label de nœud
Leader Raft
Le votant qui réplique chaque écriture vers les autres votants et décide quand elle est validée. Consul l’élit avec l’algorithme Raft.
Roblox 2021 : la panne Consul de 73 heures
Limite de threads de l’OS
Un réglage du système d’exploitation qui plafonne le nombre de threads d’un serveur. Un processus qui en demande plus ne peut pas les créer.
AWS Kinesis 2020 : l’ajout de capacité qui a dépassé une limite de threads de l’OS
Limite maximum-prefix
Un plafond sur le nombre de préfixes qu’une session BGP accepte d’un voisin. Au-delà, le routeur coupe la session.
Cloudflare 2020 : le changement sur le routeur d’Atlanta qui a aspiré le trafic du backbone
linkerd
Un proxy sur chaque nœud qui route et répartit les appels entre services. Il apprend les adresses des services auprès de l’apiserver de Kubernetes.
Monzo 2017 : linkerd, Kubernetes et une panne des paiements
local-preference
Un attribut BGP échangé entre les routeurs d’un même réseau (iBGP). Quand deux routes mènent au même préfixe, celle qui a la valeur la plus haute gagne.
Cloudflare 2020 : le changement sur le routeur d’Atlanta qui a aspiré le trafic du backbone
Mainteneur
Un compte npm qui a le droit de publier de nouvelles versions d’un paquet.
npm event-stream 2018 : le nouveau mainteneur et la charge cachée
MCP
Multi-Colo PoP, l’architecture des 19 data centers les plus chargés de Cloudflare. Une couche de routeurs, les spines, relie les parties de chaque data center en maillage.
Cloudflare 2022 : le changement de politique BGP qui a coupé 19 data centers
Mise à jour automatique
Une mise à jour de paquet du système d’exploitation qu’un hôte installe seul, sans qu’un opérateur la lance.
Heroku 2025 : la mise à jour système qui a coupé le réseau des dynos
Mode mono-utilisateur
Une façon de démarrer le serveur Postgres hors du fonctionnement normal. L’arrêt de protection contre le wraparound ne s’y applique pas : la doc demande d’y lancer VACUUM.
Sentry 2015 : le wraparound des identifiants de transaction PostgreSQL
Monitoring hors bande
Des sondes qui tournent entièrement hors de ton infrastructure et appellent tes API publiques comme un utilisateur. Elles alertent même quand ton propre monitoring est tombé.
Datadog 2023 : la mise à jour automatique de l’OS qui a coupé le réseau des nœuds
Mot de passe maître
Le seul mot de passe qu’un utilisateur LastPass tape pour ouvrir son coffre. LastPass ne le stocke jamais, et la clé du coffre en est dérivée sur l’appareil de l’utilisateur.
LastPass 2022 : l’ordinateur personnel d’un ingénieur et les clés des sauvegardes
Multimog
Le répartiteur de charge interne de Cloudflare dans les data centers MCP, une variante d’Unimog. Il répartit les requêtes entre les serveurs d’un data center.
Cloudflare 2022 : le changement de politique BGP qui a coupé 19 data centers
Ordres parent et enfant
SMARS reçoit un ordre « parent » d’un autre système de Knight. Il envoie un ou plusieurs ordres « enfant » aux lieux d’exécution, selon la liquidité disponible.
Knight Capital 2012 : le vieux code resté sur un serveur sur huit
Pacemaker
Un logiciel de cluster qui tourne sur chaque nœud, décide où tourne chaque ressource (un processus Postgres, une adresse IP) et la déplace quand un nœud tombe.
GoCardless 2017 : le cluster de bases qui n’a pas basculé
Panic
En Rust, l’arrêt brutal du thread en cours. Appeler unwrap() sur un Result qui contient un Err en déclenche un.
Cloudflare 2025 : le fichier de features de Bot Management qui a doublé
Paquet de réservation
Un paquet que npm publie sous un nom retiré, pour que personne d’autre ne puisse prendre ce nom.
npm left-pad 2016 : le paquet dépublié qui a cassé les builds
Paxos
Un protocole où une majorité de processus doit accepter chaque proposition avant qu’elle soit validée. La base du User ID Service l’utilise, avec un processus leader qui fait les écritures.
Google 2020 : le User ID Service à court de quota
PBKDF2
Une fonction qui transforme un mot de passe en clé en le hachant de nombreuses fois. Par défaut en 2022, LastPass faisait 100 100 itérations, donc chaque essai coûte 100 100 hachages à l’attaquant.
LastPass 2022 : l’ordinateur personnel d’un ingénieur et les clés des sauvegardes
Persistance
Un moyen de revenir que l’attaquant installe, pour que la coupure du premier compte volé ne le mette pas dehors : un second compte, un programme installé.
Cloudflare 2023 : les identifiants oubliés après la fuite chez Okta
pg_basebackup
L’outil PostgreSQL qui copie un cluster en marche par une connexion de réplication, pour démarrer un nouveau standby.
GitLab 2017 : le répertoire de base de données supprimé
Plage caret
Une règle de version comme ^0.1.0 dans package.json. npm installe la version la plus récente qui la respecte, donc chaque installation neuve reçoit le dernier correctif publié.
npm event-stream 2018 : le nouveau mainteneur et la charge cachée
Plan de contrôle
Les nœuds qui font tourner l’API server de Kubernetes et sa base etcd. Ce cluster en a trois.
Reddit 2023 : la mise à jour Kubernetes qui a retiré un label de nœud
PMON
Le principal outil de suivi des risques de Knight. Il montre les positions une fois les ordres exécutés, et quelqu’un doit le surveiller : il n’envoie aucune alerte automatique.
Knight Capital 2012 : le vieux code resté sur un serveur sur huit
Power Peg
Une ancienne fonction de SMARS que Knight n’utilisait plus depuis 2003. Son code était resté sur les serveurs et pouvait encore être appelé.
Knight Capital 2012 : le vieux code resté sur un serveur sur huit
Précision mixte
Certaines opérations tournent en flottants 16 bits (bf16), d’autres en 32 bits (fp32) : deux résultats peuvent alors différer sur les derniers chiffres.
Anthropic 2025 : trois bugs qui ont dégradé les réponses de Claude
Prefix list
Une liste nommée de préfixes IP dans la config d’un routeur. Un terme de politique qui contient prefix-list X dans son bloc from ne correspond qu’aux routes de cette liste.
Cloudflare 2020 : le changement sur le routeur d’Atlanta qui a aspiré le trafic du backbone
Préfixe
Une plage d’adresses IP voisines qu’un réseau annonce à ses pairs en BGP. Un préfixe qui n’est plus annoncé est « retiré » (withdrawn) : plus personne sur internet ne peut joindre ces adresses.
Cloudflare 2022 : le changement de politique BGP qui a coupé 19 data centers
Préfixe
Un bloc d’adresses IP annoncé comme une seule route, par exemple 1.1.1.0/24 (les 256 adresses de 1.1.1.0 à 1.1.1.255).
Cloudflare 1.1.1.1 2025 : les préfixes du résolveur retirés par un changement de test
Primaire
Le seul nœud d’un shard qui accepte les écritures. Les autres nœuds recopient ses données.
Stripe 2019 : un shard incapable d’élire un primaire
Private Space
Un environnement Heroku dédié qui fait tourner des dynos et certains add-ons dans un réseau isolé.
Heroku 2025 : la mise à jour système qui a coupé le réseau des dynos
provision-service
Le service de Slack qui configure et teste chaque nouvelle instance avant qu’elle serve du trafic.
Slack 2021 : un Transit Gateway saturé le premier jour ouvré de l’année
Quota
La quantité d’une ressource, ici le stockage de la base des comptes, qu’un service a le droit d’utiliser. Chez Google, des outils automatiques fixent ces quotas.
Google 2020 : le User ID Service à court de quota
Race condition
Un bug qui n’apparaît que si deux processus agissent dans un ordre précis. Ici, deux DNS Enactors travaillaient sur le même endpoint presque en même temps.
AWS us-east-1 2025 : une race condition dans l’automatisation DNS de DynamoDB
Randomized exponential backoff
Chaque nouvel essai attend plus longtemps que le précédent, plus un délai aléatoire : des clients tombés ensemble ne réessaient pas ensemble.
Google Cloud 2025 : la politique de quota aux champs vides
RCE
Remote code execution : un bug qui permet à quelqu’un sur le réseau d’exécuter son propre code sur ton serveur.
Matrix.org 2019 : le Jenkins pas à jour et les clés SSH transférées
Règle de colocation
Une règle Pacemaker qui impose que deux ressources tournent, ou ne tournent jamais, sur le même nœud.
GoCardless 2017 : le cluster de bases qui n’a pas basculé
Règle IP
Une règle de routage qui choisit la table de routes d’un paquet, par exemple selon son adresse source. Cilium ajoute des règles IP pour que le trafic des pods sorte par la bonne interface.
Datadog 2023 : la mise à jour automatique de l’OS qui a coupé le réseau des nœuds
Réplica synchrone
Un réplica que le primaire attend : une écriture n’est confirmée au client qu’une fois reçue par ce réplica.
GoCardless 2017 : le cluster de bases qui n’a pas basculé
Réseau interne
Le réseau d’AWS qui héberge les services de base : monitoring, DNS interne, autorisation et une partie du control plane d’EC2. Les applications des clients n’y tournent pas.
AWS 2021 : la congestion du réseau interne de us-east-1
Retard de réplication
L’écart entre le standby et le primaire, en WAL que le standby n’a pas encore rejoué.
GitLab 2017 : le répertoire de base de données supprimé
Retrait BGP
Un message BGP qui prévient les voisins qu’une route vers un préfixe n’est plus disponible. Quand toutes les routes sont retirées, les paquets vers ce préfixe n’ont plus de chemin.
Cloudflare 1.1.1.1 2025 : les préfixes du résolveur retirés par un changement de test
Révocation
L’autorité de certification déclare un certificat invalide avant son expiration. Les clients qui vérifient la révocation le refusent alors.
Let’s Encrypt 2020 : la revérification CAA qui ne testait qu’un nom
rotation
Remplacer un secret par un nouveau dans le système qu’il ouvre, et y révoquer l’ancien.
CircleCI 2023 : une session volée et tous les secrets des clients
Rotation d’identifiants
Remplacer un mot de passe, un jeton ou une clé par un nouveau et révoquer l’ancien, pour qu’une copie de l’ancien ne marche plus.
Cloudflare 2023 : les identifiants oubliés après la fuite chez Okta
Routage collant
Le load balancer envoie les requêtes suivantes d’une conversation au serveur qui a traité la première.
Anthropic 2025 : trois bugs qui ont dégradé les réponses de Claude
Route reflector
Un nœud Calico qui échange les routes des pods (en BGP) avec tous les autres nœuds. Les autres nœuds n’ont alors besoin de parler qu’aux reflectors.
Reddit 2023 : la mise à jour Kubernetes qui a retiré un label de nœud
RPO
Recovery point objective : la quantité de données récentes qu’une restauration peut perdre, comptée à rebours depuis la panne.
Atlassian 2022 : le script qui a supprimé 883 sites
RTO
Recovery time objective : le délai maximal pour restaurer les données et les rendre au client.
Atlassian 2022 : le script qui a supprimé 883 sites
Segment WAL
Un fichier du journal d’écriture anticipée (write-ahead log) de PostgreSQL. Un standby rejoue ces fichiers pour suivre le primaire.
GitLab 2017 : le répertoire de base de données supprimé
Serveur d’API Kubernetes
Le composant du control plane qui expose l’API HTTP de Kubernetes. Retirer un service d’un cluster passe par lui.
OpenAI 2024 : un service de télémétrie qui a saturé les control planes Kubernetes
Serveur de noms faisant autorité
Le serveur DNS qui détient les réponses pour un domaine. Ceux de Facebook ont des adresses IP fixes que Facebook annonce en BGP.
Facebook 2021 : le backbone qui a coupé son propre DNS
SERVFAIL
L’erreur DNS que renvoie un résolveur quand il n’obtient pas de réponse des serveurs de noms d’un domaine.
Facebook 2021 : le backbone qui a coupé son propre DNS
Service Control
Le binaire de Google qui vérifie que chaque requête d’API entrante est autorisée et reste dans son quota. Il lit les quotas et les politiques dans une base régionale.
Google Cloud 2025 : la politique de quota aux champs vides
Service Health Dashboard
La page publique d’AWS (SHD) où AWS affiche l’état de chaque service dans chaque région.
AWS S3 2017 : la commande qui a retiré trop de serveurs
Service Health Dashboard
La page publique où AWS affiche l’état de ses services dans chaque région.
AWS 2021 : la congestion du réseau interne de us-east-1
session SSO
Le cookie qu’un fournisseur d’authentification unique remet au navigateur après une connexion, étape 2FA comprise. Tout navigateur qui envoie ce cookie est traité comme connecté.
CircleCI 2023 : une session volée et tous les secrets des clients
Shard
Une base parmi plusieurs, qui contient une partie des clés. Chez Mandrill, un algorithme de hachage choisit le shard de chaque clé.
Mandrill 2019 : le shard qui n’acceptait plus d’écritures
Shard
Une tranche d’un cluster de base de données. Stripe répartit les données par type entre des clusters et par volume entre des shards, chacun avec plusieurs nœuds redondants.
Stripe 2019 : un shard incapable d’élire un primaire
Shard-map
Le cache que chaque serveur front-end garde pour savoir quel cluster back-end possède quel shard. Sans shard-map complète, un serveur ne sait pas où envoyer les requêtes.
AWS Kinesis 2020 : l’ajout de capacité qui a dépassé une limite de threads de l’OS
Site de reprise après sinistre
Un site Cloudflare en Europe qui peut faire tourner les services critiques du control plane quand ceux de Hillsboro ne peuvent plus.
Cloudflare 2023 : le data center privé de tout courant
SMARS
Le routeur d’ordres automatique et rapide de Knight. Il reçoit des ordres d’autres systèmes de Knight et envoie des ordres aux Bourses et autres lieux d’exécution.
Knight Capital 2012 : le vieux code resté sur un serveur sur huit
Snapshot LVM
Une copie d’un volume disque à un instant donné, prise par le gestionnaire de volumes de Linux. GitLab s’en servait pour copier la production vers le staging.
GitLab 2017 : le répertoire de base de données supprimé
Soft delete
Une suppression qui marque seulement les données comme supprimées. On peut les récupérer jusqu’à la fin d’une période de rétention.
Atlassian 2022 : le script qui a supprimé 883 sites
Sous-système d’index
La partie de S3 qui garde les métadonnées et l’emplacement de chaque objet S3 de la région. Chaque GET, LIST, PUT et DELETE en a besoin.
AWS S3 2017 : la commande qui a retiré trop de serveurs
Sous-système de placement
La partie de S3 qui alloue le stockage d’un nouvel objet pendant un PUT. Il ne marche que si l’index marche.
AWS S3 2017 : la commande qui a retiré trop de serveurs
Split brain
Deux parties d’un cluster se prennent chacune pour le seul leader et acceptent des écritures. Leurs données divergent, et une partie se perd.
Joyent 2014 : tous les serveurs de us-east-1 redémarrent d’un coup
Squat de nom
Publier sous un nom de paquet qu’un autre a utilisé avant, pour que les installations existantes reçoivent ton code.
npm left-pad 2016 : le paquet dépublié qui a cassé les builds
Streaming
Une fonction de Consul 1.10 pour diffuser les mises à jour dans le cluster, conçue pour consommer moins de CPU et de bande passante que le long polling.
Roblox 2021 : la panne Consul de 73 heures
systemd-networkd
Le service systemd qui configure les interfaces réseau, les routes et les règles de routage d’un hôte Linux à partir des fichiers .network.
Datadog 2023 : la mise à jour automatique de l’OS qui a coupé le réseau des nœuds
Table distribuée
Une table ClickHouse de la base default qui interroge les tables sous-jacentes, stockées dans la base r0 sur chaque shard.
Cloudflare 2025 : le fichier de features de Bot Management qui a doublé
Terme de politique
Une règle nommée dans une politique BGP. Le routeur lit les termes dans l’ordre, et le premier qui accepte ou rejette un préfixe tranche.
Cloudflare 2022 : le changement de politique BGP qui a coupé 19 data centers
Throttle
Une limite sur la quantité de travail qu’un service accepte à la fois. L’infrastructure de Joyent en a « to ensure that it cannot run away with a machine » (pour qu’elle ne monopolise pas une machine).
Joyent 2014 : tous les serveurs de us-east-1 redémarrent d’un coup
Thundering herd
Un service revient, et toutes les requêtes qui ont échoué pendant la panne arrivent d’un coup et le surchargent.
Cloudflare 2023 : le data center privé de tout courant
Tier web
La flotte de serveurs web de Slack. L’autoscaling ajoute ou retire des instances selon le CPU et l’occupation des threads Apache.
Slack 2021 : un Transit Gateway saturé le premier jour ouvré de l’année
token OAuth
Un token qui permet à CircleCI d’agir sur le compte GitHub d’un client, par exemple pour lire ses dépôts.
CircleCI 2023 : une session volée et tous les secrets des clients
token OAuth
Un token que GitHub remet à une app comme Heroku, pour qu’elle agisse sur les dépôts d’un utilisateur sans son mot de passe.
Heroku 2022 : des tokens OAuth GitHub volés
Top-k approximatif
Une opération rapide qui trouve les k plus grandes valeurs d’un tableau et peut se tromper sur les plus basses qu’elle renvoie. Dans JAX, jax.lax.approx_max_k a un recall_target de 0,95 par défaut.
Anthropic 2025 : trois bugs qui ont dégradé les réponses de Claude
Topologie de service
La liste, chez Cloudflare, des data centers où les préfixes d’un service doivent être annoncés. Les services du Data Localization Suite (DLS) s’en servent pour rester dans une seule région.
Cloudflare 1.1.1.1 2025 : les préfixes du résolveur retirés par un changement de test
transaction optimiste
Une transaction Redis qui pose un WATCH sur des clés et s’annule à l’EXEC si un autre client a modifié l’une d’elles. Le client la relance alors.
Square 2017 : des retries qui saturent l’authentification des marchands
Transfert d’agent SSH
Une option SSH (ssh -A, ou ForwardAgent yes) qui permet à un serveur distant d’utiliser les clés privées de ton portable tant que tu y es connecté.
Matrix.org 2019 : le Jenkins pas à jour et les clés SSH transférées
Transit Gateway (TGW)
Un hub réseau AWS qui interconnecte des VPC. AWS le gère et le dimensionne, et Slack s’en sert pour relier ses VPC.
Slack 2021 : un Transit Gateway saturé le premier jour ouvré de l’année
Unattended upgrades
La fonction d’Ubuntu qui installe les mises à jour de sécurité sur minuterie, sans opérateur. Les hôtes de Datadog gardaient les réglages par défaut : mise à jour à 06 h 00 UTC plus jusqu’à 60 minutes de délai aléatoire.
Datadog 2023 : la mise à jour automatique de l’OS qui a coupé le réseau des nœuds
VACUUM
La commande de maintenance de Postgres qui, entre autres, marque les vieilles lignes comme gelées pour qu’elles restent visibles après le wraparound. Autovacuum la lance tout seul.
Sentry 2015 : le wraparound des identifiants de transaction PostgreSQL
VACUUM
La commande PostgreSQL qui, entre autres, marque les vieilles lignes comme gelées : leur XID ne compte plus. L’autovacuum la lance en tâche de fond.
Mandrill 2019 : le shard qui n’acceptait plus d’écritures
variables d’environnement de CI
Les variables avec lesquelles tourne un job de CI. Les équipes y mettent des tokens et des clés pour que le job puisse déployer ou appeler d’autres services.
Codecov 2021 : un Bash Uploader modifié dans la CI des clients
Version exacte
Une dépendance écrite "0.0.3", sans ^ ni ~. npm installe cette version et aucune autre.
npm left-pad 2016 : le paquet dépublié qui a cassé les builds
VPC
Virtual Private Cloud : un réseau isolé dans AWS. Slack fait tourner ses services dans des comptes AWS séparés et des VPC dédiés.
Slack 2021 : un Transit Gateway saturé le premier jour ouvré de l’année
WAF
Web application firewall (pare-feu applicatif) : du code sur chaque serveur Cloudflare qui compare chaque requête HTTP à des règles et bloque celles qui ressemblent à une attaque.
Cloudflare 2019 : la règle WAF qui a pris tout le CPU
Webhook d’admission
Un appel HTTP que l’API server fait vers un autre service avant d’accepter une écriture. Si ce service ne répond pas, l’écriture part en timeout.
Reddit 2023 : la mise à jour Kubernetes qui a retiré un label de nœud
Wraparound
Après environ 2 milliards de nouveaux XID, un vieux XID semblerait être dans le futur. PostgreSQL cesse d’attribuer des XID avant d’en arriver là.
Mandrill 2019 : le shard qui n’acceptait plus d’écritures
Wraparound des XID
Le compteur de XID repasse à zéro, et des lignes écrites dans le passé semblent tout à coup venir du futur.
Sentry 2015 : le wraparound des identifiants de transaction PostgreSQL
XID
Un identifiant de transaction PostgreSQL : un compteur sur 32 bits que Postgres compare pour décider quelles versions de lignes une transaction peut voir.
Sentry 2015 : le wraparound des identifiants de transaction PostgreSQL