Kontejnery zjednoduší provoz firemního IT

31. 7. 2023

Sdílet

Autor: Adobe Stock
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.

Využívají vaši zaměstnanci pokročilou datovou analytiku?

  • Ano, k dispozici je už většině pracovníků, pro které to má smysl
    30 %
  • Ano, ale je dostupná pouze malé skupině lidí
    16 %
  • Ne, teprve se seznamujeme, co by nám mohla přinést
    14 %
  • Ne, pro nás to nemá využití
    40 %

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.

Čtyři způsoby, jak být ve Windows 11 produktivnější Přečtěte si také:

Čtyři způsoby, jak být ve Windows 11 produktivnější

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.

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

Další čtyři tipy na zrychlení práce s Windows 11 Přečtěte si také:

Další čtyři tipy na zrychlení práce s Windows 11

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

Dělič obsahu „zdarma“ (před tímto widgetem) a dostupného až po vyžadované akci (za tímto widgetem)

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.

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.

Zbavte se návyku na ChatGPT a objevte i jiné služby Přečtěte si také:

Zbavte se návyku na ChatGPT a objevte i jiné služby

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

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

Stable Doodle AI promění vaše čmáranice ve skutečné umění Přečtěte si také:

Stable Doodle AI promění vaše čmáranice ve skutečné umění

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.

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.

Konec problémům: Windows se samy opraví Přečtěte si také:

Konec problémům: Windows se samy opraví

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.

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.

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

bitcoin_smenarna

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.

 

Computertrends si můžete objednat i jako klasický časopis. Je jediným odborným magazínem na českém a slovenském trhu zaměreným na profesionály v oblasti informačních a komunikačních technologií (ICT). Díky silnému zázemí přináší aktuální zpravodajství, analýzy, komentáře a přehledy nejnovejších technologií dříve a na vyšší odborné úrovni, než ostatní periodika na tuzemském trhu.

Obsah Computertrends je určen odborníkům a manažerům z firem a institucí, kteří se podílejí na rozhodovacím procesu při nákupu ICT technologií. Jednotlivá čísla si můžete objednat i v digitální podobě.