Rozhovor s expertem na Docker a Kubernetes | robot_dreams Czech
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Radek Rous: Očekáváme větší adopci Dockeru a Kubernetes mezi velkými firmami

Radek Rous: Očekáváme větší adopci Dockeru a Kubernetes mezi velkými firmami

Rozhovor s expertem na Docker a Kubernetes

Rychlost vývoje softwaru se neustále zvyšuje a požadavky na flexibilitu a škálovatelnost aplikací jsou vyšší, než kdy dříve. Kontejnerizace a orchestrace aplikací se stávají klíčovými technologiemi pro vývojáře a DevOps inženýry po celém světě. Kubernetes a Docker jsou v čele vývoje a přinášejí revoluční změny ve způsobu, jakým jsou aplikace vyvíjeny, nasazovány a spravovány. V dnešním článku se na tyto technologie zeptáme Radka Rouse, odborníka v oblasti softwaru a lektora kurzů zaměřených na Docker a Kubernetes.

Radek Rous

Radek Rous je Lead Software Developer ve společnosti RIGANTI s.r.o. a zároveň působí jako Software Team Lead v ITIXO s.r.o., kde se věnuje návrhu softwarové architektury, technické analýze, mentoringu a implementaci v .NET. S více než osmi lety zkušeností v oboru má Radek hluboké znalosti vývoje webových a mobilních aplikací, DevOps a samozřejmě v kontejnerizaci a orchestraci aplikací.

Docker a Kubernetes

Docker a Kubernetes redefinují pravidla vývoje softwaru, zvyšují efektivitu a umožňují rychlý vývoj a nasazení aplikací v jakémkoli měřítku. Mohou výrazně ovlivnit celkovou strategii vývoje softwaru a posunout hranice toho, co je možné. 

Ať už jsi vývojář hledající zlepšení svých workflow, DevOps inženýr s motivací zefektivnit nasazování a správu aplikací, nebo technický leader hledající inovativní řešení pro výzvy současného softwarového vývoje, Docker a Kubernetes nabízejí odpovědi na mnohé otázky. Radek se dnes podělí o své bohaté zkušenosti, perspektivy na budoucí vývoj těchto technologií a rady pro vývojáře, jak začít s Dockerem a Kubernetes.

V rozhovoru s Radkem se dozvíš, jaké jsou klíčové koncepty a best practices pro práci s těmito technologiemi, jaké chyby se vývojáři nejčastěji dopouštějí a jak je předejít, a jak Docker a Kubernetes mohou být využity k dosažení vyšší efektivity a lepšího výkonu aplikací. Radek také nabízí perspektivu na budoucí vývoj v oblasti kontejnerizace a orchestrace, zdůrazňuje význam neustálého učení a adaptace na nové technologie a praktiky v rychle se měnícím světě IT.

Kdy jste se poprvé dostal k technologiím Docker a Kubernetes?

S Dockerem jsem se setkal už dlouho zpátky, dalo by se říci téměř v jeho úplných počátcích. V té době bylo standardem hostovat si aplikace na on-prem serverech, maximálně s virtualizací, a cloud byl také v plenkách. Měli jsme ve firmě několik projektů, kde jsme s kontejnery experimentovali a nebo jsme se Docker snažili použít pro setup vývojářského prostředí. 

S Kubernetes jsem poprvé pracoval až později, řekl bych přibližně tři roky zpátky. Převzal jsem technickou část organizace Update Conference Prague, což je největší .NET vývojářská konference v Praze. Její weby a další systémy jsou provozované v Kubernetes. Díky tomu jsem se začal věnovat konfiguraci dalších aplikací a obecně správě Kubernetes.

Co vás na práci s Dockerem a Kubernetes nejvíce baví?

Docker je pro mě synonymem pro konzistenci, opakovatelnost. Například automatizované buildy aplikací si už téměř nedovedu představit jinak. Na Kubernetes mám zase nejradši spolehlivost při provozu - oproti provozování kontejnerů na vlastní pěst je to úplně někde jinde.

Jak byste lajkovi vysvětlil, co to znamená pracovat s technologiemi jako je Kubernetes?

Vysvětlit to úplnému lajkovi je poměrně těžký úkol. Na pochopení je potřeba alespoň základní pojem o tom, co znamená provozovat aplikaci. Pomocí Dockeru si připravíme kontejnery s našimi aplikacemi - to jsou zapouzdřené „krabičky”, které umí běžet v izolaci mají velmi přesné vyspecifikováno, jak komunikují s vnějším světem. Kubernetes je pak nástroj, kterému tyto krabičky dáme a on se o ně dokáže postarat - umí mezi ně rozdělovat výpočetní výkon, nastartovat jeden kontejner vícekrát v případě velkého vytížení, sdílet mezi nimi konfiguraci a tak dále.

Jaké jsou nejběžnější chyby, kterých se vývojáři dopouštějí při práci s Dockerem a Kubernetes, a jak jim lze předejít?

Setkal jsem se s tím, že vývojáři často spouští kontejner v privilegovaném režimu, což do určité míry maže výhody kontejnerizace. Často je to z lenosti nebo nedostatku znalostí. Co se ale může zdát jako rychlé vyřešení problémů, může později způsobit problémy mnohem větší. 

Další častou chybou je například spouštění více aplikací v tom samém kontejneru.

Můžete sdílet příklad, kde Docker a Kubernetes výrazně pomohly ve vašem projektu?

Například na projektu zmiňované konference, kde jsou desítky webů, video portál, CMS, e-shop a k tomu všemu několik microservices - provozovat toto „po staru” by bylo velmi náročné a umím si představit hromadu problémů, kterých jsme byli díky Kubernetes ušetřeni.

Jaké technologie doporučujete kombinovat s Dockerem a Kubernetes pro efektivní vývoj?

Základ je přívětivý a pohodlný code editor - za mě ideální VS Code, nicméně jde spíše o to, aby na něj byl člověk zvyklý. V poslední době se jako přínosný pomocník ukázal GitHub Copilot. Pak už jen oblíbená příkazová řádka, za mě PowerShell ve Windows Terminálu s rozšířením OhMyPosh, a to je všechno co potřebujeme.

Co byste doporučil jako první krok pro ty, kteří se chtějí naučit Kubernetes?

Naučit se Docker.

Jak vidíte budoucnost vzdělávání v oblasti Dockeru a Kubernetes, jaké dovednosti by měli vývojáři rozvíjet?

Budoucnost je v tom veliká. Microservices řešení se rozmáhají čím dál tím více a to jde v podstatě ruku v ruce s kontejnerizací a potřebou kontejnery někde provozovat. 

Řekl bych, že je důležité snažit se zůstat v obraze s nejnovějšími technologiemi a poznatky, tedy „jít s dobou” a neusnout v minulosti. I Docker a Kubernetes se stejně jako jiné nástroje vyvíjí a mění a je potřeba se adaptovat a novinek využít.

Jaký je váš oblíbený nástroj nebo funkce v Kubernetes a proč?

Za mě jsou to rozhodně Helm charts. Přestože jsem schopný při jejich nastavování pořádně zanadávat. Je to velká pomoc pro řešení s velkým množstvím aplikací, které potřebujeme dostat do Kubernetes. Šablony a sdílení konfigurace pro jednotlivé deployment definice ušetří hromadu práce, protože velká část těchto definic je pro všechny aplikace v řešení stejná, nebo velmi podobná. Díky Helm charts pak můžeme upravovat jednu šablonu místo desítek yaml definic.

Jaký trend v oblasti kontejnerizace a orchestrace očekáváte v nejbližších letech?

Vzestup a ještě větší adopci. Prozatím to většinou byly pouze „technical pioneers”, kdo tyto technologie adoptovali a začali ve větší míře používat. Nyní se tím postupně začínají zabývat i velké firmy, které často modernizují svá původní řešení.

Máte nějaké triky nebo tipy pro efektivní využití Dockeru a Kubernetes, které byste mohl sdílet?

Nesnažte se provozovat Docker kontejnery po svém, nebude to tak spolehlivé a bezstarostné jako s použitím orchestrátoru. Používejte automatizované pipeliny pro build a nasazení a ušetřete si čas, problémy a bolest hlavy.

Inovace a spolupráce s Dockerem a Kubernetes

Docker a Kubernetes nejsou jen o technologiích; jsou to platformy, které umožňují vývojářům a DevOps inženýrům spolupracovat, sdílet znalosti a inovovat ve způsobu, jakým jsou aplikace vytvářeny, nasazovány a spravovány. Tato spolupráce přináší stálý tok nových myšlenek a řešení, klíčových pro růst a rozvoj v oblasti softwarového inženýrství.

Docker a Kubernetes poskytují mocné nástroje pro zefektivnění vývojového cyklu, umožňují rychlejší reakci na tržní požadavky a nabízí nekonečné možnosti pro škálování a správu aplikací. Vstup do světa kontejnerizace a orchestrace otevírá dveře do budoucnosti softwarového vývoje, kde flexibilita, efektivita a inovace jsou na prvním místě.

Naskoč na budoucnost softwarového vývoje

Přidej se k Radkovi a objev možnosti, které Docker a Kubernetes nabízejí. Ať už jsi začínající vývojář, zkušený DevOps inženýr, nebo technický leader hledající způsoby, jak inovovat a zefektivnit procesy v organizaci, znalost Dockeru a Kubernetes je klíčová pro profesní cestu.

Pod vedením experta s hlubokými znalostmi a vášní pro obor se můžeš těšit na cestu plnou objevů a učení, které tě provedou od základů kontejnerizace a orchestrace aplikací po pokročilé techniky a best practices. Je to šance stát se součástí komunity, která formuje budoucnost softwarového inženýrství.

Připrav se na budoucnost a objev svůj potenciál v dynamickém světě softwarového vývoje. Začni svou cestu s Dockerem a Kubernetes ještě dnes a staň se součástí nové generace softwarových vývojářů a inženýrů.

Autor: Jan Bílek

Více článků
Kam se dnes posouvají technologické hranice robotiky?
Kybernetická hrozba budoucnosti, na kterou je třeba se připravit