Centrem podnikání jsou dnes ve stále větší míře data a na nich založené rozhodování. V data-centric prostředí se proto od aplikací očekává především to, aby umožnily komplexní přehled o dostupných datech a jejich přeměnu na přidanou hodnotu. Moderní podnikové aplikace by proto měly být navrženy právě s důrazem na data. A to představuje klíčový faktor, který v podnikovém prostředí vede k přijetí kontejnerů i systému Kubernetes.
Kontejnery představují další krok po virtualizaci a doplňují se s trendem přesunu podnikového IT do cloudu. Aplikace blízké budoucnosti budou již využívat kontejnery jako standard. Jedná se totiž o způsob umožňující velmi efektivní přenos a zprovozňování aplikací mezi různými výpočetními prostředími. Kontejner funguje jako balíček, který obsahuje samotný software i jeho závislosti (jako jsou např. knihovny v prostředí klasických OS), tedy všechny komponenty a informace potřebné k jeho spuštění. Není pak problém pracovat s aplikací jako s jediným objektem.
Současná míra přijímání kontejnerů je velmi rychlá. Podle společnosti 451 Research je 95 % nových aplikací vyvíjeno v kontejnerech. Gartner uvádí, že 81 % podniků již využívá více cloudů a spolupracuje s alespoň se dvěma poskytovateli cloudových služeb. Do roku 2025 má 85 % globálně působících podniků používat kontejnery v produkčním prostředí – což znamená prudký nárůst, protože v roce 2019 bylo odpovídající číslo pouze 35 %. IDC odhaduje, že trh se softwarem pro infrastrukturu kontejnerů dosáhne do roku 2022 objemu 1,5 miliardy dolarů.
Moderní podnikové aplikace bývají právě z výše uvedených důvodů navrženy obvykle už jako nativně cloudové. U takových aplikací požadujeme, aby je šlo jednoduše přesouvat mezi různými cloudy (i prostředím on-premises nebo dokonce zdroji edge computingu), snadno nasadit, spustit a dále upravovat, včetně přidávání nových funkcionalit, oprav nebo bezpečnostních aktualizací. Nativně cloudové aplikace zahrnují jak nové verze tradičních typů podnikového softwaru, tak i aplikace nového typu, spojené např. se zpracováním velkých objemů dat nebo s umělou inteligencí/strojovým učením.
Základ architektury nativně cloudové aplikací představují dnes vedle kontejnerů také mikroslužby, z nichž se aplikace skládají. Tyto mikroslužby představují na sobě do značné míry nezávislé funkce, které spolu komunikující přes definovaná rozhraní API. Výsledkem tohoto kompozitního přístupu je vysoká škálovatelnost aplikací i jejich spolehlivý provoz; nutný zásah se typicky týká pouze příslušné mikroslužby, je velmi rychlý a nevyžaduje odstávku služby jako celku, takže uživatelé ho obvykle ani nezaznamenají. Přístup založený na mikroslužbách přináší výhodu hlavně pro velké podniky, ať už jde o aplikace kritické důležitosti nebo velkého rozsahu. Mikroslužby zmírňují složitost celého prostředí IT a usnadňují také vývoj nových komplexních služeb, kdy spolu jednotlivé týmy často pouze omezeně komunikují.
Kontejnery představují přitom pro mikroslužby konzistentní prostředí, v němž se odehrává celý životní cyklus aplikace, od vývoje přes testování až po konečné nasazení a přesuny provozu; oproti virtuálním počítačům jsou kontejnery mnohem nákladově efektivnější a jednodušší z hlediska řízení.
V souvislosti s kontejnery se výrazně uplatňuje nástroj Kubernetes, jehož základní funkcí je orchestrace prostředí kontejnerů jako celku. Jedná se o komplexní platformu s funkčností virtualizačních řešení, ovšem s mnohem menší zátěží. Kontejner na rozdíl od virtuálního stroje neobsahuje celý operační systém, lze i s aplikací obvykle spustit během několika sekund nebo dokonce mikrosekund. Kontejnery navíc umožňují efektivní rozložení provozovaných aplikací tak, aby měly jen minimální režii a přitom nedocházelo k výpadkům ani omezení výkonu.
Svět kontejnerů ovšem před firmy staví také mnohé výzvy. Úzkým místem aplikací provozovaných v kontejnerech bývá dnes často spolupráce s datovým úložištěm. Některé aplikace mají pak dokonce problém zajistit parametry, které jsou v tradičním zásobníku podnikových aplikací považovány za samozřejmé (vysoká dostupnost, zotavení po havárii, konzistentní zálohování a šifrování...). Běžná, nikoliv však optimální, bývá situace, kdy různé kontejnerizované aplikace používají pro práci s úložištěm vlastní strategii, což pak může působit problém z hlediska standardů a dodržování předpisů napříč organizací. K doporučeným postupům (best practices) proto patří volba řešení, které poskytuje datové služby nativní pro Kubernetes. To mimo jiné znamená využívat úložiště bloků, souborů a objektů s více úrovněmi výkonu. Takové úložiště dat poskytované formou služby umožňuje přiřazovat zdroje na vyžádání, v závislosti na tom, jak Kubernetes provádí celkovou orchestraci.
Pure Storage považuje podporu kontejnerových technologií za klíčovou. V roce 2020 proto společnost koupila za přibližně 370 milionů dolarů Portworx. Tato platforma, propojená s další nabídkou Pure, podporuje řízení dat nativně pro Kubernetes. Portworx tak poskytuje plně integrované prostředí zajišťující pro kontejnerizované aplikace spolehlivé úložiště, zabezpečení, ochranu dat, funkce pro zotavení, řízení kapacit i přesuny dat mezi různými cloudy.
Jacob Ringler, ředitel pražského R&D centra Pure Storage