Menü

Was sind Container?

Würfel
Themen
DevOps-Lösungen

Diese Seite teilen

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.

Vorteile von Containern

Container sind eine optimierte Methode zum Erstellen, Testen, Bereitstellen und Neuimplementieren von Anwendungen in mehreren Umgebungen – vom lokalen Laptop eines Entwicklers bis hin zu einem On-Premises-Rechenzentrum und sogar der Cloud. Die Vorteile von Containern umfassen:

  • Weniger Overhead
    Container benötigen weniger Systemressourcen als herkömmliche oder Hardware-Umgebungen mit virtuellen Maschinen, da sie keine Betriebssystem-Images enthalten.
  • Erhöhte Portabilität
    Applikationen, die in Containern ausgeführt werden, können ganz einfach auf mehrere verschiedene Betriebssysteme und Hardware-Plattformen implementiert werden.
  • Konsistentere Betriebsabläufe
    DevOps-Teams wissen, dass Applikationen in Containern immer auf gleiche Weise ausgeführt werden, unabhängig davon, wo sie implementiert sind.
  • Höhere Effizienz
    Container ermöglichen eine schnellere Implementierung, Patching oder Skalierung von Applikationen.
  • Bessere Applikationsentwicklung
    Container unterstützen agile DevOps-Prozesse und beschleunigen so Entwicklungs-, Test- und Produktionszyklen.

Anwendungsfälle für Container

Unternehmen verwenden Container folgendermaßen:

  • Vorhandene Applikationen mit „Lift and Shift“-Ansatz in moderne Cloud-Architekturen verlagern
    Einige Unternehmen verwenden Container, um vorhandene Applikationen in modernere Umgebungen zu migrieren. Diese Praxis bringt zwar einige der grundlegenden Vorteile der Betriebssystemvirtualisierung mit sich, jedoch nicht alle Vorteile einer modularen, containerbasierten Applikationsarchitektur im vollen Umfang.
  • Vorhandene Applikationen für Container-Refactoring
    Ein Refactoring ist zwar wesentlich intensiver als die Migration mit Lift-and-Shift, bietet jedoch alle Vorteile einer Container-Umgebung.
  • Entwickeln Sie neue container-native Applikationen
    Wie beim Refactoring lässt sich mit diesem Ansatz alle Vorteile von Containern nutzen.
  • Bessere Unterstützung für Microservices-Architekturen
    Dezentrale Applikationen und Microservices lassen sich mithilfe einzelner Container-Bausteine einfacher isolieren, implementieren und skalieren.
  • DevOps-Support für kontinuierliche Integration und Implementierung (CI/CD) bereitstellen
    Die Container-Technologie unterstützt eine optimierte Erstellung, Tests und Implementierung über dieselben Container-Images.
  • Vereinfachen Sie die Implementierung sich wiederholender Aufgaben und Aufgaben
    Container werden implementiert, um ein oder mehrere ähnliche Prozesse zu unterstützen, die häufig im Hintergrund ausgeführt werden, wie ETL-Funktionen oder Batch-Jobs.

Wie verhält sich Docker und Kubernetes mit Containern?

Benutzer, die an Container-Umgebungen beteiligt sind, werden wahrscheinlich von zwei beliebten Tools und Plattformen für die Erstellung und das Management von Containern hören. Dies sind Docker und Kubernetes.

Docker ist eine beliebte Laufzeitumgebung, in der Software in Containern erstellt und entwickelt wird. Die Software verwendet Docker-Images (Copy-on-Write-Snapshots) und implementiert Container-Applikationen oder Software in diversen Umgebungen, von der Entwicklung bis zu Test und Produktion. Docker basiert auf offenen Standards und Funktionen in den gängigsten Betriebsumgebungen, wie z. B. Linux, Microsoft Windows und anderen Infrastrukturen vor Ort oder in der Cloud.

Container-Applikationen können jedoch kompliziert werden. In einem produktiven Betrieb können viele Hunderte bis Tausende separate Container in der Produktion erfordern. An dieser Stelle profitieren Container-Laufzeitumgebungen wie Docker vom Einsatz anderer Tools zur Orchestrierung oder zum Management aller laufenden Container.

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

Kubernetes orchestriert den Betrieb mehrerer Container gemeinsam. Sie verwaltet Bereiche, die die zugrunde liegenden Infrastrukturressourcen für Container-Applikationen verwerden, etwa die dafür erforderlichen Computing-, Netzwerk- und Storage-Ressourcen. Orchestrierungs-Tools wie Kubernetes erleichtern die Automatisierung und Skalierung container-basierter Workloads für Live-Produktionsumgebungen.

Containers im Vergleich zu Virtual Machines (VMs)

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

Virtual Machines werden in einer Hypervisor-Umgebung ausgeführt, in der jede Virtual Machine ihr eigenes Gastbetriebssystem umfassen muss, zusammen mit zugehörigen Binärdateien, Bibliotheken und Applikationsdateien. Sie verbraucht eine große Menge an Systemressourcen und Overhead, insbesondere wenn mehrere VMs auf demselben physischen Server ausgeführt werden, wobei jeder über sein eigenes Gastbetriebssystem verfügt.

Im Gegensatz dazu verwendet jeder Container dasselbe Host-Betriebssystem oder denselben System-Kernel und ist viel leichter in der Größe, häufig nur in Megabyte. Dies bedeutet oft, dass der Container in wenigen Sekunden gestartet werden kann (im Gegensatz zu den Gigabyte und Minuten, die für eine typische VM erforderlich sind).

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 in der Software-Entwicklung für noch mehr Geschwindigkeit und Flexibilität sorgen. Der Verbrauch von Infrastrukturressourcen, wie etwa Storage, sollte einfach sein. NetApp hat es sich zum Ziel gemacht, dies mit Container-Management-Lösungen und anderen zu ermöglichen, dass Applikationen einfacher skaliert und über eine Vielzahl von Plattformen hinweg skaliert werden können.

Konfigurationsmanagement

Per Integration in Tools, die bereits in Ihrer DevOps-Pipeline vorhanden sind, können Entwickler, Tester, Qualitätsprüfer und Betriebsteams Infrastrukturressourcen als Code nutzen.

Container-Lösungen

Beschleunigen Sie Ihre Container-Workloads überall dort, wo Sie sie einsetzen möchten. Ob lokal oder in der Cloud – NetApp bietet umfassende Datenmanagement-Lösungen.

Continuous Integration und Continuous Delivery

NetApp Lösungen für Continuous Integration und Continuous Delivery (CI/CD) bieten Entwicklern eine bessere Erfahrung und ermöglichen es Ihnen, Software jederzeit zuverlässiger zu testen und zu veröffentlichen.

Container und persistenter Storage

Einfach und nach Bedarf.

DevOps-Lösungen

Kundenreferenzen vom weltweit führenden Anbieter von Datenmanagement und Storage

Sicherheitskommunikation, mit der Kunden wertvolle Erkenntnisse gewinnen

Der API-Plattformanbieter Bandwidth bietet Sprach-, Messaging- und Notrufservices, die täglich Millionen Menschen erreichen. Entwickler von Bandwidth arbeiten unermüdlich an Innovationen, um die Plattform des Unternehmens weiter zu verbessern und die Markteinführung neuer Services zu beschleunigen.

Registerkarte „Bandbreite“

Verkürzung der Markteinführungszeit für neue Reiseservices

Mit NetApp können die Entwickler von Despegar Funktionen und Updates schnell veröffentlichen, um neue Besucher auf der Website zu gewinnen und in Kunden umzuwandeln. Entwickler konnten die Implementierung neuer Applikationen und Updates von 3 bis 5 pro Woche auf mehr als 300 pro Tag erhöhen.

Despegar-Image
Blaue Luftblasen

Warum NetApp für DevOps-Lösungen?

DevOps schafft Abhilfe für die Probleme, die bei einer typischen Applikationsentwicklung entstehen. Anstatt isolierte Self-Service-Funktionen zu erstellen, arbeiten Softwareentwicklung (Dev) und IT-Betrieb (Ops) mit Blick auf eine durchgängige Verantwortung vom Konzept bis zur Produktion zusammen.

NetApp unterstützt Sie bei der Bereitstellung einer konsistenten, nahtlosen DevOps-Erfahrung, nicht nur On-Premises, sondern auch bis in Ihre Private und Public Cloud. Das bedeutet, dass Ops eine automatisierte Infrastruktur mit weniger Engineering zur Verfügung stellt und Entwickler in zuverlässigen und planbaren Umgebungen mit weniger Konflikten schneller arbeiten können.

Weitere Informationen zu Containern