Patrik Votoček, Tech Lead pro DevOps: Žijeme v kontejnerovém světě

Jaké to je, sedět na třech židlích najednou?

Nemám tak velký zadek, takže ti to neřeknu. :D Je to náročný, ale pokud si to člověk dobře naplánuje, tak může dobře přebíhat, a když si potřebuje od jedné židličky odpočinout, přeběhne k té druhé nebo třetí. Pomáhá to vyčistit si hlavu.

Nedávno Cookielab slavil páté narozeniny a ty jsi jeden z osmi statečných, kteří byli u založení firmy. Jak ses do Cookielabu dostal?

S Kubou Kohoutem se známe třeba 15 let. Dřív jsme spolu dělali v klasické české agentuře, která vytvářela weby. Kuba to po čase v téhle firmě vzdal, začal pracovat pro Shipito a odstěhoval se do Ameriky. Já to po nějaké době vzdal taky a šel jsem dělat do Slevomatu. Po pár letech jsme se zase potkali a začali společně dělat pro Shipito v Praze. 

Když rozpustili celý vývojářský tým, vydali jsme se celkem v šesti lidech hledat práci jako tým, což bylo v tu dobu unikátní. Z asi 30 firem, které nás oslovili, jsme nakonec vybrali Goodbaby. Šlo o R&D/technický projekt, pod který spadaly firmy jako Cybex nebo Evenflo, prostě tihle kočárkáři. Jenže po roce spolupráce nás rozpustili. 

A tak vznikl Cookielab. Těsně před Vánoci 2017 pro nás už moc nebyla práce, což bylo takové smutné. Takže jsme trávili čas vymýšlením názvu pro nově vznikající firmu. Padlo docela dost hrůzných nápadů, mimo jiné třeba náš oblíbený Honidev, který teda nakonec neklapnul, no.

Ale teď k DevOps. Automatizace, architektura, infrastruktura, cloud, kontejnery… Přiblížíš nám víc tyhle buzzwords?

Dřív existovala role Operations (strejda, který se staral o HW v nějaké lokální hostingové společnosti), pak přišla doba cloudová. Lidi se od hardwaru přesunuli víc k softwaru, až nakonec ke cloudu –⁠ tam teď žijeme. Už se staráme spíše o manažované služby

Když vývojář něco vyvine, pomáháme mu zajistit, aby to běželo, jak má. Třeba setupováním automatizace v rámci CI/CD pipeline. Celý ten koncept manažované služby je o tom, že cíle dosáhneš s co nejmenším úsilím a s co nejmenším rizikem, že se to nepovede.

Pak tam je spousta dalších buzzwords jako Kubernetes, AWS… V zásadě jde o to, že dneska už se nestaráme o fyzické servery, ale staráme se o to, že máš cluster, což je vlastně hromada serverů pospojovaných dohromady. V clusterech pak běží tzv. kontejnery, ve kterých je vybuilděná ta aplikace – a tu pak někde pouští, respektive pouští ten kontejner. 

Žijeme v kontejnerovém světě (tím nemyslím v těch kovových domcích) – cílem toho je prostě tohle: jak si to vývojář pustí u sebe na počítači (v tom kontejneru), tak to pak vypadá i u klienta. Takže už by se nemělo stávat, že za tebou přijde vývojář s hláškou „ale u mě na počítači to funguje“.

Jaké technologie nebo nástroje používáte v práci a jak je vybíráš?

Náš primární focus je na Amazon AWS, se kterým máme léta zkušeností a certifikace. Používáme i třeba Kubernetes, RDS s Aurorou nebo OpenSearch a hromadu dalších.

Je to o tom, najít správný balanc mezi cenou a tím, co služba poskytne. Protože když si lidi vezmou vlastní server, nainstalují si na to databázový engine, tak potom musí řešit chyby v rámci serveru (třeba disky). Takže to musí někdo vyměnit. U té samotné databáze musí řešit, že se to může někde rozsypat, přístupy do databáze, někam to zapojit, musí mít někoho, kdo se o to stará… A pak jsi ve výsledku na dost podobných penězích. Vyplatí se to hlavně velkým firmám. Netflix například sbírá data o tom, kdo na jaký film koukal, přihlašovací údaje drží v Amazonu, ale samotné filmy si řeší po vlastní ose, protože by je to v Amazonu stálo randál.

AWS certifikace – můžeš k tomu říct něco víc?

Platí tu stejné pravidlo jako ve Fight Clubu – O AWS certifikaci se nemluví. 😀 Řeknu jen, že se brzo staneme AWS partnerem.

Co když dojde k problému v produkčním prostředí?

Tak je to špatný. :D Cílem je tomu hlavně předcházet. Vyvarovat se lidským chybám se snažíme automatizacemi, ale vždycky může k nějaké chybě dojít. V ideálním případě nám dorazí notifikace o chybě a my ji obratem vyřešíme. 

Většinou je to nastavené tak, aby se chyby samy opravily, takže notifikace vlastně přijde až potom, co selžou tyhle automatizace. To pak sedneme a jdeme pátrat. Máme nasetupovanou observability, prostě pořádný monitoring, abychom se mohli podívat na dvě tři místa, zjistit, kde přesně je ten problém, a začít ho řešit.

Máš nějaké tipy pro efektivní propojení vývojových a ops týmů?

Komunikace je gró → něco chystáš, řekni nám to, poradíme ti, na kterou cestu se vydat. Ideálně za námi přijde vývojář hned na začátku a řeší s námi, co potřebuje, ne až při spuštění. 

Snažíme se prosazovat koncept you build it, you run it → vývojář si aplikaci nejen napíše, ale sám si ji provozuje. My mu k tomu poskytneme platformu. Nechceme stavět zdi a říkat: „Takhle to nesmíš, protože to ti musí někdo schválit, a bude to trvat 3 týdny, než to někdo udělá.“ Prostě to potřebuješ, my ti to pomůžeme nastavit a pak je to už tvoje odpovědnost. 

Díky tomu má ten člověk i nějakou zodpovědnost a víc přemýšlí nad tím, co všechno tam potřebuje vyřešit. Souvisí to i s tím problémem na produkci. Máš vlastně několik levelů, co se může rozbít. Když se třeba nenačítají obrázky v aplikaci, tak první, co jde, je notifikace přímo za vývojářem. A ten zjistí, jestli to je věc, kterou umí opravit on, nebo jestli je to něco právě na infrastrukturní platformě, takže se to týká DevOpsu.

Jaké jsou největší výzvy, se kterými se setkáváš jako DevOps Lead?

Obecně je vždycky velká výzva přebírání projektů po někom jiném a narychlo, kdy musíš něco, co normálně zabere X měsíců, přebrat za dva týdny. Čím větší projekt, tím větší výzva. 

Když si člověk staví něco „na zelené louce“, tak to zná od hlíny až po okvětní lístky, ale když něco přebíráš, nevíš, jestli ta hlína je dole, nebo nahoře a jestli tam vůbec nějaká je, jestli to máš zalévat, nebo jestli to je spíš kaktus. Máme tým pěti skvělých lidí, kteří ale takovéhle výzvy zvládnou raz dva. Už v tom taky máme praxi.

Pojďme na motokáry. Jak dlouho se věnuješ tomuhle super koníčku?

Technicky vzato od 6 let, kdy mě táta vzal na motokáry poprvé. Chodili jsme třeba jednou za měsíc, pak přišla škola a první práce, nebyl na to vůbec čas. Vrátil jsem se k nim někdy v roce 2016. Kuba Brabec (pozn.: bývalý kolega) mě vytáhl a začali jsme chodit pravidelně. 

V Praze otevřeli jedinou venkovní trať, kde jsou ty motokáry docela dost rychlé. Jmenuje se KartPlanet, je to vlastně můj druhý domov. Pořádají i amatérské závody, kde nemusíš mít licenci ani motokáru. 

Je docela zajímavé bojovat v rámci toho žebříčku a snažit se protloukat někam výš. Já to jezdím hlavně proto, že jakmile do té motokáry sednu a nasadím si helmu, v tu chvíli se mi vypne mozek a nepřemýšlím nad ničím jiným, než jak projet tuhletu zatáčku co nejlíp. Jsem teď a tady, v tom „tunelu“ já, volant, pedály a uvidíme, co z toho vyčarujeme.

Nedávno se ti rozrostla rodina o druhou dcerku. Jak zvládáš skloubit dohromady rodinu, koníčky a náročnou práci?

Tohle není tolik o tom, jak to skloubím já, spíš jak to zvládá moje žena, která je skvělá a zvládá to úžasně. Náročné je to spíš v tom, jak říká moje žena: „Když si chceš trochu odpočinout, vezmi si na hlídání tu menší, protože nepotřebuje ještě tolik pozornosti.“ Vlastně zatím jen jí, spí a kaká. Starší děti už potřebují víc pozornosti. 

Každou středu mám taky homeoffice, kdy jsem doma s dcerkami, aby si manželka mohla zařídit věci, které potřebuje, a aby si trochu odpočinula i v týdnu.

Patrik Votoček, Tech Lead pro DevOps: Žijeme v kontejnerovém světě
Michaela Ročková
Marketing 🍪
By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.