Jak se Dropbox stal nezávislým na Amazonu a vybudoval si vlastní cloud

  • Dropbox se rozhodl, že data nebude ukládat na cizích serverech Amazonu
  • Vybudování vlastního cloudu a vývoj hardwaru zabral tři roky
  • Samotný přesun všech dat zabral měsíce

Dropbox se v minulých letech stal synonymem pro cloudovou aplikaci. Aktuálně ho využívá pět set milionů uživatelů, kteří společnosti svěřují svoje data a nechávají je synchronizovat napříč svými zařízeními – počítači, smartphony a třeba také NASy.

Když Dropbox začal v roce 2007 vznikat, stavěl stejně jako většina technologických startupů na cizích serverech, které nabízí škálovatelný výkon a dynamické úložiště, které se nafukuje přesně podle potřeb služby. Pro Dropbox byl ideálním kandidátem Amazon a jeho služba S3, která je největší svého druhu. Přímou konkurencí jsou pouze Google a Microsoft, které podobné platformy vývojářům taktéž nabízí.

Servery Dropboxu aktuálně obsahují asi 500 petabajtů uživatelských dat

Dropbox se však velmi brzy začal potýkat s mnoha překážkami a omezeními, která vyplynula z univerzální platformy Amazonu, která není stavěna pro jeden konkrétní účel, ale musí vyhovět všem vývojářům.

V roce 2013 tedy začal dlouhý vývoj kompletně nové platformy na míru, která by umožnila opustit datacentra Amazonu a spoléhat se pouze na svoje prostředky. A jak shrnul Wired, ani zdaleka nešlo jen o naprogramování interního sytému, který by byl naroubován na běžně dostupné servery. Inženýři z Dropboxu se tak nevyhnuli ani vývoje vlastního hardwaru, který by stamiliony uživatelů obsloužil přesně podle jejich představ.

Nezávislý Magic Pocket

Jednou z typických vlastností internetu je jeho decentralizace. Nikdo na stole nemá červené tlačítko, kterým by mohl internet vypnout (snad kromě Číny). Jenže v některých situacích to může vypadat přesně opačně. A to v případech, kdy služba jako Amazon S3 zaznamená výpadek, byť jen krátký. V takovém okamžiku se může zdát, že někdo opravdu internet vypnul.

Poslední velký výpadek se odehrál na začátku června, kdy mezi postiženými službami byl i komunikátor Slack, který je denně využíván třemi miliony uživatelů. Vedle něj byly mimo provoz i další služby, které stojí na hostingu od Amazonu.

S podobnými výpadky se museli v minulosti vypořádat také v Dropboxu. Na vlastních serverech byla uložena pouze metadata odkazující na reálné úložiště souborů – servery Amazonu. Při výpadku se tak data mohla tvářit jako přístupná, uživatelé s nimi ale pracovat nemohli. A právě vývoj robustnějšího sytému pro distribuci dat byl jednou z motivací pro vlastní řešení.

obrázek 156.jpg
James Cowling, který přišel do Dropboxu z Googlu. Na starosti měl vývoj softwarové části nové platformy Dropboxu (zdroj: Wired)

Ještě o něco důležitější však byla otázka čistě ekonomická. Dropbox se stará o petabajty uživatelských dat, která musela být distribuována na cizí servery. A takové množství stejně jako související síťový provoz spolkne na režiích miliony dolarů. Optimalizovaný systém na míru tak měl řešit i tento palčivý problém.

Software dostal název Magic Pocket a na jeho vývoji se podíleli zaměstnanci Dropboxu, kteří měli zkušenosti z Googlu, Facebooku i Microsoftu. Mezi nimi byl i James Cowling, vývojář, kterému v roce 2012 nabízel Google pracovní pozici při vývoji největší databáze Spanner, která krmí vyhledávač Googlu.

Vlastní software pro vlastní hardware

Na začátku celého přestěhování do vlastního cloudu byla myšlenka vlastního softwaru, který by běžel na standardním hardwaru. Proto tým Dropboxu začal pracovat na vývoji softwarové platformy, pro niž byl jako ideální jazyk zvolen Go. Ten byl vyvinut v Googlu jako odvozenina běžného C.

Při reálném nasazení se však vývojáři začali potýkat především s neúměrným využíváním paměti, které by zvyšovalo hardwarové nároky na provoz vlastních serverů s běžícím Magic Pocket.

Východiskem tedy bylo najít takový jazyk, který by konkrétní činnosti zvládal s menšími nároky na paměť severů. A jako další kandidát byl zvolen Rust – jazyk, za kterým pro změnu stojí osobní iniciativa jednoho ze zaměstnanců Mozilly, která jeho vývoj později sponzorovala.

V průběhu vývoje softwarové platformy v Rustu začali vývojáři narážet na omezení běžného serverového hardwaru, který nebyl pro ukládání enormního množství dat připraven.

Proto bylo rozhodnuto pro vývoj vlastního hardwaru, který byl nazván jako Diskotech. Dropbox se tedy vydal stejnou cestou jako například Google, který je aktuálně považován za největšího producenta serverů, ačkoliv je neprodává a vyrábí je pouze pro vlastní potřeby. Podobně se k problému postavil Microsoft, Amazon nebo Facebook.

GG3A0027_LR-1024x710.jpg
Diskotech - zařízení, které pojme petabajt dat (zdroj: Wired)

Vývoj strojů Diskotech měl na starost další odborník Rami Aljamal. Ten do Dropboxu přišel z Twitteru, kde se rovněž staral o vývoj hardwaru a ještě předtím působil na podobné pozici v Dellu.

Výsledkem dlouhého vývoje je zařízení o rozměrech 45 × 105 × 15 cm, které pojme pevné disky o celkové kapacitě jednoho petabajtu. Vývoj softwarové části Magic Pocket a hardwaru Diskotech zabral dva roky. Podle slov vývojářů se však ani zdaleka nejednalo o nejtěžší část celého procesu. Největší výzvou totiž bylo přesunout data ze severů Amazonu do vlastního cloudu.

4 petabajty za den

Dan Williams, který přišel do Dropboxu z Facebooku, kde se staral o vývoj síťového softwaru, popsal proces přesunu dat poměrně výstižně. Bylo to prý stejně jednoduché jako vyměnit pneumatiku auta za jízdy. Na nový hardware totiž muselo ze serverů Amazonu přetéct 500 petabajtů dat. To vše tak, aby si toho samotní uživatelé nevšimli a jejich data byla stále k dispozici.

Přesun dat na vlastní servery zabral přes čtyři měsíce

Systém, který měl přesun dat na starosti, byl v centrále Dropboxu testován dlouhé měsíce asi na pětině všech dat. Když byly odladěny všechny chyby a bugy, Dropbox se pustil do samotného přesunu uživatelských dat. Zároveň byl nastaven přísný deadline, který tvořilo vypršení smlouvy s Amazonem. Přesun probíhal rychlostí asi 4 petabajtů za den a celá operace tak zabrala přes čtyři měsíce.

Neméně podstatnou částí také byla distribuce a instalace fyzických serverů do datacenter. Ve špičce tak technici Dropboxu denně instalovali až 50 racků, kdy každý z nich obsahoval 8 strojů Diskotech. Dropbox má svoje úložiště ve Spojených státech rozmístěny celkem na třech místech. Samotný přesun byl dokončen letos v březnu, kdy Dropbox začal z devadesáti procent fungovat ve svém vlastním cloudu nezávisle na Amazonu.

Výjimku tvoří pouze Evropa, kde Dropbox čelí nepředvídatelnému zájmu uživatelů, který velmi často rapidně kolísá. Proto se rozhodl, že 10 procent dat, které jsou tvořeny evropskými uživateli, bude dál distribuovat ze serverů Amazonu.

Diskuze (9) Další článek: Facebookové „lajky“ můžete rozdávat už i ve virtuální realitě

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,