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 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:
Unternehmen verwenden Container folgendermaßen:
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.
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).
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.
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.
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.
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.
Einfach und nach Bedarf.
Kundenreferenzen vom weltweit führenden Anbieter von Datenmanagement und Storage
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.
PostFinance setzt auf zukunftsorientierte Tools und Technologien, die speziell für den Schweizer Markt entwickelt oder angepasst werden. NetApp Systeme stellen Dateidaten für sichere Bankgeschäfte bereit und beschleunigen die Entwicklung von Finanzprodukten und -Services mit persistentem Storage.
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.