Odpovědi poskytl Vlastimil Pečínka, technický ředitel společnosti Seznam.cz, a.s. Je mu 31 let, je ženatý, vystudoval Fakultu informatiky na Masarykově univerzitě v Brně. V Brně pracoval 8 let ve společnosti ATC s.r.o., která vytvořila a provozovala službu Email.CZ. Od května roku 2004 pracuje pro Seznam.cz, původně jako programátor a senior programátor, od srpna letošního roku na pozici technického ředitele.
Kolik celkem provozujete ve firmě počítačů (serverů/desktopů)?
Je obtížné odpovědět na tuto otázku přesně. Pomalu každým dnem se toto číslo zvětšuje tak, jak se zvětšuje počet uživatelů na našich službách. Obecně lze říct, že v telehousu máme umístěno kolem 500 serverů. V kancelářích na Radlické 2 pracuje přes 220 kolegů, tedy připočtěme dalších minimálně 220 stanic. K tomu budujeme záložní lokalitu, kde v tuto chvíli máme pro první fázi připraveno 200 serverů k instalaci. Plus existují další servery v kanceláři pro vývoj a interní aplikace. Lze tedy říct, že společnost Seznam.cz v tuto chvíli provozuje zhruba tisícovku serverů.
Na jaké části z nich je Linux (také servery/desktopy)?
Na drtivé většině běží OS Linux Debian Sarge, případně v menšině je ještě Debian Woody. Alternativní operační systémy (MS Windows, Mac OS) najdete převážně na desktopových stanicích v kanceláři. To však neplatí u vývojářů a administrátorů, kteří používají Linux.
Jakou distribuci používáte a proč právě tu?
V provozu používáme Debian Sarge, z historických důvodů někde ještě Woody. Vývojáři a administrátoři většinou používají stejnou distribuci, jsou však tací, kteří sazí na jiné (např. Gentoo). Volba Debianu byla učiněna již v „dávných“ dobách, já sám jsem o důvodech a jiné alternativě nepřemýšlel. Určitě však Debian i proto, že v stable verzi máme jisté záruky, že se věci nemění a vzájemně fungují. Byť za cenu někdy až obsolete verzí jednotlivých aplikací.
Kde máte nasazeny jiné systémy a proč?
Máme k dispozici Mac OS pro testování aplikací, dále také Windows server pro aplikace dodané třetí stranou, zejména pro interní firemní potřeby. Za chvíli to bude historie, ale ještě máme několik serverů s FreeBSD, které poskytují statický obsah jedné naší služby.
Nedávno se objevil problém s výpadkem vaší e-mailové služby. Jak jste zabezpečeni proti dalším problémům?
Otázkou je, který výpadek máte na mysli. E-mailová služba je celkem složitá komplexní aplikace a některé výpadky, které máme a horečně řešíme, většina uživatelů nepostřehne. Směřuje-li dotaz na výpadek související s výpadkem elektřiny v našem telehousu, odpověď je jednoznačná – budujeme záložní lokalitu pro celý Seznam.cz. Pokud je otázka mířena k problémům s diskovým polem, bezprostředně jsme zvýšili redundance primárních dat (nazýváme je meta-data), a zároveň bylo investováno několik miliónů Kč do nákupu již ověřené technologie diskového storage. Tam v tuto chvíli uživatele transparentně stěhujeme.
Uživatelé už dlouho volají po podpoře IMAPu. Podle Iva Lukačoviče ale není k dispozici kvalitní open-source řešení. Myslíte, že se uživatelé na Seznamu IMAPu dočkají?
Tato otázka se skutečně občas vynoří a pak opět zapadne. S Ivem souhlasím, rozumné existující řešení jsme nenašli a investovat do složité implementace IMAP protokolu není náš primární cíl. Nejde totiž jen o samotnou implementaci IMAP serveru, náročná změna by postihla i samotný aplikační server. Vlastnosti IMAPu jsou totiž v rozporu s tím, jak se schránkou pracujeme my. Z mého osobního hlediska se nám IMAP nevyplatí implementovat i proto, že je v našich číslech určen pro skutečnou minoritu uživatelů.
Které z „velkých” aplikací běžících pod Linuxem používáte?
Naprostá většina webových aplikací (možná všechny) běží na Apache2, najdeme tu i starší Apache. Dynamické stránky jsou vytvářeny za pomoci mod_pythonu
či PHP. Python však jistě vede a je preferován. Z databází převažuje MySQL, na interní aplikaci máme i instanci Oracle, v jednom outsource řešení se používá PostgreSQL. Na aplikační servery máme vlastní framework (nazýváme ho meta-server), stejně tak na tvorbu šablon (jako open source šířený Teng).
Jaké největší výhody pro vás plynou z využití svobodného systému?
Nezávislost. Možnost věci ohýbat a přizpůsobovat. Finanční úspora.
Provádíte také vlastní vývoj některých systémových nástrojů?
Ano, některé jsem už zmínil. Meta-server nám usnadňuje tvorbu aplikačních serverů psaných v C++ nebo Pythonu. Teng je náš vlastní šablonovací systém šířený jako open source. Používáme ho při tvorbě webových aplikací v Pythonu i v PHP, lze jej však použít i v C++ programech (např. generování e-mailů z šablon). Psaní webových aplikací v Pythonu nám usnadňuje vlastní web-publisher nahrazující (pro nás nedostatečný) publisher z mod_pythonu. Vylepšili jsme také XMLRPC tím, že jsme vytvořili zpětně kompatibilní binární verzi FastRPC, opět šířenou jako open source. Vlastním přímo systémovým nástrojem je monitorování load balanceru a řešení failoveru.
Dělíte se se světem s výsledky svého vývoje? Obohacujete repozitáře projektů vlastními kódy?
Jak plyne z předchozí odpovědi, šíříme jako open source Teng a FastRPC. Protože používáme vlastní linuxový kernel, reportujeme nalezené chyby a vylepšení. Stejně je tomu tak u různých knihoven nebo aplikací, které používáme a občas musíme poopravit. Svým dílem tedy repozitáře obohacujeme.
Děkuji za rozhovor.