Ein Blick auf Container und virtuelle Maschinen und ihre jeweiligen Vor- und Nachteile

Was sind Container?

Was sind Container?

Container sind standardisierte Softwareeinheiten, die alle Codes und Abhängigkeiten einschließlich Binärcodes, Bibliotheken und Konfigurationsdateien enthalten, die für das Ausführen einer App nötig sind. Containerisierte Software kann zuverlässig in verschiedenen Computing-Umgebungen ausgeführt werden.

Virtuelle Maschinen versus Container

Sowohl virtuelle Maschinen (VMs) als auch Container nutzen Virtualisierung, um isolierte Umgebungen zum Ausführen von Anwendungen zu erstellen. Der Hauptunterschied liegt in der Granularität der bereitgestellten Virtualisierung: VMs werden auf Betriebssystem-/Maschinenebene virtualisiert, Container auf Softwareebene.

Schauen wir uns die Unterschiede zwischen diesen zwei Virtualisierungstechnologien genauer an.

Virtuelle Maschinen

Eine VM virtualisiert die gesamte Maschine und das gesamte Betriebssystem, sodass es auf einer anderen Maschine gehostet werden kann. Um die Ressourcen der Host-Maschine zu teilen, benötigen Sie einen Hypervisor für die  Virtualisierung des Servers. Mehrere VMs können auf einem einzigen Hypervisor ausgeführt werden, der eine Schnittstelle mit einer Host-Maschine aufweist. VMs können geringere Kosten mit sich bringen, da sie es Ihnen ermöglichen, einen einzigen physischen Server in mehrere Maschinen zu partitionieren, auf denen Apps mit unterschiedlichen Abhängigkeiten und Betriebsanforderungen ausgeführt werden können. 

Zwar können Sie dadurch Geld einsparen, dass Sie keine neuen Server kaufen müssen, aber VMs benötigen viele Systemressourcen der Hostmaschine. Wenn Sie ein komplettes Betriebssystem samt zugrunde liegender Maschine simulieren müssen, um eine einzige App über einen Hypervisor auszuführen, wird deutlich, dass eine höhere Granularität weitere Kosteneinsparungen mit sich bringen kann.

FlashBlade selbst testen

Erleben Sie eine Self-Service-Instanz von Pure1® zum Verwalten von Pure FlashBlade™, der fortschrittlichsten Lösung der Branche, die nativen skalierbaren Datei- und Objekt-Storage liefert.

Container

Stellen Sie sich vor, wie praktisch es wäre, eine App ohne die massiven Ressourcenanforderungen eines Hypervisors in einer virtuellen Umgebung ausführen zu können. Das ist im Grunde das, was ein Container Ihnen ermöglicht, indem er Software in virtuelle eigenständige Einheiten einteilt. 

In einem Container müssen Sie nicht mehr ein komplettes Betriebssystem sowie einen Server mit einem Hypervisor virtualisieren. Stattdessen virtualisieren Sie nur die Software- und Hardwareabhängigkeiten, die nötig sind, damit eine bestimmte App ausgeführt werden kann, während Sie den Betriebssystemkern der Hostmaschine verwenden. Mit Containern können Sie mehrere Workloads auf einer einzigen Betriebssysteminstanz erstellen. Folglich  sind Container um ein Vielfaches weniger belastend für Ihre physischen Server als VMs.

Vor- und Nachteile von Containern gegenüber virtuellen Maschinen

Container sind zwar flexibler als VMs, ihre Abhängigkeit vom Betriebssystemkern der Hostmaschine schränkt jedoch den Einsatz von Apps mit Abhängigkeiten von anderen Betriebssystemumgebungen ein. VMs sind außerdem isolierter und insofern sicherer, als sie tatsächlich von der Hostmaschine unabhängig sind. 

Sie sollten Container in folgenden Fällen verwenden:

  • Sie möchten die Anzahl der Apps, die auf einem einzigen Betriebssystemkern ausgeführt werden, maximieren.
  • Sie möchten mehrere Instanzen einer einzigen App implementieren.
  • Sie möchten Rechen- und Storage-Ressourcen priorisieren.

VMs sollten Sie in folgenden Fällen verwenden:

  • Sie möchten mehrere Apps mit unterschiedlichen Betriebssystemabhängigkeiten auf einem einzigen Server ausführen. 
  • Sie möchten eine App ausführen, die alle Ressourcen und Funktionen eines Betriebssystems benötigt.
  • Sie möchten Isolierung und Sicherheit priorisieren.

Die Vorteile der Container-Orchestrierung mit Pure Service-Orchestrator

Während Container die Details zugrunde liegender Hardware aus Software-Entwicklungs-Perspektive wegabstrahieren, können Ineffizienzen in einer herkömmlichen IT-Infrastruktur die Gesamt-Performance dennoch mindern.

Pure Service Orchestrator™ ist ein Container-Orchestrierungstool, das mühelos persistente Storage-Ressourcen zum Containerisieren von Anwendungen bereitstellt. Es ist nahtlos mit Kubernetes und anderen Container-Orchestrierungstools integrierbar, um Folgendes bereitzustellen:

  • automatisierte On-Demand-Storage-Bereitstellung
  • richtlinienbasierte Bereitstellung
  • elastische Skalierung über alle Ihre Arrays hinweg, einschließlich der Hybrid Cloud
  • intelligente Datei- und Block-Array-übergreifende Container-Implementierung
  • Resilienz auf Unternehmensniveau mit automatisiertem Failover und selbstreparierender Datenzugriffsintegrität

Pure Service Orchestrator kombiniert elastische Skalierung, intelligente Bereitstellung und transparente Wiederherstellung, um Containers-as-a-Service bereitzustellen.

800-379-7873 +44 20 3870 2633 +43 720882474 +32 (0) 7 84 80 560 +33 9 75 18 86 78 +49 89 12089 253 +353 1 485 4307 +39 02 9475 9422 +31 (0) 20 201 49 65 +46-101 38 93 22 +45 2856 6610 +47 2195 4481 +351 210 006 108 +966112118066 +27 87551 7857 +34 51 889 8963 +41 31 52 80 624 +90 850 390 21 64 +971 4 5513176 +7 916 716 7308 +65 3158 0960 +603 2298 7123 +66 (0) 2624 0641 +84 43267 3630 +62 21235 84628 +852 3750 7835 +82 2 6001-3330 +886 2 8729 2111 +61 1800 983 289 +64 21 536 736 +55 11 2655-7370 +52 55 9171-1375 +56 2 2368-4581 +57 1 383-2387