Menü

Was sind Container?

Würfel

Container sind eine Form der Betriebssystemvirtualisierung. Mit einem einzelnen Container kann alles ausgeführt werden – von einem kleinen Microservice oder Softwareprozess bis hin zu einer größeren Applikation. In einem Container befinden sich alle notwendigen ausführbaren Dateien, Binärcode, Bibliotheken und Konfigurationsdateien. Im Vergleich zu den Ansätzen für Server- oder Maschinenvirtualisierung enthalten Container jedoch keine Betriebssystem-Images. Dadurch sind sie leichter und portabler, und der Overhead ist deutlich geringer. Für größere Implementierungen von Applikationen können mehrere Container als ein oder mehrere Container-Cluster bereitgestellt werden. Diese Cluster können von einem Container-Orchestrator wie Kubernetes gemanagt werden.

Container und persistenter Storage

Einfach und nach Bedarf.

Bericht herunterladen

Vorteile von Containern

Container sind eine optimierte Methode zum Erstellen, Testen, Bereitstellen und erneuten Bereitstellen von Applikationen in mehreren Umgebungen, vom lokalen Laptop eines Entwicklers bis hin zu einem lokalen Datacenter und sogar der Cloud. Vorteile von Containern:

  • Weniger Overhead

    Container benötigen weniger Systemressourcen als herkömmliche Umgebungen mit virtuellen Maschinen oder Hardware, da sie keine Betriebssystem-Images enthalten.

  • Höhere Portabilität

    Applikationen, die in Containern ausgeführt werden, können problemlos auf mehreren verschiedenen Betriebssystemen und Hardwareplattformen bereitgestellt werden.

  • Konsistenter Betrieb

    DevOps Teams wissen, dass Applikationen in Containern unabhängig vom Einsatzort gleich ausgeführt werden.

  • Höhere Effizienz

    Container ermöglichen eine schnellere Implementierung, Patching oder Skalierung von Applikationen.

  • Bessere Applikationsentwicklung

    Container unterstützen agile und DevOps Bemühungen, Entwicklungs-, Test- und Produktionszyklen zu beschleunigen.

Anwendungsfälle für Container

Häufig verwendete Methoden für die Verwendung von Containern:

  • "Heben und verlagern" Sie vorhandene Applikationen in moderne Cloud-Architekturen

    Einige Unternehmen verwenden Container, um vorhandene Applikationen in modernere Umgebungen zu migrieren. Diese Vorgehensweise bietet zwar einige der grundlegenden Vorteile der Betriebssystemvirtualisierung, bietet jedoch nicht alle Vorteile einer modularen, containerbasierten Anwendungsarchitektur.

  • Vorhandene Applikationen für Container neu zu berücksichtigen

    Refactoring ist zwar viel intensiver als die Migration von Aufzügen und Umzügen, ermöglicht aber die vollen Vorteile einer Container-Umgebung.

  • Entwicklung neuer Container-nativer Applikationen

    Ähnlich wie beim Refactoring werden mit diesem Ansatz die Vorteile von Containern voll ausschöpfen.

  • Bessere Unterstützung für MicroServices Architekturen

    Verteilte Applikationen und MicroServices können mithilfe einzelner Container-Bausteine einfacher isoliert, implementiert und skaliert werden.

  • Bereitstellung von DevOps Support für kontinuierliche Integration und Implementierung (CI/CD)

    Die Container-Technologie unterstützt optimierte Erstellung, Tests und Bereitstellung von denselben Container-Images.

  • Einfachere Implementierung von sich wiederholenden Jobs und Aufgaben

    Container werden bereitgestellt, um einen oder mehrere ähnliche Prozesse zu unterstützen, die häufig im Hintergrund ausgeführt werden, z. B. ETL-Funktionen oder Batch-Jobs.

Wie stehen Docker und Kubernetz zu Containern?

Benutzer, die an Container-Umgebungen beteiligt sind, werden wahrscheinlich von zwei gängigen Tools und Plattformen erfahren, die zum Erstellen und Managen von Containern verwendet werden. Das sind Docker und Kubernetes.

Docker ist eine beliebte Laufzeitumgebung, die zum Erstellen und Erstellen von Software in Containern verwendet wird. Docker Images (Copy-on-Write-Snapshots) werden für die Bereitstellung von Applikationen oder Software in Containern in mehreren Umgebungen verwendet, von der Entwicklung über Tests bis hin zur Produktion. Docker basiert auf offenen Standards und Funktionen in den meisten gängigen Betriebsumgebungen, einschließlich Linux, Microsoft Windows und anderen On-Premises- oder Cloud-basierten Infrastrukturen.

Containeranwendungen können jedoch kompliziert werden. In der Produktion benötigen viele möglicherweise Hunderte bis Tausende von separaten Containern in der Produktion. In diesem Fall profitieren Laufzeitumgebungen für Container wie Docker von der Verwendung anderer Tools zur Orchestrierung oder Verwaltung aller in Betrieb stehenden Container.

Eines der beliebtesten Tools für diesen Zweck ist Kubernetes, ein Container-Orchestrator, der mehrere Container-Laufzeitumgebungen erkennt, einschließlich Docker.

Kubernetes orchestriert den Betrieb mehrerer Container in Harmonie. Sie managt Bereiche wie die Nutzung der zugrunde liegenden Infrastrukturressourcen für containerisierte Applikationen, z. B. die erforderliche Anzahl an Computing-, Netzwerk- und Storage-Ressourcen. Orchestrierungstools wie Kubernetes vereinfachen die Automatisierung und Skalierung von Container-basierten Workloads für Live-Produktionsumgebungen.

Container im Vergleich zu Virtuelle Maschinen (VMs)

Manchmal verwechseln Sie die Container-Technologie mit Virtual Machines (VMs) oder Server-Virtualisierungstechnologie. Obwohl es einige grundlegende Ähnlichkeiten gibt, unterscheiden sich Container sehr von VMs.

Virtuelle Maschinen werden in einer Hypervisor-Umgebung ausgeführt, in der jede virtuelle Maschine ihr eigenes Gastbetriebssystem sowie die zugehörigen Binärdateien, Bibliotheken und Anwendungsdateien enthalten muss. Dies verbraucht eine große Menge an Systemressourcen und Overhead, insbesondere wenn mehrere VMs auf demselben physischen Server mit jeweils eigenem Gastbetriebssystem ausgeführt werden.

Im Gegensatz dazu verwendet jeder Container dasselbe Host-Betriebssystem oder denselben System-Kernel und ist viel leichter, oft nur Megabyte. Dies bedeutet oft, dass ein Container nur wenige Sekunden in Anspruch nehmen kann (im Vergleich zu den Gigabyte und Minuten, die für eine typische VM erforderlich sind).

Lesen Sie weiter, wie sich Container und virtuelle Maschinen unterscheiden

NetApp und Container

Wir bei NetApp sind von der Container-Technologie überzeugt und arbeiten an bewährten Tools und an Innovationen, die persistenten Storage für jede Applikation bereitstellen und managen – an jedem Ort. Ein wichtiges Beispiel dafür ist die Entwicklung von Trident. Mit Trident war es noch nie so einfach, persistenten Storage für Container-Applikationen nach Bedarf zu nutzen.

Wir arbeiten aktiv an Möglichkeiten, DevOps zu beschleunigen, indem wir die Geschwindigkeit und Agilität bei der Softwareentwicklung noch steigern. Der Einsatz von Infrastrukturressourcen wie Storage sollte einfach sein. NetApp ist darauf ausgerichtet, dies mit Container-Management-Lösungen und anderen Lösungen zu erreichen, die Applikationen einfacher skalieren und eine Vielzahl von Plattformen abdecken.

Erfahren Sie mehr über die Container-Lösungen von NetApp

Weitere Informationen zu Containern