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 příspěvek zaujal, sdílejte ho!
Share on Facebook
Facebook
Share on LinkedIn
Linkedin
Tweet about this on Twitter
Twitter
Share on Google+
Google+
Email this to someone
email
Print this page
Print

Š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: