Když ve webovém prohlížeči zadáte adresu některé ze služeb Seznam.cz, cesta požadavku vypadá následovně. Nejprve se přes DNS dostane k dané IP adrese, kde na něj čeká load ballancer sloužící pro rozložení zátěže mezi mnoho serverů. Dříve v Seznamu používali softwarový Linux Virtual Server, ale ten se ukázal jako pomalý. Dnes už tedy vyvažování zátěže probíhá čistě hardwarově. Dál už je cesta požadavku celkem standardní: přes reverzní proxy (nginx), webserver a aplikační server nakonec doputuje až k databázi.
Seznam.cz dnes navštěvuje více než polovina obyvatel České republiky, řada z nich i několikrát denně. Manažer provozního oddělení Martin Doleček prozrazuje, že o jejich odbavení se starají tři tisíce serverů, které jsou umístěny ve dvou pražských housingových centrech. Jedno z nich však firma opustí a přestěhuje servery do vlastního centra, které by mělo být otevřeno v dubnu 2015. Ale o tom až později. Výpočetní výkon je jen jedna část, stejně důležitá je i konektivita. Obě datová centra jsou 40 Gbps přípojkou spojena s českým peeringovým uzlem NIX.CZ. Kapacita se však bude zvyšovat, časem by mohla dosáhnout až 100 Gbps. To hlavně s ohledem na rozmach videoobsahu.
Seznam.cz ukládá přes 10 PB dat
Obrovský počet serverů asi není tak překvapivý jako fakt, že v Seznam.cz neodděluje výpočetní a úložnou část. V dnešní době fungujeme na serverech s lokálními disky s tím, že bereme 1U (SSD a SAS disky pro databáze apod.) nebo 2U (SATA disky pro storage),
prozradil Doleček na letošní konferenci LinuxDays a také potvrdil, že SLC disky nejsou spolehlivější nejen teoreticky, ale i prakticky. Z testů SSD nám vyplývá, že pro enterprise svět je lepší brát SLC.
Samozřejmostí je zajištění dat v hardwarovém RAIDu s baterií, která v případě výpadku energie udrží data ve vyrovnávací paměti.
Co se týče úložiště, to je rozděleno hlavně na e-mail a na Hadoop,
říká Doleček. E-mail.cz zabere zhruba 6 PB dat, Hadoop cca 4 PB. To je pro lepší představu celkem 10 tisíc terabajtů. A to v Seznamu prostorem určitě nemrhají, naopak se snaží šetřit – např. deduplikací. Každý soubor je na serverech uložený pouze jednou, přestože ho ve svých schránkách mohou mít nezávisle na sobě tisíce uživatelů. Soubory, resp. přílohy, jsou takto porovnávány podle hashe. Servery jsou vždy dvouprocesorové, většinou se jedná o low power modely Intel Xeon E5.
V posledních letech firma obměňovala servery poměrně často, většinou hned po vypršení záruky a odepsání majetku. Důvody jsou zejména růst výkonu a snižování spotřeby elektrické energie. V roce 2010, kdy se systematickým nahrazováním serverů v Seznamu začali, pětici starších serverů zastoupil jeden nový, který byl navíc asi sedmkrát energeticky úspornější. Teď už to není taková hitparáda, jak to bylo v roce 2010. Nové procesory jsou sice výkonnější, ale už vám tolik neuspoří elektřinu,
říká Doleček a dodává, že rychlost obměny serverů se tak o něco sníží – např. budou v provozu o rok déle.
Sedm tisíc Debianů, jeden Windows
V roce 2009 firma začala servery virtualizovat. Dnes tak na jeden fyzický server v průměru připadají tři virtuální. Čtyřicet procent všech serverů je nevirtualizovaných. To jsou například Hadoop servery, kam nedáváme nic jiného, protože to prostě nedává smysl. Dokáží vytížit server na 100 %.
Co se týče virtualizovaných serverů, tak zde vede technologie OpenVZ. Průběžně však přibývají i LXC kontejnery (v současnosti asi 22 %) a v budoucnu OpenVZ zřejmě překonají. Seznam.cz také zkoumá možnosti nasazení Dockeru, nové a atraktivní virtualizační technologie.
Na drtivé většině virtualizovaných i nevirtualizovaných serverů běží linuxová distribuce Debian. Na zhruba dvou stech fyzických serverů pak běží další unixový systém – Solaris. Ten jsme používali hlavně kvůli ZFS a jeho stabilitě. I když v praxi jsme stejně měli problémy a řešili jsme spoustu bugů.
Solaris je postupně nahrazován Linuxem. Krom toho v Seznamu provozují ještě dva servery s CentOS a jeden s Windows. Systém od Microsoftu je zde však čistě kvůli kompatibilitě. Ne každý linuxový desktop s Javou funguje s management systémy serverů,
vysvětluje Doleček.
O servery se stará sedm týmů administrátorů, které mají různý počet členů. Jeden administrátor tak má na starosti něco mezi 320 až 950 virtuálními servery. Velkým pomocníkem jim je interní systém Puzzle, který ze serverů vytahuje hromadu potřebných informací. V noci servery monitorují tzv. dohledáři, kteří v případě vzniku problému postupují podle předepsaných scénářů. Administrátor je kontaktován, až pokud se jedná o komplikovanější či rozsáhlejší problém.
Budoucnost bude cloudovější
Největší změnou v blízké budoucnosti bude stěhování do vlastního. Jedno datacentrum opustí pronajatý objekt a na jaře příštího roku se rozběhne ve vlastním objektu v Horních Počernicích. Bude tam prostor na 192 racků, maximální příkon se uvažuje až 2 MW, nicméně reálná spotřeba bude někde přes 1 MW.
U nového datacentra se opět pochopitelně klade velký důraz na energetickou úspornost, která bude činit 1,2 PUE. To ukazuje, že potřebujete 20 % navíc vůči tomu, co seberou servery. Normálně se datová centra pohybují až ke 2 PUE.
Další takový faktor, který jsme byli nuceni rozhodnout, je, jakým způsobem budeme nahánět studený vzduch k serverům. Nakonec jsme zvolili systém teplé uličky, což znamená, že studený vzduch naháníte do prostoru okolo racků, servery ho nasávají a vyfukují teplý vzduch doprostřed mezi sebe. Ten odchází komínovým efektem do prostoru, kde se ochladí,
popisuje Doleček chladící systém.
Nové datacentrum ale není jediná změna, kterou v Seznamu chystají. Časem by mělo dojít i na zásadní přepracování celé architektury, které je pracovně označováno jako Seznam Cloud. To už je koncipováno tak, že výpočetní a úložná část bude oddělena. Nový systém počítá s bezdiskovými stroji s dvěma 10 Gbit síťovými kartami a iSCSI úložištěm pro plus mínus 30–40 serverů. A to bude takový blok, kterých tam budeme mít vícero.
Takové řešení bude také mnohem inteligentnější a samo se dokáže s mnohými situacemi vypořádat. Bude automaticky nahrazovat spadlé servery, zajišťovat vyvažování výkonu nebo naopak zajistí posílení některých služeb. Například v případě špičky na službě v osm večer, po zprávách, kdy spousta Čechů jde a kouká na zprávy, na e-maily atd. V tuto hodinu se tak automaticky naškálují servery a automaticky se posílí výdejové servery.
Naopak v noci se množství aktivních serverů, a tím i spotřeba energie, sníží na nejmenší možný počet.