NYHETER

20% av världen stannade - vår interna chat avslöjar varför

En betydande del av internet hostade till ordentligt igår och vår interna chat gick varm. Cloudflares outage fick hela världen att bli en 503 - en fascinerande och kanske skrämmande påminnelse för oss utvecklare. 

Först av allt, vi tycker Cloudflare agerade exemplariskt här. Öppet och transparent med en post mortem redo på under 24h men som de nördar vi är har vi såklart nu läst deras väldigt transparenta postmortem och den är riktigt bra, speciellt för oss som jobbar med drift, automationslogik och produktionssäkra system. Vi länkar till deras postmortem, här kan man bland annat ta del av felande källkod för den som vill nörda ner sig https://blog.cloudflare.com/18-november-2025-outage/

Vad hände egentligen?

Utdrag från vår interna chat:
"Det som tog ned allt (globalt?) var i ett subsystem för att konfigurera en AI-feature för analys-bot. :dizzy_face: I princip, så låg felet i kod med två av mina favoriter, programmeringsspråket Rust och sum types för felhantering.Tyvärr, för Cloudflare, så användes sum typen Result<T> som ej som tänkt. Istället för robust felhantering, så invokerades .unwrap() på ett värde av typen Result , vilket innebär att “krascha” ifall resultatet som funktionen returnerar är ett fel (värdet Result::Err ). Lite som att kasta ett exception som aldrig fångas. :man-shrugging:"

När en global konfigfil blir ogiltig + .unwrap() stannar allt. Det här triggar en kedjereaktion i deras nätverk eftersom systemet är globalt distribuerat, beroende av samma logik och förväntar sig att den där filen alltid är korrekt. ”Assumtions is the mother of all fuckups” som man brukar säga helt enkelt.

Varför är det här så obehagligt intressant?

Det här är en påminnelse om något som är lätt att glömma i vardagen. Den mest kritiska koden är ofta inte den mest komplexa, utan den som “ingen tror ska fallera”. System som är byggda för att rullas ut snabbt globalt, rullar också snabbt ut fel globalt. Det är dessutom en bra case study på sådant vi gör som inte "syns":

  • defensiv kodning
  • verifieringssteg innan deployment
  • fail-open vs fail-closed
  • ”fast rollback” vs “fast rollout”
  • distribuerade consistency checks

Vår interna reflektion

Utan att vara efterkloka för Cloudflare gör extremt mycket rätt, gör denna incident det tydligt att ett ganska enkelt fel i en kodsnutt kan leda till ett outage för ett av världens största nätverk. Oavsett om du är tekniskt intresserad eller helt på andra delen av den skalan så har du hört om bolaget Cloudflare och förstått vilken oerhörd påverkan deras system har. Det är den typen av grej som känns självklar i teorin, men stress, deadlines och antaganden kan smyga sig in hos vem som helst, oavsett nivå.

Våra nyheter

Kanske är du sugen på att skriva något om oss? Här nedan finner du det som hänt oss på sistone. Prata gärna med vår marknadsanskoordinator om du vill få en kommentar.