Definition

Azure-Container-Instanz (Azure Container Instances, ACI)

Azure Container Instances (ACI) ist ein Dienst, mit dem Entwickler Container in der öffentlichen Microsoft-Azure-Cloudbereitstellen können, ohne die zugrunde liegende Infrastruktur bereitstellen oder verwalten zu müssen.

Der Dienst unterstützt sowohl Linux-Container als auch Windows-Container. Ein Entwickler muss keine virtuellen Maschinen (VMs) bereitstellen oder eine Container-Orchestrierungsplattform wie Kubernetes implementieren, um Container bereitzustellen und auszuführen. Stattdessen kann ein Unternehmen mit ACI einen neuen Container über das Azure-Portal oder die Befehlszeilenschnittstelle (CLI) aufsetzen, und Microsoft sorgt automatisch für die Bereitstellung und Skalierung der zugrunde liegenden Rechenressourcen. ACI unterstützt auch Standard-Docker-Images, die ein Entwickler aus einer Container-Registry wie Docker Hub oder Azure Container Registry beziehen kann.

Laut Microsoft reduziert ACI den Verwaltungsaufwand, so dass ein Entwickler einen Container innerhalb von Sekunden in der Azure Cloud bereitstellen kann.

Hauptmerkmale von Azure Container Instances

Einige der wichtigsten Merkmale des Azure-Dienstes sind die folgenden:

  • Öffentliche IP-Konnektivität. Ein Entwickler kann Container mit einem voll qualifizierten Domainnamen und einer IP-Adresse dem Internet zur Verfügung stellen.
  • Anpassungsfähigkeit. Ein Entwickler kann die Anzahl der CPU-Kerne und des Speichers angeben, die für eine Container-Instanz erforderlich sind.
  • Persistent Storage. Container-Instanzen sind standardmäßig zustandslos (stateless), aber eine Organisation kann eine Azure File Share in einen Container einbinden, um persistenten Speicher zu ermöglichen.
  • Container-Gruppen. Ein Entwickler kann mehrere Container für die Bereitstellung als Gruppe planen, die sich denselben Host-Rechner, SpeicherNetzwerk und andere Ressourcen teilen. Diese Funktion ist von Vorteil, wenn ein Entwickler eine funktionale Aufgabe auf mehrere Container-Images aufteilen möchte. So könnte eine Containergruppe beispielsweise einen Anwendungscontainer und einen Protokollierungs- oder Überwachungscontainer enthalten.
  • Infrastructure as a Service (IaaS). Angesichts der Struktur von ACI und der Tatsache, dass es alle für eine oder mehrere Anwendungen und Betriebsumgebungen benötigten Ressourcen enthalten kann, kann es als IaaSbetrachtet werden.
Abbildung 1: Das Portal für Microsoft Azure Container Instances ist der Ort, an dem auf Container-Instanzen zugegriffen wird und wo diese verwaltet werden.
Abbildung 1: Das Portal für Microsoft Azure Container Instances ist der Ort, an dem auf Container-Instanzen zugegriffen wird und wo diese verwaltet werden.

Erstellen eines Azure-Containers

Der erste Schritt bei der Erstellung eines Azure-Containers wird als Quickstart-Erfahrung bezeichnet. Dies umfasst die Erstellung einer Azure-Ressourcengruppe. Der Zugriff auf die Azure CLI erleichtert die Befehlsausführung im ACI. Sobald die CLI in Betrieb ist, erstellt der Benutzer einen Containernamen sowie eine Ressourcengruppe und eine öffentliche IP-Adresse.

Die Lektüre eines Microsoft-Tutorials über ACI hilft bei diesem Prozess. Sobald ACI den Container erstellt hat, wird er von einem Container-Orchestrator wie Kubernetes oder Docker mit den erforderlichen Ressourcen, wie Anwendungsprogrammierschnittstellen (API) und Dateien, geladen. Der Orchestrator kann einzelne oder mehrere Container verwalten.

ACI steht im direkten Wettbewerb mit Amazon Web Services Fargate.

Abbildung 2: Um eine Container-Instanz zu erstellen, müssen grundlegende Informationen im Portal für Azure Container Instances eingegeben werden.
Abbildung 2: Um eine Container-Instanz zu erstellen, müssen grundlegende Informationen im Portal für Azure Container Instances eingegeben werden.

Die Vorteile von Containern

Für mittelgroße bis große Unternehmen bieten Container eine effektive Möglichkeit, Anwendungen in einem einzigen Paket oder Container zu entwickeln und bereitzustellen. Zusammen mit einem residenten Betriebssystem sind Container serverlos und verfügen über den gesamten Code, der für die Bereitstellung einer Anwendung erforderlich ist, ohne dass VMs für die Verwaltungskomponente benötigt werden. Container sind außerdem hochgradig portabel, das heißt sie können in einer Umgebung entwickelt und problemlos in eine andere Umgebung, zum Beispiel einen Cloud-Service, übertragen werden.

Ein einzelner Container kann mehrere Anwendungen unterstützen, die einzeln oder gemeinsam ausgeführt werden können. Container enthalten auch unterstützende Elemente, wie Dateien, Datenbanken und Bibliotheken. Da Container über eine eigene, unabhängige Betriebsumgebung verfügen, müssen sie zur Ausführung von Arbeitslasten keine Ressourcen der unterstützenden Plattform nutzen.

Azure-Container-Instanzen vs. Azure-Kubernetes-Dienst

Zusätzlich zu ACI bietet Microsoft einen verwalteten Dienst (Managed Service) für die Container-Orchestrierung an, der auf dem Open-Source-System Kubernetes basiert und Azure Kubernetes Service (AKS) heißt. AKS reduziert einen Großteil des traditionellen Aufwands, der mit der Installation und Wartung von Kubernetes verbunden ist. Der Benutzer ist jedoch weiterhin für die Verwaltung einiger zugrunde liegender Rechenressourcen verantwortlich.

Microsoft empfiehlt ACI für einfache Anwendungen, die auf eine Teilmenge von Containern beschränkt werden können. Unternehmen, die eine größere Kontrolle über die Orchestrierungsschicht und ihre Container-Infrastruktur benötigen, sind mit AKS besser bedient.

Ein Entwickler kann auch ACI und AKS nebeneinander verwenden. Wenn beispielsweise die Rechenkapazität in einem AKS-Cluster zur Neige geht, ist es möglich, auf ACI umzusteigen, um Nachfragespitzen zu bewältigen.

Diese Definition wurde zuletzt im Mai 2023 aktualisiert

Erfahren Sie mehr über Containervirtualisierung