Dein letzter Login ist schon eine Weile her.

Bitte überprüfe, ob alle Angaben in Deinem Profil noch aktuell sind.


02.10.2020
von Jesko
in IT-Talents

Was ist Betriebssystemvirtualisierung bzw. Containerisierung?

x
Für Unternehmen:
IT-Nachwuchs kennenlernen!
Jetzt starten

Lesezeit: ca. 3 Min.

Bewerten

Themen auf dieser Seite:

Virtualisierungstechnologien Teil 5: Containerisierung

Der Begriff Virtualisierung wird häufig bei Beschreibung und Implementierung abstrakter Hardware- oder Software-Modelle verwendet. Eine virtuelle Umgebung eröffnet den Weg für neue Technologien, bietet zusätzliche Möglichkeiten und senkt die Kosten für Softwareentwicklung und Betrieb. Besonders vielversprechend ist der Ansatz der Virtualisierung einer Betriebssystemumgebung.

Übersicht:

Container-Virtualisierungstechnologien bieten neue Anwendungsmöglichkeiten

Virtualisierungsmethoden werden in zwei Hauptgruppen eingeteilt: Hardware-Virtualisierung, die als VM bekannt ist, und Virtualisierung auf Betriebssystemebene (Betriebssystem- oder Containervirtualisierung). Bei Containervirtualisierung (Containerisierung) wird derselbe Kernel des Host-Systems für alle Gastsysteme (Container) verwendet. Aus diesem Grund läuft ein Container auf demselben Betriebssystemtyp wie der Host, zum Beispiel "Linux auf Linux" oder "Windows auf Windows".

Containerisierung ist eine Virtualisierungsmethode, bei der der Betriebssystemkern mehrere Container als isolierte Instanzen der Benutzerumgebung gleichzeitig steuert.

Aus Anwendersicht sind Container funktionell identisch mit der Instanz des Betriebssystems. Der Betriebssystemkern unterstützt eine vollständige Isolierung von Containern, sodass sich Anwendungen aus verschiedenen Containern nicht gegenseitig stören können.

Da die Anwendungen und ihre Laufzeitumgebungen in einzelnen Containern voneinander getrennt sind, ist die Containerisierung die perfekte Technik, um mehrere Applikationen auf einem demselben Host sicher zu testen und zu betreiben.

Beispiele für Containervirtualisierung sind de.wikipedia.org/wiki/LXC#:~:text=LXC%20(Linux%20Containers%20ist%20ein,auf%20einem%20einzigen%20Host%20erm%C3%B6glicht. text: LXC), FreeBSD Jails, OpenVZ und Docker.

Es gibt sowohl Implementierungen, die sich auf die Erstellung praktisch vollwertiger Instanzen von Betriebssystemen (Solaris-Container, Virtuozzo-Container, OpenVZ) konzentrieren, als auch Optionen, die darauf spezialisiert sind, bestimmte Dienste mit einer minimalen Betriebsumgebung (Jails, Docker) bereitzustellen.

Im Vergleich zu einer Emulation virtueller Geräte entsteht bei einer Containerisierung kein zusätzlicher Ressourcenverbrauch. Auch ein Start einer Instanz des Betriebssystems, wie es für VM typisch ist, ist für Container überflüssig.

Vorteile

  • Hervorragende Leistung (keine virtualisierte Hardware, nur die Verwendung realer Hardware und Treiber)
  • Skalierbarkeit auf die Ressourcen des physischen Servers
  • Einfache Wartbarkeit (alle Container eines Hosts verwenden ein einziges Betriebssystem)
  • Mehr Anwendungen auf einem physischen Server ausführbar im Vergleich zu einer VM, die mehr Systemressourcen beansprucht
  • Eine hohe Anwendungsdichte (die Anzahl der virtuellen Umgebungen, die auf einem Server ausgeführt werden können, ist bis zu dreimal so hoch wie die der VM)
  • Eine hohe Effizienz durch die gemeinsame Nutzung der HW-/BS-Ressourcen

Zu den Vorteilen von Containervirtualisierung zählen auch eine effiziente Hardwareauslastung, eine schnelle Bereitstellung von Anwendungen, deren Mobilität, Skalierbarkeit und hohe Leistung, einfache Wartung und Einsatzmöglichkeit für Microservices.

Nachteile

Da es sich bei einem Container um eine isolierte BS-Instanz mit eigener Benutzerumgebung handelt, besteht keine Möglichkeit einer umfassenden Anpassung, Konfigurierung, Selbstinstallation des Betriebssystems oder der Verwendung eines anderen Betriebssystems als des Host-Betriebssystems. Zu möglichen Problemen von Containern zählen auch komplexe Systemabhängigkeiten und Mangel an Managementsoftware für Container-Umgebungen.

Aus Anwendungssicht ist jeder Container ein eigenständiges Betriebssystem. Die BS-Virtualisierungsschicht (OS Virtualization Layer), die logisch zwischen der Host-Hardware und den Containern liegt, bietet Ressourcenisolation und -sicherheit für die sämtlichen Container.

In einem inaktiven Zustand ist ein Container entweder eine Image-Datei oder eine Reihe von Dateien. Wenn der Container gestartet wird, entpackt die Container-Engine (Docker, Railcar, LXC, CRI-O, RKT) das Container-Image mit den erforderlichen Dateien und Metadaten und informiert den Betriebssystemkern über die Aktivierung.

Nach dem Start wird der Container zu einem Systemprozess. Das Verfahren zum Starten von Containern, das Format für Container-Images und die Metadaten (Hardwarearchitektur, Betriebssystem) werden durch Standards definiert. Der bekannteste Standard ist OCI (Open Container Initiative).

Fazit

Container bieten viele Vorteile für virtuelle Umgebungen. Sie ermöglichen eine einfache und schnelle Bereitstellung, skalierbare und dichte Serverumgebungen, höhere Performance durch nicht-virtualisiertes Input/Output, vielversprechende Möglichkeiten für den Hosting-Markt, schnell verfügbare Frameworks wie Docker und Sharing-Tools wie GitHub. Container sind keine universelle Lösung für jede Art von Virtualisierung, sondern nur ein weiteres Werkzeug, das die Hardware-Virtualisierung ergänzt.

Aktuelle Aktionen:

IT-Stipendium November 2020

1200€ Förderung für IT-Talente!


Sei dabei und sichere Dir beim IT-Stipendium November 2020 bis zu 1200€ Förderung.
Jetzt bewerben!

IT-Stipendium November 2020 NRW

Stipendium für Informatiker aus NRW


Sei dabei und sichere Dir beim IT-Stipendium November 2020 bis zu 1200€ Förderung.
Jetzt bewerben!

IT-Talents ist ein Netzwerk nur für IT'ler. Auf unserer Plattform kannst Du Dich als registriertes Mitglied mit wenigen Klicks auf die Jobs unserer Partnerunternehmen oder auf IT-Projekte für Studierende bewerben. Darüberhinaus führen wir Wettbewerbe durch und vergeben IT-Stipendien.

Jetzt Mitglied werden.

Verwandte Artikel

Was ist ein Framework? - Definition & Erklärung

20. Nov 2020 in IT-Talents

In Softwareprojekten ist es erforderlich, nicht nur die funktionalen Anforderungen umzusetzen, sondern auch ein…

weiter

Die 5 besten GUI-Clients für Git 2021

05. Nov 2020 in IT-Talents

Git ist ein bekanntes Werkzeug für das Versionsmanagement von Dateien. Entwickelt wurde es für die heute verbreitete H…

weiter

Wozu dient ein Proxy Server?

26. Oct 2020 in IT-Talents

Eine Verbindung zum Internet ist für viele selbstverständlich, aber eine Filterung des Datenverkehrs kann aus den v…

weiter

Was ist PHP und wie kann ich es lernen?

22. Oct 2020 in IT-Talents

Heute erwarten Nutzer ein dynamisches Verhalten Deiner Webseite und genau dafür ist PHP geeignet. Als …

weiter

Was ist Hardware Emulation? - Virtualisierungstechologien

12. Oct 2020 in IT-Talents

Emulation bedeutet das Übersetzen von Befehlen einer Gastmaschine in die Befehle einer Hostmaschine, die auf dieser …

weiter

Was ist Hardware Virtualisierung? -…

09. Oct 2020 in IT-Talents

Virtualisierung wird verwendet, um zusätzliche Rechenressourcen bereitzustellen oder die Ressourceneffizienz zu …

weiter

Was ist Paravirtualisierung? - Virtualisierungstechnologien

06. Oct 2020 in IT-Talents

Der Begriff Virtualisierung bezieht sich auf die Erstellung einer virtuellen statt einer tatsächlichen physischen …

weiter

Was ist Virtualisierung? - Virtualisierungstechnologien im…

30. Sep 2020 in IT-Talents

Virtualisierung verspricht effizienten Ressourceneinsatz, einen schnellen Wechsel zwischen verschiedenen…

weiter

Schnell-Login für unsere Mitglieder

Tipp: Halte Dein Profil aktuell.

Lass' uns wissen, falls sich etwas Neues bei Dir ergibt.

Tipp: Vervollständige Dein Profil für noch bessere Karrierechancen.

Bist Du Schüler, Student oder bereits berufstätig? Teile uns Deinen aktuellen Status mit, damit wir Dir sinnvolle Aufgaben anbieten können.

Jetzt Status angeben

Wann stehst Du der IT-Branche zur Verfügung?

Bitte Monat und Jahr angeben.

{{ perspectiveForm.availableFrom.$error.dynamic }}

Neuer Versuch

Wo möchtest Du durchstarten?

{{ location.geolocation.name }}×
Bitte mindestens ein Ort angeben.

Als {{currentUser.status.title}} bist Du bereit für:


Lade Beschäftigungsarten

Bitte wähle den Zeitpunkt, Ort und min. eine Beschäftigungsart aus.

You have voted!
Schliessen
Vote for:
stars
Vote
You have not rated!