Je možné si prenajať len časť prostriedkov stroja.
Virtuálna infraštruktúra môže byť úplne odlišná od fyzickej infraštruktúry.
Manažment závislostí aplikácie
Rovnaká alebo takmer rovnaká aplikácia beží v rôznych podmienkach.
Zabezpečenie prenositeľnosťi zvyšuje náklady na vývoj a údržbu produktu.
Prenositeľnosť zákazníci vyžadujú.
Umožňuje ľahko:
je vrstva oddeľujúca hosťovský (guest) operačný systém a fyzický hardvér.
+----------------+
| HOST HW and OS |
+----------------+
^
|
+----------------+
| Virtualization |
+----------------+
^
|
+------------------+
| GUEST OS and APP |
+------------------+
Vytvára oddelený "svet" pre aplikáciu:
Hardvérová virtualizácia - proces beží na virtuálnom procesore. Je možné spúšťať ľubovoľné programy pre ľubovoľnú architektúru aj OS. Je pomalšia.
Paravirtualizácia - proces beží na fyzickom procesore. Nie je možné spúšťať programy pre inú architektúru. Je rýchlejšia. Potrebuje podporu BIOSu.
Virtualizácia na úrovni operačného systému - proces beží vo vyhradenom priestore a využíva služby hostiteľského operačného systému. Nie je možné spúštať programy pre iný operačný sýstém.
Virtualizačná vrstva je súčasťou Host OS
+----------+
| HOST HW |--------+
+----------+ |
^ |
| |
+------------+ +---------+
| Hypervisor | | Host OS |
+------------+ +---------+
^
|
+------------------+
| GUEST OS and APP |
+------------------+
napr. VM Ware ESX, Xen, Qemu / KVM, ProxMox
Monitor je jedna z aplikácií Host OS
+------------+ +---------+
| HOST OS |- | Host HW |
+------------+ +---------+
^
|
+------------+
| VM Monitor |
+------------+
^
|
+------------------+
| GUEST OS and APP |
+------------------+
napr. Virtual Box
Vrstva hostiteľského operačného systému ktorá vytvára "klietku" v ktorej beží jeden alebo viac procesov.
+------------+ +---------+
| HOST OS |- | Host HW |
+------------+ +---------+
^
|
+---------------------+
| Container Manager |
+---------------------+
^
|
+-----+
| APP |
+-----+
Docker is a set of platform as a service (PaaS) products
that use OS-level virtualization to deliver software in packages called containers.
Každý komponent môže bežať na inom stroji. Komponenty spolu komunikujú pomocou aplikačného protokolu.
+----------+
| registry | Docker Hub
+----------+
|| (image)
+----------+
| daemon | Host machine
+----------+
|| (protocol)
+------------+
| cli client | Host or manager machine
+------------+
Príkaz 'docker' v príkazovom riadku.
Nevýhody virtualizácie
na svojom PC