Text je překladem článku The Big Cloud Exit FAQ, jehož autorem je David Heinemeier Hansson. Vyšlo s autorovým laskavým svolením.
Před více než rokem jsme oznámili svůj záměr opustit cloud. Tehdy jsme se podělili o svůj kompletní rozpočet na cloud ve výši 3,2 milionu dolarů na rok 2022 a o skutečnost, že si raději vytvoříme vlastní nástroje, než abychom platili za předražené smlouvy na firemní služby. Mise byla připravena!
O měsíc později jsme zadali objednávku na servery Dell v hodnotě 600 000 dolarů, které měly vyřešit náš odchod z cloudu. Spočítali jsme si, že v příštích pěti letech ušetříme náklady ve výši 7 milionů dolarů. Podrobně jsme také popsali důležitější hodnoty, které nás vedly k odchodu z cloudu, než jsou jen samotné náklady. Věci jako nezávislost a věrnost původnímu étosu internetu.
Ještě v únoru jsme oznámili nový nástroj, který jsme během několika týdnů zavedli, abychom z cloudu odešli, aniž bychom se vzdali všech inovací v oblasti kontejnerů a principů fungování z cloudu. Jednalo se o nástroj Kamal.
Krátce poté dorazil na paletách do našich dvou geograficky oddělených datových center veškerý hardware, který jsme potřebovali pro odchod z cloudu. Všech 4 000 vCPU, 7 680 GB RAM a 384 TB úložiště NVMe!
V červnu bylo hotovo. Opustili jsme cloud.
Tvrdit, že tato cesta byla kontroverzní, je velmi slabé vyjádření. Miliony lidí četly aktualizace na LinkedIn, X a sledovaly náš mailing list. Dostal jsem tisíce komentářů, které žádaly o vysvětlení, poskytovaly zpětnou vazbu a vyjadřovaly nedůvěru nad naší odvahou obrátit směr, když ostatní měli stále plné ruce práce s původním směrem.
Důkaz úspěchu je ale ve výsledku. Nejenže jsme odchod z cloudu dokončili rychle, ale zákazníci si téměř ničeho nevšimli a brzy se začaly objevovat úspory. Už v září jsme zajistili úspory ve výši milionu dolarů na účtu za cloud. Jak začaly končit rezervované instance (kdy si předplácíte na celý rok dopředu, abyste získali výhodnější ceny), účet se stále propadal:
Což nás přivádí k dnešku. Odchod z cloudu je hotový, ale otázky přicházejí dál a stále jich přibývá. Tak mě napadlo, že než abych odpovídal na stále stejné body (a pořád dokola!), sestavím starý dobrý seznam často kladených otázek (FAQ). Tady je:
Nepohltí vaše hardwarové úspory vyšší mzdové náklady týmu?
Ne, protože jsme po odchodu z cloudu nezměnili složení týmu. Stejní lidé, kteří provozovali HEY, Basecamp a další aplikace v cloudu, je nyní provozují na našem vlastním hardwaru.
To je hlavní klam cloudového marketingu: vše bude tak snadné, že k obsluze téměř nikoho nepotřebujete. Nikdy jsem se s tím nesetkal. Ani u 37signals, ani u nikoho jiného, kdo provozuje velké internetové aplikace. Cloud má jisté výhody, ale obvykle nespočívají ve snížení počtu provozních zaměstnanců.
Proč jste raději neoptimalizovali účet za cloud?
Náš účet za cloud býval v předchozích letech dvakrát vyšší než vysoce optimalizovaný, měsíčně kontrolovaný a dobře nasmlouvaný účet za rok 2022 s částkou 3,2 milionu dolarů. Z pomyslného citronu jsme vymačkali téměř každou kapku a byla to hromada opakující se práce.
To je jeden z důvodů, proč jsem tak nadšený z konceptu odchodů z cloudu pro softwarové společnosti střední a vyšší velikosti. Pro firmu naší velikosti je nesmírně snadné utratit 2–3–4násobek částky, kterou jsme každý měsíc vyhazovali. Což pro většinu znamená ještě vyšší potenciál úspor.
Co kdybyste místo toho napsali aplikaci Cloud Native?
Cloud Native, jako protiklad k „lift'n'shift“, je často označován za způsob, jak skutečně využít výhod cloudu, ale to je opět jen další marketingový nesmysl. Obecně se soustředí na mylné přesvědčení, že se vše zlevní použitím bezserverových funkcí a nástrojů používaných na vyžádání. Pokud ale potřebujete kilo cukru, nákupem jednorázově balených kostek nic neušetříte. Podrobněji jsem o tom psal v článcích Nenechte se oklamat serverless a Ani Amazon nedokáže dát smysl serverless mikroslužbám.
Co bezpečnost? Nebojíte se, že vás někdo hackne?
Většina bezpečnostních problémů, kterým čelíte provozováním softwaru na internetu, pochází z aplikace a jejích přímých závislostí. Práce, která musí proběhnout, abyste řádně zabezpečili aplikaci vytvořenou na zakázku, se nijak podstatně neliší, ať už vlastníte počítače, na kterých běží, nebo si je pronajímáte od poskytovatele cloudu.
Provozování služeb v cloudu může v lidech vyvolat falešný pocit bezpečí. Myslí si, že se nemusejí obávat, ačkoli tomu tak rozhodně je.
Velkou výhodou moderního kontejnerového poskytování aplikací je však to, že už netrávíte mnoho času ručním záplatováním strojů. Většina z nich je zabalena v dockerových souborech a nasazení nové verze aplikace, která běží na novější verzi Ubuntu nebo čehokoli jiného, je stejné, ať už si pronajímáte stroje v cloudu, nebo provozujete vlastní.
Nepotřebujete k tomu prvotřídní tým superinženýrů?
Nikdy se nevyhýbám příležitosti pochlubit se skvělými lidmi, kteří pracují ve společnosti 37signals, protože jsem právem hrdý na tým, který jsme zde sestavili. Ale bylo by za hranicí pýchy tvrdit, že mají nějaké zvláštní magické schopnosti, které jim umožňují provozovat náš vlastní hardware.
Internet začal fungovat v roce 1995. Cloud jako výchozí volba tu nebyl před rokem 2015. Takže už více než dvacet let společnosti provozují hardware pro provoz svých aplikací. Nejde o žádné archaické znalosti, které by se ztratily v propadlišti dějin. Možná nevíme přesně, jak se stavěly pyramidy, ale stále víme, jak připojit linuxový počítač k internetu.
Kromě toho je 90 % znalostí potřebných pro provoz vlastního hardwaru stejných jako pro provoz v cloudu. Alespoň jakmile se dostanete do našeho měřítka s miliony uživatelů a statisícovými měsíčními účty.
Znamená to, že si stavíte vlastní datová centra?
Mimo hyperskalárů a hrstky dalších megaspolečností, jako jsou Google, Microsoft a Meta, si nikdo vlastní datová centra nestaví. Téměř všichni ostatní si jednoduše pronajmou pár skříní nebo místnost či patro u profesionálního provozovatele datových center, jako je Equinix.
Vlastní hardware tedy neznamená, že se musíte starat o bezpečnost, dodávky energie, protipožární systémy nebo jiné související detaily, jejichž pořízení může stát stovky milionů dolarů.
Co ale s regály, stohováním serverů a taháním síťových kabelů? Kdo to dělá?
Využíváme služeb poskytovatele datových center s názvem Deft. Podobných společností je spousta. Zaplatíte jim za to, že rozbalí krabice, které vám přijdou do datového centra přímo od Dellu nebo kohokoli jiného. Tam pak servery naskládají, postaví do racku a vy vidíte, jak se IP adresa připojí. Stejně jako cloud, i když to není okamžitě.
Náš provozní tým v podstatě nikdy nevkročil do našich datových center. Pracují na dálku z celého světa. Zkušenosti s provozem se mnohem více podobají cloudu než počátkům internetu, kdy si každý tahal vlastní kabeláž.
Jak je to se spolehlivostí? Neudělá to za vás cloud?
Když jsme pracovali v cloudu, používali jsme dva geograficky oddělené regiony a spoustu redundance v rámci každého regionu. Přesně to děláme i teď, když jsme mimo cloud. Svůj vlastní hardware hostujeme ve dvou geograficky oddělených datových centrech, každé datové centrum je schopné nést plnou zátěž a každá kritická část infrastruktury má repliky.
Spolehlivost je z velké části funkcí redundance. Měli byste mít možnost kdykoli přijít o jakýkoli počítač, jakoukoli komponentu, aniž by to znamenalo problém. To jsme měli v cloudu a máme to i s vlastním hardwarem.
Co výkon pro celý svět? Není cloud rychlejší?
Naše předchozí nastavení cloudu využívalo dva různé regiony v rámci USA a pak využívalo síť CDN s místními uzly po celém světě. Jako u spolehlivosti je tohle stejný příběh i s naším výstupem z cloudu. Používáme dvě datová centra v USA a pro urychlení doručování obsahu používáme mezinárodní síť CDN.
Je to v podstatě stejná rovnice. Nejtěžší na mezinárodní komunikaci obvykle není zajištění datového centra nebo nastavení hardwaru, ale návrh aplikace tak, aby se vypořádala s více primárními databázemi pro zápis, řešení zpoždění replikace a všechny další zábavné věci, které jsou potřeba k tomu, aby aplikace byly rychlé na globálním internetu.
V současné době plánujeme pro HEY experiment s datovým centrem v Evropě a při jeho přípravě se opíráme o kolegy ze společnosti Deft. Stejně jako u všech nákupů hardwaru trvá jeho dodání déle než u cloudu. Nic se nevyrovná cloudu, když řeknete „chci deset serverů online v Japonsku“ a vidíte, že se to stane o 30 sekund později. To je úžasné.
Ale pro náš druh podnikání se šílený příplatek, který musíte zaplatit za takovýto okamžitý start, prostě nevyplatí. Čekat několik týdnů, než se servery objeví online, je naprosto přijatelný kompromis.
Vzali jste v úvahu, kolik bude stát pozdější výměna serverů?
Ano, počítali jsme s tím, že servery vydrží pět let, což je konzervativní odhad. Měli jsme servery, které vydržely 7 až 8 let a fungovaly skvěle. Ale pět let je interval, který obvykle používá většina lidí a umožňuje snadné finanční srovnání.
Ale je tady háček. Utratili jsme 600 000 dolarů za nákup spousty nových serverů. Tuto investici jsme již splatili díky úsporám, které jsme si zajistili opuštěním cloudu! Takže pokud příští rok dojde k nějakému úžasnému technologickému průlomu a my budeme chtít znovu nakoupit spoustu nových věcí, můžeme to snadno udělat a stále budeme matematicky v náskoku.
Co předpisy o ochraně osobních údajů a GDPR?
Pokud jde o předpisy o ochraně osobních údajů a GDPR, cloud vám žádné skutečné výhody nenabídne. Je tu spíše negativní aspekt, protože všichni hlavní hyperskalátoři jsou američtí. Takže pokud jste v Evropě a kupujete cloudové služby od Microsoftu, Amazonu nebo Googlu, stále jste odpovědní za to, že americká vláda může tyto poskytovatele legálně donutit k předání dat a záznamů.
Obšírně jsem o tom psal v článku Americké datové špiony nikdy nebude zajímat, kde jsou servery.
Pokud je pro vás jako pro evropskou firmu klíčové přísné dodržování GDPR, je lepší mít vlastní hardware a provozovat ho u evropského poskytovatele datových center.
Co s nárazovou zátěží? Co automatické škálování?
Překvapivé na nákupu vlastního hardwaru je zjištění, jak je levný a zároveň výkonný. Pokrok jen za posledních 4 až 5 let je obrovský. To je jeden z důvodů, proč se velká část cloudu stává rok od roku horší variantou. Mooreův zákon sráží ceny a zvyšuje schopnosti počítačů, které si koupíte od Dellu a dalších výrobců. Ale téměř se nehýbe s cenou, kterou musíte platit Amazonu a podobným za jejich spravované služby.
To vše znamená, že si můžete dovolit dramaticky přeplácet vlastní hardware, abyste měli k dispozici dostatečnou rezervu pro řešení špiček. V dlouhodobém rozpočtu se to sotva projeví.
Pokud se však pravidelně setkáváte s 5–10násobnými nebo vyššími nárůsty poptávky oproti základnímu stavu, můžete být skutečně vhodným kandidátem pro cloud. To byl koneckonců původní podnět pro AWS. Amazon potřeboval na Černý pátek nebo Kybernetické pondělí mnohem, mnohem větší výkon než po zbytek roku. Takže flexibilní hardware dával smysl.
Ale můžete také kombinovat a přizpůsobovat. Dobrá rada říká „kup si základ, pronajmi si špičku“. Mnoho společností se tím však ani nebude muset zabývat. Stačí nakoupit několik výkonných strojů s dostatečným předstihem před křivkou růstu a sledovat využití v čase. Pokud budete muset provést neplánované rozšíření, obvykle můžete mít celou další flotilu serverů online zhruba za týden.
Kolik utrácíte za servisní smlouvy a licenční poplatky?
Nic. Vše, co potřebujete k provozování aplikací na internetu, je obecně dostupné jako open source. My provozujeme open source verze všeho, co jsme provozovali v cloudu. Z našich databází RDS se stala MySQL 8. Z našeho OpenSearch se stal open source ElasticSearch.
Některé společnosti mohou mít skutečně rády komfort smlouvy o poskytování služeb a existuje spousta poskytovatelů, kteří ji mohou nabídnout. My jsme využívali skvělé služby společnosti Percona a její specialisty na MySQL. Základní rovnici to nijak zásadně nemění.
Musíte se ale vyhýbat těm nejdražším firmám. Pokud mají na svém seznamu klientů banky nebo vlády, měli byste se poohlédnout jinde, pokud vás zrovna nebaví pálit peníze.
Pokud je cloud tak drahý, proč jste tam vůbec chodili?
Protože jsme sežrali marketingovou nabídku, že to bude levnější, jednodušší a rychlejší. Jen ten poslední slib se nám splnil. Díky cloudu je opravdu rychlé zajistit celou flotilu serverů. Ale to prostě neděláme moc často, takže nám to nestojí za ten obrovský příplatek.
Strávili jsme ale roky snahou ušetřit díky „úsporám z rozsahu" a „snadnému používání“, ale nikdy se to nepovedlo. Spravované služby stále potřebovaly správu. Pokroky plynoucí z Mooreova zákona se jen zřídkakdy promítly do úspor.
Zpětně jsem vlastně rád, že jsme cloud pořádně vyzkoušeli. Hodně jsme se naučili a díky tomu jsme zlepšili své procesy. Ale přál bych si, abychom si to spočítali o pár let dříve.
Mám další otázku, na kterou jste neodpověděl!
Napište mi prosím na dhh@hey.com. Odpovědi, které jsou obecně zajímavé, přidám na tuto stránku.