Používání kontejnerů je stále na vzestupu. Naše nedávná studie zjistila, že 62 % organizací dnes využívá kontejnery minimálně (pro méně než 10 % aplikací), ale pouze 20 % z nich říká, že tento stav za následujících 24 měsíců nezmění. Na druhou stranu procento organizací, které nasazují více než polovinu svých aplikací pomocí kontejnerů, by se mělo během stejného období téměř ztrojnásobit na 28 %. Pryč jsou dny, kdy bylo na kontejnery pohlíženo jen jako na nový způsob balíčkování aplikací pro infrastrukturní architekty, od kterých se očekávalo nalezení optimálnějších způsobů, jak provozovat aplikace a snížit náklady na virtuální stroje. Dnešní kontejnerové platformy jsou vnímány tak, že umožňují organizacím prioritizovat inovaci a až pak se zabývat infrastrukturou. To znamená, že funkční a spolehlivá kontejnerová platforma a její provoz je aktuálně důležitým bodem programu každého CIO.
Co je platforma Kubernetes
Je to jen pár let, kdy vypukl boj mezi různými orchestračními kontejnerovými platformami. Pak se na trhu objevily Kubernetes. Jakmile byl uvolněn jejich zdrojový kód, Kubernetes se staly jedním z nejrychleji rostoucích open source projektů. KubeCon 2019 v Barceloně navštívilo téměř 8000 vývojářů, čímž se událost zařadila mezi největší open source konference v Evropě. Můžeme bezpečně konstatovat, že Kubernetes v oblasti kontejnerové orchestrace vyhrály a staly se pro celé odvětví de facto standardem.
Ale co vlastně Kubernetes dělají, že jsou tak důležité pro kontejnerové platformy? Jako nástroj pro správu kontejnerů a clusterů, který není závislý na jednom dodavateli, nabízí Kubernetes platformu pro automatizaci nasazení, škálování a správy aplikačních kontejnerů napříč clustery tvořenými mnoha stroji. V době, kdy hlavní cloudovou strategií je ta hybridní, mohou Kubernetes clustery fungovat napříč veřejnými, privátními a hybridními cloudovými prostředími. Z toho důvodu jsou Kubernetes ideální platformou pro běh aplikací navržených pro cloud, které vyžadují rychlé škálování a zpracování dat v reálném čase.
Nicméně Kubernetes se i přes svou obsáhlost spoléhají na další open source projekty.
Co Kubernetes není
Podniková produkční kontejnerová platforma by se měla skládat z několika důležitých nástrojů mimo orchestrátor Kubernetes. Mezi ty patří nástroje jako registr pro ukládání kontejnerových obrazů, síťování, úložiště, telemetrie, automatizace a služby. Služby pak zahrnují metriky, správu logů, monitorování, řízení síťového přístupu, autentizaci a autorizaci, podporu jazyků, frameworků, middleware a databází. V neposlední řadě sem patří také bezpečnost. Organizace musí promyslet bezpečnost napříč všemi vrstvami infrastruktury ještě před tím, než spustí první kontejner, a musí zajistit kontinuální integraci bezpečnosti se zohledněním toho, kde končí bezpečnost Kubernetes a kde již musí zasáhnout.
Z toho vyplývá, že i když jsou Kubernetes dostupné mnohým, vytvoření jednotné platformy pro běh kritických aplikací vyžaduje mnohem více. Kdokoliv, kdo se rozhodne vybudovat vlastní kontejnerovou platformu, bude muset spravovat, testovat a verifikovat jednotlivé technologie napříč všemi komponentami. Také bude nutné držet krok s životním cyklem každé komponenty a zajistit, že budou stále fungovat dohromady. Pokud v rámci tohoto procesu narazíte na problém, jeho řešení je čistě na vás, jelikož Kubernetes jako upstreamový open source projekt postrádá oficiální podporu.
Frankensteinovy Kubernetes
Mnoho organizací začíná s malou instalací Kubernetes a jakmile se dostanou do bodu, kdy chtějí škálovat a nasadit kritické aplikace, zjistí, že podcenily komplexitu a náročnost integrace, testování, aktualizace a správy různých cloudových komponent. V této chvíli pak mantra „nic jako obyčejné Kubernetes neexistuje“ začne dávat smysl a organizace si uvědomí, že kousek po kousku poskládaly Frankensteinovo monstrum. Údržba a správa tohoto výtvoru se pak může stát s jeho růstem velmi nákladnou – obzvláště s tím, jak roste poptávka po těchto dovednostech.
Směrování a využívání inovace
Ve světě, kde jsou inovace a rychlost, s jakými se dostanete na trh, hlavními prioritami, je třeba, aby vývojáři začínající s novým projektem byli schopni efektivně nasadit infrastrukturu a začít programovat. Využitím spravované platformy, která poskytuje okamžitý přístup ke všem potřebným prostředkům pro běh kontejnerů a Kubernetes napříč hybridním prostředím (včetně podpory a bezpečnosti) znamená, že vývojáři mohou strávit více času řešením problémů důležitých pro byznys.
Mnoho organizací bude vyžadovat, aby jejich hybridní prostředí zahrnovalo více veřejných cloudů. To znamená, že si musí být vědomy, kolik flexibility a svobody požadují vzhledem k technologiím, které plánují využívat. To může zahrnovat nastupující inovace jako Quarkus, který umožňuje vytvářet aplikace navržené pro cloud, nebo operátory, které představují způsob distribuce aplikací navržených pro Kubernetes nabízející jednodušší správu. V konečném důsledku to znamená pochopit rozdíl mezi otevřenou a proprietární platformou.
Jako příklad nám zde může posloužit Deutsche Bank, která vytvořila platformu jako službu založenou na open source technologiích, aby podpořila standardizaci a jednoduchost přístupu vývojářů k výpočetní kapacitě a aplikačním zdrojům napříč organizací. Tato kontejnerizovaná aplikační vývojová platforma založená na mikroslužbách s názvem Fabric poskytuje rychlý přístup ke zdrojům a pomáhá vývojářům pracovat efektivněji. V praxi to znamená, že aplikace se nyní mohou dostat z fáze experimentu do produkce za 2 až 3 týdny místo původních 6 až 9 měsíců.
Společnost Cathay Pacific Airways Limited, která obsluhuje 200 destinací v 52 zemích, pak nasadila podnikovou Kubernetes platformu v prostředí otevřeného hybridního cloudu. Nejen, že tím získala škálovatelnost na vyžádání a přenositelnost mezi privátní a veřejnou infrastrukturou, ale také tím vylepšila spolupráci mezi týmy, čímž vznikly mnohem efektivnější a levnější pracovní procesy. Letecká společnost je nyní schopna provádět 200 nasazení za den, ve srovnání s jedním nasazením za měsíc v minulosti. Také není nutné přepisovat aplikace, když je třeba je přesunout.
Kroťte své nadšení
Když vykročíte na svou cestu ke kontejnerům, vezměte do úvahy širší pohled na věc a zvažte, jak budete v budoucnu kontejnery spravovat v produkci. V konečném důsledku otázkou je „Na co by se měly vaše týmy soustředit?“. Pokud odpověď zní, že by měly budovat zákaznické služby na světové úrovni a dostat je na trh rychleji než kdy dříve, pak si pamatujte, že Kubernetes je mocná zbraň ve vašem arzenálu, ale samy o sobě vás kontejnery nespasí.
Graham Berry
Autor článku působí ve společnosti Red Hat jako vedoucí prodeje divize OpenShift pro region EMEA.