facebook LinkedIN LinkedIN - follow
IT SYSTEMS 10/2019 , ITSM (ITIL) - Řízení IT

Zájem o kontejnery stále roste

Jaké jsou jejich výhody?

-master-


O kontejnerech je ve světě informačních technologií hodně slyšet už pár let a zájem českých firem o ně stále roste. Není divu – kontejnery totiž přináší řadu výhod, které tradiční plná virtualizace neumí řešit. Kontejnerizace umožňuje efektivněji využívat zdroje, usnadňuje přenositelnost software a zjednodušuje škálování. Zjistěte, jak s kontejnery začít.


Kontejnery využije každý, kdo pracuje se software

Kontejnerizace má smysl především pro vývojáře microservices. Jedná se o způsob vývoje a provozování aplikací rozdělených na menší moduly uzavřených v kontejnerech, které spolu komunikují prostřednictvím API. Takto postavené aplikace jsou jednodušší na údržbu, protože moduly jsou relativně jednoduché a mohou v nich být prováděny změny bez nutnosti přestavování celé aplikace. Vývoj microservices je možný díky orchestrátorům, které zvládají management obrovského množství kontejnerů a umožňují například i rolling update – při nasazení nových verzí aplikace udržuje repliky obou verzí pro případný rollback na předešlou verzi.

Z kontejnerových technologií ale může profitovat jednoduše každý, kdo pracuje se software, ať už s vlastním nebo třetích stran. Kontejnery umožňují snadnou přenositelnost softwaru, který může běžet podle potřeby na různých přístrojích. Díky kontejnerům mohou fungovat jednotlivé části softwaru odděleně, což zvyšuje jeho celkovou bezpečnost, protože problém jedné části nezasáhne ostatní. Kontejnery jsou nepřekonatelné ve škálování – ať už počet uživatelů aplikace klesá nebo stoupá, s kontejnery lze na změny reagovat takřka okamžitě.

„Škálování kontejnery ulehčují hned z několika důvodů. Umožňují lépe využít zdroje serveru. Chceme-li škálovat monolitickou aplikaci, část zdrojů serveru zůstane nevyužita. Mikroslužby v kontejnerech mají jemnější granularitu a tím naopak umožňují zdroje využít beze zbytku. Navíc můžeme některé mikroslužby naškálovat vícekrát, některé jen jednou, podle potřeby. Vznik nového kontejneru je velmi rychlý (nesrovnatelně rychlejší proti vzniku nového virtuálního stroje), proto s kontejnerovým škálováním můžeme například okamžitě reagovat na velké výkyvy ve využívání aplikace. Pro kontejnery můžeme výhodně použít existující orchestrátory – např. k8s, které, kromě dalších funkcí, provádějí automatické škálování,“ vysvětluje Martin Žídek, technický ředitel společnosti Master Internet.

Kontejnery řeší nedostatky klasické virtualizace

Vývoj posledních let ukazuje, že zájem o kontejnery stále roste. Jejich popularita je dána schopností řešit nedostatky klasické plné virtualizace. „U plné virtualizace hypervizor emuluje hardware a každý vzniklý virtuální stroj má nainstalovaný vlastní operační systém. Tím vznikají poměrně vysoké režijní náklady, protože provoz hypervizoru a jednotlivých operačních systémů spotřebovává až 20 % výkonu serveru,“ dodává Martin Žídek.

Kontejnerizace je naopak virtualizací jádra operačního systému – to znamená, že všechny kontejnery běží odděleně vedle sebe v rámci jednoho operačního systému a společně sdílejí paměť, knihovny a další zdroje. Tím jsou režijní náklady sníženy a zdroje se využívají efektivněji. Navíc spuštění jednotlivých kontejnerů je výrazně rychlejší než vytváření nových virtuálních strojů s instalováním operačních systémů.

Přechod na kontejnery a jaké řešení si vybrat

Pokud o využití kontejnerů přemýšlíte, nemusíte se do jejich instalace pouštět sami – řada datacenter dnes kontejnerová řešení nabízí. Co je pro přechod na kontejnerové řešení nutné udělat? Technicky lze i velké monolitické aplikace jednoduše zavřít do jednoho kontejneru, tím ale nevyužijeme výhody, které kontejnerizace přináší. Naopak je potřebné veškerý software rozdělit na menší části a uzavřít je do kontejnerů. K rozbití monolitických softwarů je nutná příprava a existují metodologie, které postup popisují.

„Univerzální návod na převod monolitické aplikace na microservices ovšem neexistuje. Velmi záleží na konkrétní aplikaci. Platí, že čím složitější vazby v datech, tím složitější převod. Speciálně podnikové informační systémy, které mají velmi složité vazby v datech, jsou na převod nejnáročnější,” upozorrňuje Martn Žídek.

V kontejnerech je budoucnost i mimo servery

Kontejnerové řešení se postupně vyvíjí už několik dekád a zdá se, že technologie má před sebou velkou budoucnost. „V současnosti je její největší přínos ve spojení s microservices, kontejnery se ale dostaly třeba už i do desktopového prostředí. Například Linux spustil kontejnerový systém Flatpak pro distribuci GUI aplikací,“ přibližuje současný vývoj Žídek. Ve Flatpaku mohou uživatelé spouštět aplikace izolovaně od zbytku systému, což zajišťuje větší bezpečnost, zjednodušuje updaty a minimalizuje hromadění nepotřebných dat.

Vedle toho vznikl například i experimentální operační systém Fedora, kde je veškerý software distribuovaný mezi kontejnery. „Vše nasvědčuje tomu, že v budoucnu bude veškerý software distribuovaný ve formě images pro kontejnery a procesy už nebudou běžet v hlavním linuxovém jmenném prostoru,“ myslí si Martin Žídek o budoucnosti kontejnerů v desktopovém prostředí.

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.