V centrále Seznamu na pražském Andělu mají malou komůrku nazvanou Bastlírna. Původně to byla běžná součást open space kanceláří, ale od zbytku osazenstva musela být izolována. Ostatní zaměstnance rušil například kouř z pájky nebo to, že se zde kladívkem roztloukávaly nýtky. Teď je v Bastlírně pravá kreativní atmosféra (rozuměj spousta materiálu, počítačových součástek a nářadí) a vzniká zde něco, co by v budoucnu mělo pohánět minimálně část největší internetové firmy v Česku.
„Tohle je jedna z věcí, kterou tady děláme. Zatím tomu říkáme Montovna,“ ukazuje Miroslav Bezdička v Bastlírně na jeden z několika otevřených serverů, které je zde možné různě po stolech vidět. Bezdička do Seznamu přišel v srpnu loňského roku z firmy e4t electronics for transportation, která v rámci skupiny Volkswagen vyvíjí elektroniku do automobilů. Dostal funkci hardwarového manažera, do týmu přibral další dva techniky a společně pracují na vlastních serverech, které Seznam postupně začíná nasazovat do testovacího provozu.
Celý Seznam v současné době běží na více než pěti tisících serverech umístěných zčásti v datacentru Nagano provozovaném O2, ale převážně ve vlastním datovém komplexu Kokura v Horních Počernicích v Praze. Při takovém množství strojů už se dá přemýšlet o tom, co běžně dělají největší internetoví a cloudoví hráči ve světě – stavět si serverový hardware na míru.
Už by to šlo
Technický ředitel Seznamu Vlastimil Pečínka si s touto myšlenkou hrál už delší dobu a zmínil ji například už začátkem loňského roku v našem článku o Malém Seznamu. „S rostoucí velikostí už to dává smysl,“ uvedl tehdy Pečínka.
TIP: Jak v Seznamu vyvíjejí vlastní hardware? Podívejte se:
Tato prohlášení nebylo pouze taktikou, jak přinutit dodavatele tradičních serverů ke slevám a výhodám. Tehdejší ředitel Seznamu Pavel Zima schválil Pečínkovi financování projektu vlastního hardwaru. Bastlírna nyní spadá pod technickou divizi Seznamu a Zima už se z jiné pozice v projektu také sám angažuje.
„Vlastík byl dlouhodobě nespokojený s politikou dodavatelů hardwaru. Často se vám toho snaží prodat co nejvíce a zkouší různé triky,“ popisuje Zima. „V ceně serverů se navíc platí i věci jako značka, podpora a další. A když je v serverech nějaká přidaná hodnota, často je zapouzdřená a je největším zdrojem chyb.“
Velké internetové firmy typu Seznam v drtivé většině případů neprovozují tradiční sestavu serverových aplikací, jako je tomu u běžných společností. Služby jako Mapy.cz či Seznam Email jsou psány interně a tak, aby se dokázaly rychle škálovat s tím, jak roste počet uživatelů a zátěž (hodně se využívá open source). Takové aplikace často mají specifické požadavky a nepotřebují sadu funkcí a výkonu, jaké lze koupit v serverech od firem Dell, Hewlett Packard Enterprise a Fujitsu (dodavatelé Seznamu).
Cestou tak je vytvářet si servery vlastní. Připravené tak, aby odpovídaly specifickým požadavkům a nebylo nutné živit nepotřebnosti kolem. Montovna je jedním ze dvou hlavních projektů tohoto typu, na kterém aktuálně v Seznamu pracují.
Made in Seznam
Montovna umožňuje české internetové jedničce skládat vlastní servery z tradičního komoditního hardwaru. Jednotlivé komponenty jako základní desky, pevné disky, paměti a další se berou od různých výrobců. Poskládáním komponent dohromady vznikne stroj, který je cenově výhodnější než v případě přístrojů od OEM výrobců. Komponenty se například dají vyměnit dle libosti a není tak nutné kupovat disky pouze od OEM.
Seznam má vlastní 12U šasi (plechová „krabice“, která se vloží do běžné serverové skříně/racku) s tím, že do každého 1U („jedna police v oné krabici“) se vedle sebe vejdou dva vlastní servery. Celkem tak jedno šasi pojme 24 serverů „Made in Seznam“. Vyřešeno je centrální chlazení a 12V napájení (do budoucna je možné 48V).
Jedna Montovna už jako prototyp běží v datovém centru Kokura v rámci vývojového prostředí a Bezdička a jeho tým budou sledovat a vyhodnocovat, jak se hardware bude chovat, a vyčíslovat potřebné údaje pro ostré nasazení.
První testy ukazují dobré úspory ve spotřebě. Servery v klidovém (idle) stavu vykazují hodnoty 67 wattů, v případě plné zátěže pak 160 wattů. Oproti běžnému železu jde často o výrazné zlepšení.
Seznam experimentuje se základními deskami od několika dodavatelů, konkrétně Asusu, Intelu a SuperMicro. Každý server má dva procesory Intel Xeon E5–2630L v4 a 128 GB RAM. Do serveru se vejdou čtyři pevné SSD disky (využívají se velikosti 400 či 480 GB).
Servery s ARMem
Druhý projekt Bastlírny jde každopádně ještě dále. Ve fázi oživování (testy se rozběhnou na podzim) jsou v současné době vlastní servery postavené nikoliv na běžných čipech od Intelu, ale čipech ARM. Jde o základní desky zhruba o velikosti Raspberry Pi, které se následně vkládají do stejných serverových šasi, ve kterých běží i hardware Montovny. Do jednoho takového šasi se vejde osm ARM serverů (desek). A spolu s nimi také vlastní 10Gb switch, který sbíhá komunikaci všech osmi desek do jedné (každá zvládá 2,5 Gb).
„Toto řešení chceme využít na object storage,“ přibližuje Bezdička. To v případě Seznamu znamená především na Email a CDN. Na Hadoop a další náročnější operace není hardware dostatečně výkonný. Deska jako taková má pak vždy jeden čtyřjádrový ARM čip od Marvell Technology a pracuje se 4 GB RAM. To stačí v případě e-mailů na aktivity typu rozbalování příloh. Na spodní části ARMových desek je vždy připevněn jeden SSD disk.
Seznam se v tomto případě volně inspiruje u Open Compute Projectu (OCP), což je „hnutí“, které původně rozjel Facebook. V něm se pracuje s konceptem otevřeného hardwaru a firmy si zde vyměňují své designy. Seznam z OCP v základu vychází, v mnohém si ale věci dělá po svém (třeba dva servery vedle sebe místo tří).
Kompletní návrhy tištěných spojů a desek se realizují v Bastlírně. Výroba hardwaru se pak různí – většinou se dělá u nespecifikovaných partnerů v Česku, menší a méně náročné věci se pak řeší v Číně. Pro správu si v Seznamu píší také vlastní software. Místo finální výroby serverů ještě není vyřešeno.
„Už také řešíme to, jak servery chladit ponořením do oleje. Teď máme datacentrum s dobrými rozvody vzduchu. Ale kdyby se někdy stavělo nové, olej by mohl být zajímavou novou možností,“ popisují Bezdička se Zimou. A do budoucna mají i další nápady. Z celých hardwarových aktivit by mohl vzniknout spin-off, tedy samostatně operující startup. To jsou ovšem zatím předčasné debaty.
Seznam při budování své hardwarové odnože bude muset vyřešit řadu detailů. Mezi nimi i odběry komponent a pevných disků. SSD jednotek je obecně nedostatek a při vyjednávání sehraje velkou roli i velikost odběrů.