Executive & Talent Search
  • Home
  • Services
    • Executive Search
    • Talent Search
  • Fokus
  • Karriere
  • Blog
  • Referenzen
  • Über uns
    • Management
  • Kontakt
  • Menü Menü

Warum Container virtuelle Maschinen immer noch nicht ersetzen können?

Cyber Security, Software Development
Fotograf Guillaume Bolduc auf Unsplash

Sie haben sicherlich genügend über Docker-Container gehört und wie sie Continuous Delivery (CI/CD) ermöglichen. Wenn sie so fabelhaft funktional sind, warum sind dann virtuelle Maschinen (VMs) – ihre Vorgänger – noch nicht ausgestorben?

Wie alles anfing

Tatsächlich ist es ein großer Irrglaube, dass Container und virtuelle Maschinen gegenseitig austauschbar sind. In Wirklichkeit erfüllt jede seinen eigenen Zweck. Die Technologien können aber auch zusammen verwendet werden.

Entwickler sahen sich mit der Notwendigkeit konfrontiert, ihre Anwendungen mit jedem Betriebssystem (OS) kompatibel zu machen. Aus diesem Grund brauchten sie eine schnelle Möglichkeit, ihre Anwendungen auf allen vorhandenen Betriebssystemen zu testen, ohne zusätzliche Hardware einsetzen zu müssen.

Aus diesem Bedürfnis heraus entstanden Hypervisoren: eine Software, die die Ressourcen einer physischen Maschine in mehrere aufteilt. Virtuelle Maschinen laufen auf Hypervisoren. Als ob ein Computer buchstäblich zu vielen wird.

Da ein physischer Computer mehrere virtuelle Computer beherbergen muss, können virtuelle Maschinen Leistungsprobleme haben. Selbst eine virtuelle Maschine zu starten kann mehrere Minuten dauern, im Vergleich zu nur wenigen Millisekunden bei ihren Nachfolgern und Rivalen: Containern.

Container haben einen anderen Job

Container emulieren nur das Betriebssystem und nicht die Hardware. Damit isolieren sie nur eine bestimmte zu testende Anwendung mitsamt ihren Abhängigkeiten. Diese Selektivität lässt sie schneller arbeiten. 

Aber Container können auf einmal nur ein Betriebssystem imitieren, obwohl der Zweck ihrer Existenz darin besteht, eine Basisanwendung zu entwerfen, die OS-agnostisch ist. Container sind gut, um eine stabile Grundlage für die Softwareentwicklung zu schaffen, indem sie Ihre Anwendung oder einen Teil davon in eine virtuelle Umgebung isolieren. Sie heben beispielsweise die Unterschiede zwischen einem Server und einem Laptop auf und ermöglichen es einem Entwickler, eine Anwendung auf einer Maschine zu entwerfen und sie dann nahtlos auf der anderen Maschine einzusetzen. 

Container sind perfekt für Microservices-Infrastrukturen geeignet, die derzeit auch boomen. Microservices sind winzige Anwendungen, die über APIs miteinander verbunden sind und als Gruppe eine Anwendung abbilden. Da sie einzeln entwickelt und bereitgestellt werden, ist der Bedarf, sie isoliert zu testen, groß genug, um die Popularität von Containern zu erhalten.

Virtuelle Maschinen: Wir brauchen sie ebenfalls

Eine weitere Schattenseite der Container-Technologie sind einige Sicherheitsprobleme. Da der Umfang der Isolation kleiner ist, ist auch die Robustheit geringer. Eine Sicherheitslücke kann das gesamte Betriebssystem betreffen, während virtuelle Maschinen klar voneinander abgegrenzt sind und das Host OS nie infiziert werden kann. 

Außerdem brauchen Sie manchmal vielleicht eine komplette Funktionalität des Betriebssystems, anstatt nur einige Bausteine auszuschneiden, um sie in ein Container zu packen. In anderen Fällen haben Sie vielleicht ressourcenintensive Aufgaben, die ein vollwertiges Betriebssystem benötigen. 

Wenn Sie einen Server, Speicher oder eine andere Infrastrukturkomponente bereitstellen müssen, müssen Sie eine virtuelle Maschine verwenden, da Container nicht den gleichen Umfang bieten können. Container erlauben die gemeinsame Nutzung eines Kernels für die Ausführung mehrerer Aufgaben, aber das wird zu einer Einschränkung, wenn Sie die volle Leistung des Kernels für diese Aufgabe benötigen. 

Aber das sind nicht die einzigen Gründe, warum Virtualisierungstechnologie nie aufgegeben werden soll. Der Hauptvorteil ist, dass Sie Container und VMs zusammen verwenden können, um Ihr Testing, Qualitätssicherung (QA) und CI/CD auf eine neue Ebene zu bringen.

Docker und MacOS: Es ist kompliziert

Docker ist die branchenführende Containerisierungsplattform. Leider hat sie eine Menge Probleme mit MacOS. Einer der Hauptgründe dafür ist die architektonische Komplexität von MacOS. Wenn Docker auf Linux läuft, hat es eine direkte Verbindung zu seinem Host-Betriebssystem. Wenn Sie es unter MacOS ausführen, erwacht die Docker Engine zum Leben… eine virtuelle Linux-Maschine! Nicht die, die Sie installiert haben – wenn Sie es überhaupt getan haben, natürlich – sondern die, die in seiner Architektur mit integriert ist.

Docker muss sich also durch mehrere Schichten kämpfen, um die Festplatten seiner Container und die des Host-Betriebssystems zu synchronisieren. Das führt zu langsamen Dateizugriffen und Problemen bei der Netzwerkkonfiguration.

Folglich wenden sich Entwickler allmählich von der Verwendung von MacOS ab und ersetzen es durch Linux. Diejenigen, die Apple besonders treu sind, verwenden VirtualBox – die beliebteste Software zum Ausführen virtueller Maschinen – mit einem Docker. Aber auch das bringt noch nicht die Performance wie auf einem Linux-System.

Fazit

Ein weiteres Beispiel für die Zusammenarbeit von Docker und VMs ist, wenn Sie den selben Server für Test- und Produktionsumgebung verwenden. In diesem Fall starten Sie eine VM, die einen Teil des Servers für Entwicklung und Tests verwendet, und der Rest des Servers wird ganz normal für andere Arbeitsabläufe genutzt. 

Container und virtuelle Maschinen koexistieren also weiterhin recht friedlich. Allerdings versuchen Docker-Fans, die aktuellen Defizite auszugleichen. Einer dieser Versuche hat Kubernetes ins Leben gerufen, ein Open-Source-Tool zur Container-Orchestrierung.

Aber das ist schon eine andere Geschichte. Bleiben Sie dran!

Schlagworte: container, docker, docker container, virtual machines, virtualization
Eintrag teilen
  • Teilen auf WhatsApp
  • Teilen auf LinkedIn
https://www.jcfinch.com/wp-content/uploads/2021/04/04_guillaume-bolduc-uBe2mknURG4-unsplash.jpg 1389 1920 Yulia Lukashina https://jcfinch.com/wp-content/uploads/2017/05/jcfinch-transparent-logo-300x138.png Yulia Lukashina2021-04-22 16:24:282021-05-05 21:56:32Warum Container virtuelle Maschinen immer noch nicht ersetzen können?
Das könnte Dich auch interessieren
Fotograf National Cancer Institute auf Unsplash Container Monitoring für bessere Leistung und schnellere Deployments
Fotograf Ian Taylor auf Unsplash Docker Images verwalten
Fotograf Chuttersnap auf Unsplash Docker Best Practices: Vergessen Sie die Sicherheit nicht!
Fotograf Wolfgang Hasselmann auf Unsplash Wie lässt sich Kubernetes in Ihre bestehende Architektur einbetten?

Search

Search Search

Recent Posts

  • Führungs-diagnostik im Onboarding
  • Erfolgsfaktor Onboarding
  • Soll ich mich beruflich nochmal verändern?
  • Container Monitoring für bessere Leistung und schnellere Deployments
  • Docker Images verwalten

Categories

  • Big Data Engineering
  • Business Intelligence & DWH
  • Cloud Architecture
  • Cyber Security
  • Data Science
  • Digital Leadership
  • Digital Strategy & Consulting
  • Financial IT
  • Machine Learning & AI
  • Software Development
  • Unkategorisiert
© 2017-2026 JCFINCH | Impressum | Datenschutz
  • Link zu LinkedIn
  • Link zu Xing
Link to: Docker Best Practices: Vergessen Sie die Sicherheit nicht! Link to: Docker Best Practices: Vergessen Sie die Sicherheit nicht! Docker Best Practices: Vergessen Sie die Sicherheit nicht!Fotograf Chuttersnap auf Unsplash Link to: Blockchain und DeFi: Sollten Sie das alles ernst nehmen? Link to: Blockchain und DeFi: Sollten Sie das alles ernst nehmen? Fotograf Chris Liverani auf UnsplashBlockchain und DeFi: Sollten Sie das alles ernst nehmen?
Nach oben scrollen Nach oben scrollen Nach oben scrollen

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu.

OKDatenschutzerklärung

Cookie- und Datenschutzeinstellungen



Wie wir Cookies verwenden

Wir können Cookies anfordern, die auf Ihrem Gerät eingestellt werden. Wir verwenden Cookies, um uns mitzuteilen, wenn Sie unsere Websites besuchen, wie Sie mit uns interagieren, Ihre Nutzererfahrung verbessern und Ihre Beziehung zu unserer Website anpassen.

Klicken Sie auf die verschiedenen Kategorienüberschriften, um mehr zu erfahren. Sie können auch einige Ihrer Einstellungen ändern. Beachten Sie, dass das Blockieren einiger Arten von Cookies Auswirkungen auf Ihre Erfahrung auf unseren Websites und auf die Dienste haben kann, die wir anbieten können.

Notwendige Website Cookies

Diese Cookies sind unbedingt erforderlich, um Ihnen die auf unserer Webseite verfügbaren Dienste und Funktionen zur Verfügung zu stellen.

Da diese Cookies für die auf unserer Webseite verfügbaren Dienste und Funktionen unbedingt erforderlich sind, hat die Ablehnung Auswirkungen auf die Funktionsweise unserer Webseite. Sie können Cookies jederzeit blockieren oder löschen, indem Sie Ihre Browsereinstellungen ändern und das Blockieren aller Cookies auf dieser Webseite erzwingen. Sie werden jedoch immer aufgefordert, Cookies zu akzeptieren / abzulehnen, wenn Sie unsere Website erneut besuchen.

Wir respektieren es voll und ganz, wenn Sie Cookies ablehnen möchten. Um zu vermeiden, dass Sie immer wieder nach Cookies gefragt werden, erlauben Sie uns bitte, einen Cookie für Ihre Einstellungen zu speichern. Sie können sich jederzeit abmelden oder andere Cookies zulassen, um unsere Dienste vollumfänglich nutzen zu können. Wenn Sie Cookies ablehnen, werden alle gesetzten Cookies auf unserer Domain entfernt.

Wir stellen Ihnen eine Liste der von Ihrem Computer auf unserer Domain gespeicherten Cookies zur Verfügung. Aus Sicherheitsgründen können wie Ihnen keine Cookies anzeigen, die von anderen Domains gespeichert werden. Diese können Sie in den Sicherheitseinstellungen Ihres Browsers einsehen.

Google Analytics Cookies

Diese Cookies sammeln Informationen, die uns - teilweise zusammengefasst - dabei helfen zu verstehen, wie unsere Webseite genutzt wird und wie effektiv unsere Marketing-Maßnahmen sind. Auch können wir mit den Erkenntnissen aus diesen Cookies unsere Anwendungen anpassen, um Ihre Nutzererfahrung auf unserer Webseite zu verbessern.

Wenn Sie nicht wollen, dass wir Ihren Besuch auf unserer Seite verfolgen können Sie dies hier in Ihrem Browser blockieren:

Andere externe Dienste

Wir nutzen auch verschiedene externe Dienste wie Google Webfonts, Google Maps und externe Videoanbieter. Da diese Anbieter möglicherweise personenbezogene Daten von Ihnen speichern, können Sie diese hier deaktivieren. Bitte beachten Sie, dass eine Deaktivierung dieser Cookies die Funktionalität und das Aussehen unserer Webseite erheblich beeinträchtigen kann. Die Änderungen werden nach einem Neuladen der Seite wirksam.

Google Webfont Einstellungen:

Google Maps Einstellungen:

Google reCaptcha Einstellungen:

Vimeo und YouTube Einstellungen:

Andere Cookies

Die folgenden Cookies werden ebenfalls gebraucht - Sie können auswählen, ob Sie diesen zustimmen möchten:

Datenschutzrichtlinie

Sie können unsere Cookies und Datenschutzeinstellungen im Detail in unseren Datenschutzrichtlinie nachlesen.

Datenschutz
Accept settingsHide notification only