Kako Facebook snuje svoje strežnike
Primož Resman
24. sep 2014 ob 21:05:13
Facebookove strežnike smo tukaj že predstavljali, ko smo pred približno letom dni prejeli obilico informacij v zvezi z njihovo zasnovo. Facebook je del projekta Open Compute, ki zasnovo strežnikov brezplačno ponuja vsem zainteresiranim proizvajalcem. A zasnove projekta najverjetneje niso primerne za vse uporabnike, saj ima Facebook nekaj specifičnih zahtev, skrbeti morajo namreč za nekaj 100 milijonov uporabnikov in hraniti vse njihove podatke, od imena in spola do zbirke slik. Kljub odprtosti zasnove je ta vseeno daleč od običajnih standardov.
Na TechCrunchu so na ogledu in pogovoru o snovanju teh strežnikov izvedeli nekaj več o samem postopku snovanja. Pri Facebooku so povedali, da svojih inženirjev z različnih področij ne skrivajo med seboj, kot je to navada drugje v industriji, temveč inženirjem, ki snujejo bolj računsko naravnane strežnike, strežnike, ki skrbijo za baze podatkov ter strežnike za hrambo podatkov (slike in podobno), dovolijo medsebojno druženje. Rezultat je širše deljenje idej in seveda boljše rešitve.
Ključno za boljše oz. bolj vzdrževalne rešitve pa je pošiljanje inženirjev na mesto uporabe, v strežniško-podatkovne centre, kjer lahko vidijo, kako vzdrževalci delajo z opremo. Običajen razlog za takšno početje v vseh industrijah je, da razvojniki vidijo, kako grdega ravnanja je sposoben povprečen uporabnik, a je v tem primeru bolj pomembno, da inženirji vidijo, kako posamezne odločitve vplivajo na čas vzdrževanja. Če je trdi disk trdno privijačen s šestimi vijaki, kolikor ima lukenj ob strani, se seveda ne bo premaknil, a bo to vzdrževalcu vzelo veliko nepotrebnega časa pri menjavi diska. Ki se, ko upoštevamo Facebookov obseg hrambe podatkov, zgodi pogosto. ZELO pogosto. Rezultat je strežniško ohišje, ki se na vodilih pripelje iz omare, odpre brez orodja ter prav tako brez orodja omogoča odstranitev in menjavo samega trdega diska. Postopek je hiter in neboleč.
Ko je prišlo do snovanja računskih strežnikov, so bili inženirji vajeni konstruiranja v okovih dimenzij 2U, torej 19 oz. 23 palcev široke omare s 3,5 palci višine (ena enota, U, predstavlja 1,75 palca višine). Ker so jim dovolili kreativnost spustiti na pašo, so v zameno dobili obstoječo zasnovo dolge, ozke in relativno visoke škatle, kjer sta procesorja postavljena en za drugim z lastnim pomnilnikom na vsaki strani in relativno velikim (učinkovitim) hladilnikom. Seveda takšne nestandardne rešitve zahtevajo drugačne omare za strežnike, ki so jih seveda pripravili, a, kot že rečeno, pridejo v poštev le za redke uporabnike. Pri Facebooku so povedali še, da v stilu hack-a-thona radi v ekipe združijo specialiste z različnih področij z bolj splošnimi inženirji ter jim predstavijo problem, ki ga morajo rešiti. Zaradi tekmovalnosti in raznolikosti znotraj ekipe so se rešitve izkazale za dobre.