Virtualisierung bezeichnet in der Informatik die Erzeugung von virtuellen (d.h. nicht physikalischen) Dingen wie einer emulierten Hardware, eines Betriebssystems, Datenspeichers oder Netzwerkressource. Dies erlaubt es etwa, Ressourcen von Computern transparent zusammenzufassen oder aufzuteilen, oder ein Betriebssystem innerhalb eines anderen auszuführen. Quelle: www.wikipedia.de
Virtualisierung ermöglicht die Abstraktion von Hardware, Software und Netzen. Im übergreifenden Sinn werden mit Virtualisierung Software- oder Hardware-Techniken bezeichnet, welche eine Abstraktionsschicht zwischen dem Benutzer (oder Applikationen oder Schnittstellen) einerseits und physischen Ressourcen wie z.B. Hardwarekomponenten eines Rechners andererseits, implementieren. Quelle: www.itwissen.info
Kurz: Virtualisierung bezeichnet Methoden, die es erlauben, Ressourcen eines Computers zusammenzufassen oder aufzuteilen.
Eine virtuelle Maschine (VM) entsteht durch Virtualisierung einer realen
Maschine
Es gibt eine Software, welche eine virtuelle Maschine erzeugt (Hypervisor)
Eine virtuelle Maschine kann einen vollwertigen „PC im PC“ darstellen
Ein Betriebssystem kann installiert werden (Gast-BS)
Eine virtuelle Maschine kann aber auch nur bestimmte Teile eines Systems nachbilden
Hypervisor / Virtual Machine Monitor (VMM)
Virtualisierungsmethoden und -plattformen
Funktionalitäten des Gast-BS werden gezielt verändert (Kernel-Anpassungen)
Gast-BS „weiß“, dass es sich in einer virtuellen Umgebung befindet
Gast-BS kann direkt mit dem Hypervisor interagieren und benötigt keine Hardware-Emulation
Bewertung
Neue Prozessortechnologien, die CPUs besitzen einen Befehlssatz, der Virtualisierung direkt unterstützt (Intel-VT, AMD-V)
Modifikation des Gast-BS soll vermieden werden und direkt durch Hardware gelöst werden
Hypervisor soll durch hardwarebasierte Speicherverwaltung entlastet werden
Bewertung
Innerhalb einer VM wird die Standardhardware eines Rechners komplett oder teilweise simuliert
Ein Emulator erzeugt entsprechende Softwareschnittstellen, die vom Gast-BS angesprochen werden können
Der Emulator sorgt dafür, dass Befehle die an die simulierte Hardware gerichtet sind für die physische Hardware des Hostsystems umgewandelt werden
Bewertung
Innerhalb des Host-BS werden isolierte Bereiche erzeugt, auch Virtual Environment (VE) oder Container genannt
In einem VE ist kein eigenständiges Betriebssystem installiert, es verwendet die Kernel-Bibliotheken und Geräte-Treiber des Hostsystems
Einige Individualdaten müssen für den Container definiert werden, z.B. Dateisystem, IP-Adresse, Hostname, Benutzer
Bewertung
Quelle: http://collabnix.com/a-comparative-study-of-docker-engine-on-windows-server-vs-linux-platform/
PV | HWV | HWE | Container | |
---|---|---|---|---|
Performance | + | o | - | ++ |
Gast-BS Flexibilität | – | + | ++ | - |
Hardwareunabhängigkeit | + | - | ++ | + |
Verbreitung | + | ++ | + | ++ |
Zusammenfassung
Leistungsverlust möglich
Leistungsbedarf Betriebssystem und Virtualisierungsschicht bis zu 30%
Stark abhängig von Typ und Anwendung des Gastsystems
Verlust unterschiedlich je nach Komponentenauslastung
Prozessor
Optimierung: Speziallösung mit nur ca. 10% Leistungseinbuße
Cloud Computing is a style of computing in which massively scalable IT-related capabilities are provided “as a service” using Internet technologies to multiple external customers. Gardner
Cloud Computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. National Institute of Standards and Technology
Stellt gemanagte Infrastruktur als virtuelles System zur Verfügung
Stellt Virtuelle Plattform wird zur Verfügung gestellt
Es wird Zugriff auf eine einzelne Anwendung in der Cloud zur Verfügung gestellt
Managed | “Server” | IaaS | PaaS | SaaS |
---|---|---|---|---|
Applications | x | x | x | x |
Runtimes | x | x | ✓ | ✓ |
Database | x | x | ✓ | ✓ |
Operating System | x | x | ✓ | ✓ |
Virtualization | x | ✓ | ✓ | ✓ |
Server | x | ✓ | ✓ | ✓ |
Storage | x | ✓ | ✓ | ✓ |
Networking | x | ✓ | ✓ | ✓ |