Hlavní navigace

Seznam.cz: na většině serverů máme Debian

Petr Krčmář

Seznam.cz je největším z českých portálů. Málokdo ale tuší, že je také velkým uživatelem a podporovatelem open-source řešení. Kolik má firma celkem serverů? Na kolika z nich běží Linux? Jaké další systémy byste v Seznamu našli? Nejen na to jsem se ptal technického ředitele Vlastimila Pečínky.

Doba čtení: 4 minuty

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.

Pečínka

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.

Našli jste v článku chybu?