;

Kontejnery zjednoduší provoz firemního IT

15. 4. 2024
Doba čtení: 6 minut

Sdílet

 Autor: CIO.cz s využitím DALL-E
Lehké, přenosné a samostatně funkční kontejnery Docker zlepšují vývoj softwaru, nasazení aplikací i firemní agilitu.

Kniha publikovaná už v roce 1981 s názvem Nailing Jelly to a Tree popisuje software jako „mlhavý a obtížně uchopitelný“. Platilo to v roce 1981 – a po uplynutí čtyřiceti let to není o nic méně pravdivé.  Software, ať už jde o aplikaci, kterou jste zakoupili, nebo tu, již jste vytvořili sami, zůstává obtížné nasadit, spravovat i provozovat.

HP Knowledge HUB pro moderní firemní IT

NOVINKA Navštivte novou speciální on-line zónu CIO Business Worldu, kde vám ve spolupráci s HP budeme průběžně radit, jak snadno a bezpečně pracovat na cestách, jak si usnadnit život používám správných nástrojů, jak zvládnout přechod z kanceláří domů a zase nazpátek a jak se přitom chovat ekologicky.

Pomoc a inspiraci pro moderní IT najdete v našem HP Knowledge HUBu.

Kontejnery ale poskytují způsob, jak nad softwarem získat více kontroly. Docker můžete použít k zabalení aplikace takovým způsobem, že její problémy nasazení a provozování – jak ji vystavit v síti, jak spravovat její využití úložiště a paměti, vstupů, výstupů a jak řídit oprávnění přístupu – se řeší mimo samotnou aplikaci způsobem, který je konzistentní ve všech „kontejnerizovaných “ aplikacích.

Takový kontejner můžete spustit na jakémkoli hostiteli s operačním systémem (jde o Linux či Windows), ve kterém je nainstalován runtime pro Docker.

Docker nabízí kromě tohoto praktického zapouzdření, izolace, přenositelnosti a kontroly mnoho dalších výhod. Kontejnery jsou především poměrně malé (v řádu megabajtů), spouštějí se okamžitě a mají své vlastní vestavěné mechanismy pro verze i opětovné použití komponent.

Lze je navíc snadno sdílet prostřednictvím jak veřejného (Docker Hub), tak i privátního repozitáře.

Kontejnery Docker jsou také nezměnitelné, což má bezpečnostní i provozní výhody. Jakékoli změny v kontejneru se musejí nasadit jako zcela nová instance s označením jiné verze.

Jak tedy kontejnery Docker usnadňují vytváření i nasazení softwaru a co jsou problémy, které kontejnery řeší?

Před kontejnery

Po mnoho let se podnikový software obvykle nasazoval buď „přímo na hardware (bare metal),“ tj. do operačního systému (OS), který má úplnou kontrolu nad nosným hardwarem, nebo naopak do virtuálního stroje, tj. nainstalováním do OS, který sdílí nosný hardware s dalšími „hostujícími“ operačními systémy.

V roce 2024 přicházejí velké změny na pracovištích. Jste připraveni? Přečtěte si také:

V roce 2024 přicházejí velké změny na pracovištích. Jste připraveni?

Instalace na nosný hardware přirozeně způsobila, že bylo příslušný program těžké přesunout a aktualizovat, což jsou mimochodem dvě omezení, která oddělení IT ztěžují pohotově reagovat na změny ve firemních potřebách.

Pak přišla virtualizace. Virtualizační platformy (známé také jako „hypervizory“) umožnily více virtuálním strojům sdílet jeden fyzický systém, kdy každý virtuální stroj izolovaným způsobem napodobuje chování celého systému včetně vlastního operačního systému, úložiště, vstupů a výstupů.

Oddělení IT tak mohlo efektivněji reagovat na změny firemních požadavků, protože virtuální počítače lze klonovat, kopírovat, migrovat a spouštět či vypínat podle různých požadavků, i za účelem šetření zdrojů.

Virtuální počítače také pomohly snížit náklady, protože je možné konsolidovat více virtuálních počítačů na menší rozsah fyzického hardwaru. Zastaralé systémy provozující starší aplikace se mohly převést do podoby virtuálních počítačů a fyzicky vyřadit, aby se ušetřilo ještě více peněz.

Virtuální počítače však stále přinášejí problémy. Jsou relativně velké (v řádu gigabajtů) a každý z nich obsahuje celý operační systém. Do jediného systému lze přitom konsolidovat jen malé množství virtualizovaných aplikací.

Jak zajistit klíčovou věc pro práci na moderním pracovišti – bezpečnost Přečtěte si také:

Jak zajistit klíčovou věc pro práci na moderním pracovišti – bezpečnost

Provisioning virtuálních počítačů stále trvá celkem dlouho a navíc je přenositelnost virtuálních počítačů omezená. Při překročení určitého bodu nedokážou virtuální počítače zajistit takovou rychlost, agilitu a úspory, které rychle fungující firmy potřebují.

Výhody kontejnerů

Kontejnery fungují trochu jako virtuální počítače, ale mnohem konkrétnějším a podrobnějším způsobem. Izolují jednu aplikaci a její závislosti (všechny externí softwarové knihovny, které aplikace vyžaduje ke svému spouštění) jak od nosného operačního systému, tak i od dalších kontejnerů.

Všechny kontejnerizované aplikace sdílejí jeden běžný operační systém (Linux nebo Windows), ale jsou od sebe a od systému oddělené. Operační systém poskytuje potřebné izolační mechanismy, aby k tomuto oddělení došlo. Docker tyto mechanismy balí do praktické sady rozhraní a metafor pro vývojáře.

Odemkněte maximální výkon kolegů pomocí špičkových technologií Přečtěte si také:

Odemkněte maximální výkon kolegů pomocí špičkových technologií

Výhody kontejnerových technologií mají mnoho forem. Následně uvádíme některé z hlavních výhod Dockeru a kontejnerů.

Docker umožňuje efektivnější využití systémových zdrojů

Instance kontejnerizovaných aplikací používají mnohem méně paměti než virtuální stroje, spouštějí se a vypínají rychleji a na hostitelském hardwaru jich může být mnohem více. To vše přináší snížení výdajů na IT.

Úspory nákladů se budou lišit v závislosti na tom, o jaké aplikace jde a jak náročné na zdroje jsou, ale kontejnery vždy fungují efektivněji než virtuální počítače. Je také možné ušetřit náklady za softwarové licence, protože k provozování stejných pracovních zátěží potřebujete mnohem méně instancí operačních systémů.

Docker umožňuje rychlejší cykly dodávání softwaru

Podnikový software musí rychle reagovat na měnící se podmínky. To znamená nejen snadné škálování podle požadavků, ale také jednoduché aktualizace pro přidání nových požadovaných funkcí.

Chcete dostávat do mailu týdenní přehled článků z CIO Business Worldu? Objednejte si náš mailový servis a žádná důležitá informace vám neuteče. Objednat si lze také newsletter To hlavní, páteční souhrn nejdůležitějších článků ze všech našich serverů. Newslettery si můžete objednat na této stránce.

Kontejnery usnadňují rychle předávat do provozního prostředí další verze softwaru s novými funkcemi pro firmu a v případě potřeby se rychle vrátit k předchozím variantám. Usnadňují také implementaci strategií, jako je blue/green nasazení.

Docker umožňuje přenositelnost aplikace

Při provozu podnikové aplikace záleží na tom, kde ji spouštíte – zda za firewallem s cílem udržet vše potřebné blízko a v bezpečí, nebo ve veřejném cloudu s cílem usnadnit veřejný přístup a zajistit vysokou pružnost zdrojů.

Protože kontejnery Docker zapouzdřují vše, co aplikace potřebuje ke svému spuštění (a jen tyto věci), umožňují, aby se aplikace mezi prostředími snadno přesouvaly. Může je spouštět každý hostitel s nainstalovaným prostředím run-time pro Docker, ať už je to notebook vývojáře, nebo instance ve veřejném cloudu.

Docker je vhodný pro architekturu mikroslužeb

Lehké, přenosné a samostatně funkční kontejnery usnadňují vytváření softwaru podle principů aktuálních vývojových trendů, takže nebudete řešit zítřejší problémy pomocí včerejších vývojových metod.

Investice do AI se vrátí do pěti let a za návrat do kanceláře více peněz Přečtěte si také:

Investice do AI se vrátí do pěti let a za návrat do kanceláře více peněz

Jedním ze softwarových vzorů, které kontejnery usnadňují, jsou mikroslužby, v rámci nichž se aplikace vytvářejí z mnoha volně provázaných komponent.

Rozdělením tradičních „monolitických“ aplikací do samostatných služeb umožňují mikroslužby škálování různých částí firemních aplikací, jejich změny a obsloužení jejich nároků odděleně. Lze tak podle firemních potřeb přiřadit jednotlivé týmy a určit rozdílné časové plány.

Kontejnery nejsou k implementaci mikroslužeb nezbytné, ale perfektně se hodí pro koncept mikroslužeb a pro procesy agilního vývoje obecně.

Co Docker nevyřeší

První věc, na kterou je potřebné pamatovat u kontejnerů, je stejná jako u všech ostatních softwarových technologií: není to zázračné řešení. Kontejnery Docker samy o soběnemohou vyřešit každý problém. Konkrétně jde například o tyto:

Docker nevyřeší vaše bezpečnostní problémy

Software v kontejneru může být ve výchozím nastavení bezpečnější než software přímo na hardwaru, ale je to stejné jako u domu se zamčenými dveřmi, který je bezpečnější než při odemčených dveřích.

ESG: Ve znamení udržitelnosti Přečtěte si také:

ESG: Ve znamení udržitelnosti

Nic to neříká o situaci v sousedství, o viditelné přítomnosti cenností lákavých pro zloděje, o denním režimu jeho obyvatel atd. Kontejnery mohou do aplikace přidat vrstvu zabezpečení, ale jen jako součást obecného způsobu zabezpečení aplikace v kontextu.

Docker magicky nezmění aplikace na mikroslužby

Pokud převedete do podoby kontejneru existující aplikaci, může to snížit její spotřebu zdrojů a usnadnit nasazení. Nezmění to ale automaticky design aplikace ani způsob její interakce s ostatními aplikacemi. Tyto výhody zajistí jen úsilí a čas vývojářů, ne přesun všeho do kontejnerů.

Pokud do kontejneru vložíte monolitickou či SOA aplikaci, získáte tím prostě jen starou aplikaci v kontejneru. Pro vaši práci to nepřinese nic užitečnějšího, dokonce to může naopak vytvořit určité komplikace.

Kontejnery samy o sobě nemají mechanismy k vytváření aplikací ve stylu mikroslužeb. K dosažení toho potřebujete vyšší úroveň orchestrace.

Jste připraveni na firemní aplikace s podporou genAI? Přečtěte si také:

Jste připraveni na firemní aplikace s podporou genAI?

Nejčastějším příkladem takového orchestračního systému je Kubernetes. Ke správě mnoha kontejnerů Docker rozmístěných na více hostitelích lze použít také Docker Swarm.

bitcoin_skoleni

Docker není náhradou za virtuální počítače

Jedním přetrvávajícím mýtem o kontejnerech je, že jsou náhradou za virtuální počítače. Mnoho aplikací, které se provozovaly ve virtuálních počítačích, lze přesunout do kontejnerů, ale to neznamená, že je tam možné či vhodné přesunout všechny.

Pokud například působíte v oboru s přísnými regulačními požadavky, nebudete moci nahradit virtuální počítače za kontejnery, protože virtuální počítače zajišťují více izolace než kontejnery.

 

CIO Business World si můžete objednat i jako klasický časopis (v tištěné i v digitální podobně) Věnujeme se nejnovějším technologiím a efektivnímu řízení podnikové informatiky. Přinášíme nové ekonomické trendy a analýzy a zejména praktické informace z oblasti podnikového IT se zaměřením na obchodní a podnikatelské přínosy informačních technologií. Nabízíme možná řešení problémů spojených s podnikovým IT v období omezených rozpočtů. Naší cílovou skupinou je vyšší management ze všech odvětví ekonomiky.