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ů.
ČERMÁK, Miroslav, 2018. Virtualizace vs. kontejnerizace. Online. Clever and Smart. ISSN 2694-9830. Dostupné z: https://www.cleverandsmart.cz/virtualizace-vs-kontejnerizace/. [citováno 08.12.2024].
Štítky: informační bezpečnost
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.