Článek
Sociální síť Facebook měla 4. října šestihodinový výpadek a s ní i služby WhatsApp nebo Instagram, které mají po celé zeměkouli kolem tří miliard aktivních uživatelů. Všechny tři jsou totiž závislé na jedné infrastruktuře.
Když dojde k chybě na úrovni páteřních služeb, rozpadnou se i všechny služby, které na těchto základních protokolech stojí a využívají je. V rychlém rozhovoru redakci princip takového problému popsal Zdeněk Cendra, český odborník na webovou infrastrukturu, provozovatel globální sítě CDN77 pro doručování obsahu a miliardář.
Kaskádové selhání
Co už víme o důvodu šestihodinového výpadku Facebooku a souvisejících služeb?
Z toho, co je zřejmé zvenku, tak Facebooku se rozpadla síť. Nejenže nebyly navenek vidět domény Facebooku, což je chyba DNS. Ale nebyly k dispozici ani jejich IP adresy. Z toho, co psal technický šéf Facebooku, je zřejmé, že se jim to kaskádovitě „složilo“.
To funguje tak, že v síti jsou zařízení, která do světa rozhlašují, že toto je Facebook a tady jej najdete. Když to přestane fungovat, tak se stane to, co včera: v podstatě zmizíte z internetu. Zmizely domény i IP adresy. A když se vám toto stane, tak je velmi těžké to zase obnovit. Protože k obnově potřebujete použít věci, které vám ale v tu chvíli nefungují. Nemáte přístup na routery, nefungují vám často autorizační služby, nefunguje vám vnitřní komunikace ve firmě.
Když se tohle všechno sejde, tak pak ta obnova trvá šest hodin. Nám se jednou stalo něco podobného a pak se řeší klasický problém „slepice–vejce“.
Takže k tomu, abyste opravili zaseklý zámek, se potřebujete dostat do té zamčené dílny. Něco podobného řešil Google v prosinci 2020, kdy sám sobě odmítal přístup do sítě.
Je to podobné, ale rozdíl je, že Googlu se to tenkrát nesložilo celé. Facebooku se to složilo téměř všude. Z naprosté většiny, určitě více než z 50 procent.
Servery Facebooku o sobě najednou přestaly říkat, že patří Facebooku. Do pár minut zmizely z internetu.
Na druhou stranu bych řekl, že na začátku byla nějaká lidská chyba nebo kombinace běžné údržby. Neřekl bych, že je někdo hackl nebo tak. To, co se jim stalo, se děje občas všem. Jen Facebooku trvalo dlouho to napravit, protože to mají opravdu složité. To chápu. V síti máte nějaké zdroje informací, které hlásají, komu patří konkrétní IP adresy. Ty informace se pak po světě propagují dále. Když vám to selže, tak se to selhání do pár minut rozšíří všude. A Facebook zmizel z internetu.
Mluví se o selhání BGP (Border Gateway Protocol)…
Ano, to je ten protokol, kterým se směřuje provoz na internetu. To je ten protokol, na kterém server říká: „Ahoj, já jsem Facebook.com a toto je moje IP adresa.“ Podobně jako protokol TCP/IP umožňuje přenos informací na webu, tak BGP umožňuje komunikaci síťových prvků.
Je to nástroj, pomocí kterého spolu servery komunikují a rozpoznají se navzájem. Internet je decentralizovaný a všechny servery si povídají se všemi ostatními. A najednou o sobě přestaly říkat, že jsou Facebook, takže ostatní servery je neviděly pomocí BGP protokolu. Nejspíš proto pak zmizely z DNS záznamů o doménách.
“Facebook can't be down, can it?”, we thought, for a second. Well it can, and here's how. https://t.co/V0fW2n0a4I
— Cloudflare (@Cloudflare) October 4, 2021
A ty DNS záznamy si servery dál vyměňují mezi sebou…
To bylo vidět, že spadlo BGP a za pár minut spadly DNS záznamy. A jste vyřízení. V tu chvíli neexistuje doména Facebook.com a neexistuje IP adresa, kde ten server běží. Musíte tedy vyřešit, jak to spravit, protože to spolu souvisí. Vlastně chápu, že jim to trvalo šest hodin, protože při jejich rozsahu…
Navíc nejspíše část lidí pracovala z domova, rozpadla se jim interní komunikace přes Messenger. Dost často se při takhle velkém výpadku zpomalí vnitrofiremní komunikace. Nefunguje jim třeba autorizace v rámci vnitřní sítě. Pokud spolu obvykle komunikují přes interní nástroj, tak ten v tu chvíli nejspíš také nefunguje.
Vyjádření Facebooku k výpadku 4. října 2021
Vyjádření Santoshe Janardhana, viceprezidenta Facebooku pro infrastrukturu, uvádíme v plném znění:
Všem lidem a firmám po celém světě, kteří jsou na nás závislí, se omlouváme za nepříjemnosti způsobené dnešním výpadkem na našich platformách. Na obnovení přístupu pracujeme, jak nejlépe umíme, a naše systémy jsou nyní opět v provozu. Základní příčina tohoto výpadku zasáhla také mnohé interní nástroje a systémy, které používáme při každodenním provozu, což zkomplikovalo naše pokusy o rychlou diagnostiku a vyřešení problému.
Naše technické týmy zjistily, že změny konfigurace na páteřních směrovačích, jež koordinují síťový provoz mezi našimi datovými centry, způsobily problémy, které tuto komunikaci přerušily. Toto přerušení síťového provozu mělo kaskádový efekt na způsob, jakým naše datová centra komunikují, a způsobilo zastavení našich služeb.
Nemůžete otevřít dveře, když jste si uvnitř zabouchli klíče. Objevily se ostatně informace o tom, že zaměstnancům Facebooku nefungovaly karty pro vstup do budovy…
To je takový typový příklad. Ty věci jsou na sebe navázané, takže to musí řešit od základů. Zprovoznit BGP, potom půjde DNS, potom půjdou otevřít dveře. A takovéto věci se samozřejmě obvykle dějí v tu nejméně vhodnou dobu. Objevíte místa, která nefungují, přestože jindy vždy fungují. Můžete si to představit tak, že kdyby vám v kanceláři vypadl proud, budete mít najednou více problémů, než si zpočátku uvědomujete. Zjistíte, co všechno potřebuje k provozu elektřinu. Když není proud, nejde řešit nic jiného.
Když se věci kazí, tak se kazí
Někde bez elektřiny třeba ani neotevřete dveře k tomu, abyste se dostali k pojistkám…
Na internetu je to stejné. Když nefungují IP adresy, tak nefungují žádné další služby na to navázané. Těch je mnohem víc, než si myslíme. To, že s Facebookem zároveň vypadl i Instagram a WhatsApp, zjednodušeně znamená, že na pozadí sdílí infrastrukturu.
Vypadlo tedy něco hodně základního, hodně důležitého.
Vypadlo tedy něco hodně základního, hodně důležitého. Ne nějaké diskové pole nebo databáze obrázků, to všechno se dá řešit snadno. Ale vypadly IP adresy a to je to nejzákladnější. To, kde čekáte, že to funguje. A když to nefunguje, všichni jsou překvapení.
Plyne z toho nějaké ponaučení pro uživatele a firmy? Nebo se zkrátka takové věci stávají a stávat budou?
Stávají se. Občas vypadne Google Cloud, Netflix, Amazon, občas vypadne Facebook. A to je vidět celosvětově, to zaznamenají i uživatelé. Ale my z oboru jsme na tyto věci zvyklí, občas se něco sesype a druhý den na to všichni zapomenou.
Problém je, že služby Facebooku používají ke své komunikaci miliardy lidí. Takže to zasáhlo do života hodně lidí. Tento výpadek byl ale výjimečně dlouhý, protože se chyba rozšířila celosvětově. Přitom ta chyba začala docela v dobrý čas, lidé v USA tou dobou už byli v kancelářích. Ale nic strašného se nestalo.
Objevily se spekulace, proč se to dělo právě v době, kdy se na Facebook valí kritika na základě informací z uniklých interních dokumentů. Může to s tím souviset, klidně i nepřímo?
Upřímně si myslím, že je to náhoda.
Já si dokážu představit, že tam bude nějaký souběh stresu. Na firemní pohodě asi takové zprávy nepřidávají…
Ano, náhody vznikají trojí chybou nebo čtyřnásobnou chybou. Ale nespojoval bych to. Když je člověk nervózní, dělá víc chyb, ale to je život. Zase říkám, na pozadí se takové výpadky dějí, ale tento byl opravdu velký, tak si ho všiml celý svět.