Virtualizace vs. kontejnerizace

Hned na úvod je nutné říci, že virtualizace a kontejnerizace řeší zcela jinou potřebu. Tyto technologie nestojí proti sobě, ale naopak se doplňují.

Z pohledu bezpečnosti řešíme problém, aby při napadení aplikace běžící v kontejneru/virtuálu nedošlo k napadení hostujícího OS nebo aplikace běžící v jiném kontejneru/virtuálu, a naopak aby při napadení hostujícího OS nedošlo k napadení aplikací běžících v jednotlivých kontejnerech/virtuálech.

Virtualizace

Virtualizaci lze označit jako top-down přístup, kdy je již od začátku zajištěna plná izolace. Při virtualizaci je možné na jednom fyzickém železe provozovat několik virtuálních strojů, rozuměj instancí operačního systému, zkr. OS, a tedy a plně využít všech jeho funkcí. Každá aplikace nebo její vrstva, pokud budeme uvažovat o n-tier architektuře má k dispozici vlastní, byť virtuální server s běžícím OS.

Virtuální server je vhodné nasadit pro komplexnější aplikace a oddělení jednotlivých klientů od sebe, např. webových serverů.

Kontejnerizace

Kontejnerizaci lze označit jako bottom-up přístup, kdy aplikace běží na stejném jádře a provádí se jejich izolace. Při kontejnerizaci a je jedno, zda na fyzickém nebo virtuálním serveru mají všechny aplikace nebo vrstvy k dispozici jen jednu instanci OS, jehož služeb využívají, ale dochází zde k běhu izolovaných procesů s omezeným přístupem ke zdrojům.

Kontejnery jsou vhodné pro mikroservisy, malé aplikace napsané třeba i v nějakém skriptovacím jazyce, pro které by bylo značně neefektivní vytvářet vlastní dedikovaný server jen proto, aby se v něm nakonec spustil skript vykonávaný nějakým interpretem. Dále je vhodné nasadit kontejnerizaci tam, kde je zároveň požadován přímý přístup k hardwaru.

Bezpečnost

Z popisu uvedeného výše je zřejmé, že kontejnerizace nemůže nikdy zajistit takovou úroveň bezpečnosti, jako virtualizace, kde nastavení OS ovlivňuje všechny aplikace v kontejnerech, které jsou na něm závislé.

Při napadení jednoho virtuálního stroje je zde menší riziko napadení dalších strojů než u kontejnerů, kde je toto riziko vyšší, neboť zde existuje závislost na systému, jádře, knihovnách a dalších aplikacích. Jinými slovy je zde jeden bod selhání, když malware napadne host OS, tak je dopad větší u kontejnerů než u virtuálních strojů, kde by musel kompromitovat hypervisora.

Náklady

Ve prospěch kontejnerizace pak hovoří nižší náklady na zdroje, neboť stačí jen jedna instance OS, ve které se dají v jednotlivých kontejnerech spustit jednotlivé aplikace. Tím lze dosáhnout výrazně nižších režijních nákladů a dosáhnout tak i vyšší efektivity.

Použitelnost

Kontejnery se vyznačují lepší portovatelností, lze snáze přejít od jedno CSP k druhému. Aplikace je také možné rychleji spouštět, jednoduše proto, že kvůli nim není nutné spouštět celý OS.

Závěr: Kontejner je vhodný pro izolaci aplikací, zatímco virtuální stroj pak pro izolaci klientů.

Pokud vás tento článek zaujal, můžete odkaz na něj sdílet.

Štítky:


K článku “Virtualizace vs. kontejnerizace” se zde nenachází žádný komentář - buďte první.

Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.

Přihlášeným uživatelům se tento formulář nezobrazuje - zaregistrujte se.

Jméno:(požadováno)
E-mail:(požadováno - nebude zobrazen)
Web:

Text vaší reakce: