Zájem o kontejnery v Česku stále roste. Jaké jsou jejich výhody?

26. 6. 2019

Sdílet

 Autor: Master Internet
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.

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. „Každý měsíc se nám ozývají další lidé se zájmem o kontejnerové řešení, ať už o robustní managed Kubernetes clustery nebo menší virtuální servery, takzvané VPS, s možností další kontejnerové virtualizace,“ popisuje technický ředitel datacenter Master Internet Martin Žídek.

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 portabilitu 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ě.

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,“ vysvětluje Ží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í.

MasterDC nabízí tři varianty managed Kubernetes clusteru:

  1. Pro malé instance kontejnery ve VMware cloudu
  2. Pro velké projekty Kubernetes cluster běžící kompletně na fyzických serverech
  3. Hybridní variantu, která zahrnuje orchestrátor v cloudu a kontejnery běžící na vlastních dedikovaných serverech

Nově Master Internet přichází i s VPS s virtualizací KVM, která umožňuje, aby si zákazník Docker na virtuální stroj nainstaloval sám. „Největší zájem je o hybridní variantu Kubernetes clusteru, kterou dokážeme přizpůsobit každému zákazníkovi na míru,“ říká technický ředitel Masteru.

kontejnery schema

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í.

bitcoin_skoleni

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í.