+− THE DAILY DIFFdev & AI news
SHIP IT

Google Cloud falhou num campo em branco. Três horas.

Uma linha de política com alguns campos em branco atinge um ponteiro nulo, e o Google Cloud falha em todas as regiões de uma só vez — e depois a Cloudflare também cai.

Uma linha de política com alguns campos em branco atinge um ponteiro nulo, e o Google Cloud falha em todas as regiões de uma só vez — e depois a Cloudflare também cai. 12 de junho de 2025, 17:49 UTC: O Service Control, o binário que aprova cada pedido de API do Google Cloud, lê uma alteração na política de quotas com "campos em branco não intencionais", atinge um caminho de código lançado duas semanas antes sem verificação de nulos e sem "feature flag", e entra num "crash loop" em todas as regiões — a linha tinha sido replicada globalmente em segundos. As APIs externas retornam 503 por três horas; o us-central1 demora 2 h 40 min porque as tarefas de reinício estampam a mesma tabela Spanner sem "randomized backoff". Três minutos após a interrupção do Google, o Workers KV da Cloudflare — cuja fonte de verdade reside num "fornecedor de cloud de terceiros" — perde 90% dos pedidos, e o Access, WARP, Workers AI, Pages, Stream e Turnstile caem com ele por 2 h 28 min. A página de estado do Google publica a sua primeira atualização uma hora atrasada, porque funciona no Google Cloud.

Ler a edição escrita (Inglês) ↗

O que este vídeo aborda

  • Um campo em branco, um ponteiro nulo, todas as regiões
  • Linha temporal: 29 de maio → 17:45 → crash loop → botão vermelho → 17:52 Cloudflare
  • us-central1: o efeito de rebanho
  • Mecanismo: verificação no caminho do pedido, replicação global, um fornecedor
  • git blame — a divisão

Transcrição traduzida

Traduzido da narração original em inglês. Áudio e legendas disponíveis são controlados pelo YouTube.

Um campo em branco, um ponteiro nulo, todas as regiões

0:00 Uma linha de política com campos em branco atinge um ponteiro nulo, e o Google Cloud falha em todas as regiões de uma só vez — e a Cloudflare também cai, depois chama o Google de "fornecedor terceirizado". 12 de junho de 2025, 17:49 UTC. Relatório do Google: Service Control, o binário que aprova cada pedido de API, num crash loop por três horas. Da Cloudflare, na mesma noite: Workers KV, noventa por cento a falhar, duas horas e vinte e oito.

0:23 Como aconteceu, porque um campo em branco se tornou global em segundos, e quem é o culpado. Este é o The Daily Diff, postmortem. 29 de maio. O Service Control recebe uma nova verificação de quota, lançada região a região com um

Linha temporal: 29 de maio → 17:45 → crash loop → botão vermelho → 17:52 Cloudflare

0:35 botão vermelho — mas o novo caminho de código nunca é executado durante a implementação; nada o ativa ainda. Nenhuma verificação de nulos. Nenhuma feature flag. 17:45. Uma alteração de política com campos em branco entra na tabela Spanner. A quota é global, então a linha é replicada em todo o lado em segundos. Cada binário do Service Control lê-o, atinge o ponteiro nulo, falha, reinicia, lê-o novamente. Cada chamada de API: 503.

0:55 O Google é rápido: triagem em dois minutos, causa raiz em dez. O botão vermelho está fora em quarenta, e as pequenas regiões recuperam primeiro. A página de estado publica a sua primeira atualização uma hora depois, porque funciona no Google Cloud. 17:52. A equipa WARP da Cloudflare vê novos dispositivos falharem ao registar. Workers KV, a loja que metade da Cloudflare usa para configuração e identidade, reside numa cloud de terceiros. O Access falha em cada login — por design, falha fechado.

1:20 O Workers AI falha em cada inferência. 19:11, Gergely Orosz: duas clouds independentes caíram ao mesmo tempo, nunca antes visto. 19:32, o suporte do Google diz a um utilizador que não há interrupções conhecidas — tente limpar os seus cookies. Todo o resto recupera por volta das 19:48.

us-central1: o efeito de rebanho

1:34 us-central1 não: tarefas de reinício estampam a mesma tabela Spanner, sem randomized backoff, então o Google as restringe manualmente. Duas horas e quarenta. Um: a verificação da política está dentro do caminho do pedido; quando a verificação morre,

Mecanismo: verificação no caminho do pedido, replicação global, um fornecedor

1:46 a API morre. Dois: os dados de quota tornam-se globais sem faseamento; uma linha má é uma linha global. Três: a Cloudflare sabia. O Workers KV estava a meio da migração para o seu próprio R2, com um único fornecedor — o postmortem chama-lhe uma lacuna na cobertura.

git blame — a divisão

2:00 git blame. Google, cinquenta e cinco por cento: nenhuma verificação de nulos, nenhuma feature flag, nenhum backoff — o seu relatório diz que uma flag o teria apanhado no faseamento. Replicação global, vinte: uma linha, cada região, segundos. Cloudflare, vinte: metade de uma linha de produtos numa loja de um fornecedor, e um postmortem que nunca diz Google. A página de estado, cinco, por viver no que relata. Raio de explosão: setenta produtos Google Cloud, dez aplicações Workspace,

Raio de explosão

2:23 todas as regiões. Três horas. Na Cloudflare: Access, WARP, Workers AI, Pages, Stream — dois e meio. Hacker News, mil e quatrocentos pontos; comentário principal: a página de estado está verde.

Veredito + a linha de segunda-feira

2:33 Veredito, postmortem: SHIP IT. Ambos os postmortems chegam em trinta horas, ambos se culpam, e as correções do Google são concretas: falha aberta, flags desligadas por padrão, backoff exponencial. A linha de segunda-feira: novo código por trás de uma flag que é enviada desligada, e uma verificação de nulos onde os dados entram. Envie-me o incidente sobre o qual ainda não lhe é permitido falar, nos comentários, ou em the daily diff dot dev. E esse é o diff de hoje.

2:53 Sou o Niko da Axrisi. Faça a fusão responsavelmente.

Fontes

  1. Google Cloud Service Health, Incident Report (Jun 13, 2025) + Mini Incident Report (Jun 12)status.cloud.google.com
  2. Cloudflare, "Cloudflare service outage June 12, 2025" (Jun 12, 2025, 22:00 UTC)blog.cloudflare.com
  3. Cloudflare Status, "Broad Cloudflare service outages" (18:19–21:31 UTC)www.cloudflarestatus.com
  4. Gergely Orosz, 19:11 UTC, "Their infra is fully independent AFAIK"x.com
  5. @Google support, 19:32 UTC, "there aren't any known service disruptions"x.com
  6. Thomas Kurian (Google Cloud CEO), Jun 13 01:35 UTCx.com
  7. Hacker News, "GCP Outage" (1,468 points)news.ycombinator.com
  8. Hacker News, "Cloudflare was down" (341 points)news.ycombinator.com
  9. Hacker News, "Google Cloud Incident Report – 2025-06-13" (209 points)news.ycombinator.com

Vídeos relacionados