Toto je druhá část rozhovoru s Michalem Feixem. Přečtěte si také první polovinu rozhovoru.
Kdo je Michal Feix
Ing. Michal Feix, 28 let, absolvent střední průmyslové školy elektrotechnické Ječná v Praze a absolvent ČVUT FEL v Praze, obor počítačové systémy. Od začátků středoškolských studií působil střídavě jako system administrátor a programátor u malých pražských ISP a postupně u tří největších českých internetových portálů. Do Seznamu nastupoval jako linux administrátor a ve firmě pracuje čtvrtým rokem.
OpenID a řešení pro firmy
Pracujete také na integraci OpenID? Bude Seznam prvním velkým hráčem, který jej nasadí?
Nevím, jestli budeme první, ale je to věc, která už běží. Určitě se chceme stát OpenID providerem. Je to jen o tom, jak rychle se vývoj podaří dotáhnout do konce.
OpenID tedy podporovat budete?
Rozhodně ano.
V relativně krátké době se ho dočkáme?
Já jsem přesvědčen, že za čtvrt roku bude OpenID naimplementováno.
Velmi často se lidé dotazují také na Google Apps, což je balíček služeb především pro firmy, který dokáže fungovat na jejich doménách. Plánujete nabídnout něco podobného?
Podle toho co vím z produktového oddělení, tak v blízkém horizontu nechystáme podobně komplexní balík služeb jako je Google Apps. Nevylučuji ale, že některou funkčnost přece budeme mít – například náš e-mail na libovolné doméně. Momentálně nám v tom brání technické problémy. V tomto směru úplně připravení nejsme.
Nejste připraveni, to znamená, že nemáte dostatečnou serverovou kapacitu?
Není to o kapacitě, ale o tom, jak jsou naše služby technicky implementovány. Pokud se budeme bavit konkrétně o e-mailu, tak služba nepočítá s jednoduchým masivním rozšiřováním na další domény. Navíc nám chybí třeba rozhraní, ve kterém by bylo možno to udělat rychle a pohodlně. To jsou věci, které je třeba vyřešit. Kapacity na to jsou, jen to zabere nějaký čas.
Vývoj a testování nových služeb
Co se týče vývoje zmiňovaných služeb, jak vlastně v Seznamu vývoj probíhá? Vydáváte úpravy ve větších balících nebo je dáváte na servery postupně, jak přicházejí?
Všechny systémy stavíme na platformě Debian. A jediný způsob, jak se může na server dostat nějaký náš software, je přes debianí balíček. Nesmí existovat jiná cesta, aby byly servery snadno obnovitelné, kdyby došlo na nějaký problém.
Vývojáři tedy mají vlastní vývojové prostředí, v něm vytvoří konkrétní projekt, vygenerují balíček. Ten je otestován a přichází do provozu. Administrátor zaznamená požadavek o nasazení služby nebo nové verze. Vývojáři k balíčku dodávají postupy, ve kterých je například zmíněna potřeba neobvyklé konfigurace na serveru, způsob následné kontroly běhu systému a podobně. Pak je balíček nasazen a služba se stává viditelnou pro uživatele.
Zajímavé jsou další technické postupy, které s tímto nasazováním souvisejí. Například část serverů se po dobu instalace pro uživatele transparentně odstaví z aktivního provozu, provedou se testy a pokud se vše ukáže jako funkční, tak se servery vrátí zpět do provozu a změna se stejným způsobem provede na druhé polovině strojů. Není to tedy žádná hektická akce, kdy by administrátor sledoval, jak dlouho už trvá výpadek. Vše probíhá transparentně za provozu.
Takže nové verze přicházejí postupně, jak přicházejí od programátorů? Nevydáváte novinky třeba třetí sobotu v měsíci?
Ne, existuje ale pravidlo, které rozděluje práci tak, aby administrátoři měli čas i na udržování serverů. To pravidlo říká, že se balíčky primárně nasazují od pondělí do středy. Další dny jsou rezervovány pro potřeby administrátorského týmu, kdy jsou servery spravovány, přeinstalovávány a jsou prováděny další dlouhodobě plánované akce údržby serveru. Práce je tedy rozdělena na týdenní bázi. Měsíc by pro nás byl velmi dlouhá doba. Odkládat měsíc nasazení nějaké nové vlastnosti na službě je pro nás příliš dlouhá doba. Jsme schopni reagovat podstatně rychleji.
Jak provádíte testování? Máte nějaké alfaverze, betaverze a podobně?
Jestli se služba nebo balíček uvede do beta provozu, je v kompetenci projektového manažera konkrétní služby. Beta provoz se od toho klasického liší jen vyčleněním menšího množství hardware, který je třeba na službu obvykle alokovat. Procesně nerozlišujeme, zda se jedná o betu nebo ostrý provoz. Vývojář dodá debianí balíček, který se nainstaluje na server. Tyto procesy se nemění.
Administrace šesti stovek serverů
Bavili jsme se o serverech a administračních procesech. Jak vlastně pracují samotní administrátoři? Pracují na směny?
Práce provozního oddělení je neuvěřitelně zajímavá. Už zmínění system operátoři jsou na serverovnách přítomni 24 hodin. To jsou lidé, kteří dohlížejí na provoz služeb a musejí být připraveni na to, že když se ve tři hodiny ráno v serverovně něco stane dejme tomu s elektřinou nebo chlazením, musejí rychle zareagovat.
Druhá část lidí, což jsou system administrátoři, chodí do práce klasicky na osm hodin v pracovní dny a mají rozdělenou pohotovost. Ti mohou být vzbuzeni v noci některým system operátorem v případě, že dojde k většímu problému, který není operátor schopen vyřešit. Třeba odejdou tři servery. Operátor je schopen servery vyměnit, ale nedokáže je nainstalovat tak, aby služba běžela. S tím mu musí pomoci system administrátor, držící pohotovost, z týmu, který má danou službu na starosti.
Serverovny máme dvě, jedna je v Malešicích, druhá je u nákladového nádraží na Žižkově. Tam máme ještě jiný model a zkoušíme dvojí administraci: přes den tam sedí naši lidé a v noci outsourcujeme služby přímo u telehousu. Oni tam také musejí držet své lidi, takže zkoušíme takový duální model.
Osvědčil se vám takový postup?
Zatím to vypadá, že ano. I pro naše lidi je příjemnější, že chodí do práce jen přes den. Zatím jsme nenarazili na žádný problém, který by nám ukázal, že tohle není správná cesta.
Co musí umět takový linuxový admin, který pro vás pracuje?
První fáma, kterou slýchám velmi často, je, že do Seznamu mohou jít pracovat jen linuxoví pánibozi. Pokud vyjedu mezi vysokoškoláky nebo středoškoláky, tak slýchám, že u nás pracují ohromní linux guru, kteří bůhví jestli Linux sami nevymysleli. Obvykle se děsí toho, že by se měli pokusit do takové skupiny dostat. Je to vlastně jinak. Snažit se najmout člověka, který přijde do Seznamu a umí vše, co bychom od něj požadovali, je nesmysl.
Čím to podle vás je?
Je to z toho důvodu, že v České republice neexistuje dostatečný počet firem, které by disponovaly šesti stovkami serverů a víc jak padesáti službami, které na nich běží s velmi vysokou dostupností. To v mnoha firmách u nás nenajdete. Dostatečně zkušení administrátoři tedy nejsou k dispozici a pokud je chcete, musíte je to teprve naučit.
Chybí vám tedy jakási líheň adminů?
Ani ne tak samotná líheň jako spíš skupina dostatečně odvážných lidí, kteří by to zkusili a zjistili, že naše nároky nejsou nijak velké. Nám vlastně stačí, když uchazeč zná Linux, umí se vzdáleně připojit k serveru a ví, jak základním způsobem server administrovat. Vůbec ideální jsou lidé, kteří třeba na živnost spravovali dva tři servery pro malé firmy. To je dobrý předpoklad, že je takový člověk schopen Linux pochopit.
Jestli je pak serverů nakonec pět nebo šest stovek, už pak není o vědomostech, jako spíše o chuti se zlepšovat a učit se nové věci, které jsem na pěti serverech nemusel znát. A je to také o disciplíně, protože si musíme zvyknout na to, že šest set serverů se nedá řešit stylem: „vypukl požár, jdu ho hasit“, ale existují postupy a procesy, které vznikly tím, že jsme se milionkrát spálili. Těmto postupům je pak třeba se přizpůsobit.
Stačí nám tedy, že člověk zná základy a má chuť se naučit víc. Zbytek zjistíme jen tak, že ho vezmeme a během prvních dvou tří měsíců se ukáže, jestli to zvládne nebo ne.
Nakonec si ho stejně musíte vychovat sami. Je pak takový člověk široce zaměřený, nebo volíte užší specializace?
Máme specializace na vybrané služby. E-mail nebo fulltext jsou služby, kde jsou lidé skutečně specializovaní primárně konkrétním směrem. Primárně neznamená výhradně. Rozhodně nemáme takovou službu, kde bychom měli tým zaměřený pouze na ni. Vždy platí, že taková větší služba system administrátory vytíží třeba ze sedmdesáti procent a zbytek času jsou pak schopni řešit ještě další, menší služby. Specialisty tedy máme, ale obecně platí, že si administrátor sáhne na mnoho věcí od instalace přes MySQL až po Apache a všechny možné komponenty.
Máte konkrétní požadavky na admina, co se týče studia? Berete jen vysokoškoláky nebo spíš záleží na schopnostech?
Vůbec nerozhoduje střední nebo vysoká škola, ale spíš to, co je konkrétní člověk schopen se naučit a o jeho předpokladech a schopnosti spolupráce s týmem. To jsou vlastně jediné naše požadavky. Všechno ostatní se u nás mohou naučit, pokud budou chtít. Není nutné se něco učit venku a až pak jít za námi. Tak to v prostředí stovek serverů nefunguje a my to víme.
Řada zahraničních společností tvrdí, že Češi jsou výborní administrátoři a programátoři. Máte takovou zkušenost? Kolik máte v týmech cizinců?
Já mám ve svém oddělení jen jednoho cizince, pokud nepočítám Slováky. Ty beru jako našince. Ten jediný cizinec je z Ruska a je těžko srovnávat jednoho člověka s ostatními. Právě tento jediný kolega je zrovna extrémně pracovitý, ale určitě bychom našli mezi jeho českými kolegy řadu dalších stejně schopných lidí, takže já žádný rozdíl nevidím.
Pokud bychom měli koukat po celém Seznamu, tak platí, že spousta „seznamáků“ jsou i po mnoha letech stále „srdcaři“. Jsou to pořád lidé, kteří chodí do práce, protože je to baví. Když tu zůstanou do osmi nebo do devíti, tak to není proto, že by nad nimi někdo stál s bičem, ale oni se podívají v devět večer na hodinky a zjistí, kolik je, chytí se za hlavu a běží domů.
Mohl byste krátce shrnout, co můžete linuxákovi, který se rozhodne pro vás pracovat, v Seznamu nabídnout?
Myslím, že mu můžeme nabídnout dvě věci: kolektiv lidí, které Linux a open-source technologie baví a protože jsou tu už nějaký ten rok, tak mají obrovské zkušenosti. Takové lidi často nepotkáte v hospodě, ale jen v místech, kde se koncentrují. V České republice je jen pár míst, kde potkáte lidi, kteří do detailů vědí, jak funguje Linux kernel, znají do detailů MySQL databázi a spoustu dalších technologií. To je ohromná škola.
Druhou věcí je zkušenost sama. Jak jsem říkal, v republice nenajdete mnoho firem, které vás nechají administrovat šest set serverů a technologie kolem nich. U nás nefungují extrémní bezpečnostní opatření, jako například v některých bankách, kam administrátor nastoupí, dostane balíček pěti serverů a nikam jinam se nedostane. V Seznamu, jakmile se administrátor zaběhne a získá důvěru, dostane přístup kamkoliv a je jen na něm, kam se bude dál profilovat. Pokud jej baví Cisco, tak není nic jednoduššího, než aby si sedl do síťového týmu a staral se o switche, load ballancery, redundanci mezi servery a další zajímavé technologie, ke kterým není jinak jednoduché se dostat.
Děkuji za rozhovor
Fotografie: Ivana Dvorská