Freigeben über


Wählen Sie einen Azure-Containerdienst

Azure bietet eine Reihe von Containerhostingdiensten, die für verschiedene Workloads, Architekturen und Geschäftliche Anforderungen konzipiert sind. Dieser Leitfaden für die Auswahl des Containerdiensts kann Ihrem Workloadteam helfen, zu verstehen, welcher Azure-Containerdienst am besten für Ihre Workloadszenarien und Anforderungen geeignet ist.

Hinweis

In diesem Leitfaden bezieht sich die Workload auf eine Sammlung von Anwendungsressourcen, die ein Geschäftsziel oder die Implementierung eines Geschäftsprozesses unterstützen. Eine Workload verwendet mehrere Dienste wie APIs und Datenspeicher, die zusammenarbeiten, um bestimmte End-to-End-Funktionen bereitzustellen.

Übersicht

Dieses Handbuch enthält diesen Einführungsartikel und einen weiteren Artikel zu Überlegungen, die für alle Workloadtypen freigegeben werden.

Hinweis

Wenn Sie sich nicht für die Containerisierung engagieren, wählen Sie eine andere Computeoption zum Hosten Ihrer Workload aus.

In diesem einführenden Artikel werden die in diesem Handbuch behandelten Azure-Containerdienste beschrieben und ihre Dienstmodelle basierend auf der Konfigurierbarkeit und vordefinierten Lösungen verglichen, z. B. vom Kunden verwaltete und von Microsoft verwaltete Ansätze. Nachdem Sie Kandidatendienste basierend auf Ihren Dienstmodelleinstellungen identifiziert haben, besteht der nächste Schritt darin, die Optionen für Ihre Workloadanforderungen zu bewerten, indem Sie den Artikel zu gemeinsamen Überlegungen zu Netzwerken, Sicherheit, Vorgängen und Zuverlässigkeit überprüfen.

Dieser Leitfaden hilft Ihnen bei der Bewertung von Kompromissen basierend auf den technischen Anforderungen, der Größe und der Komplexität Ihrer Workload. Es berücksichtigt auch die Expertise Ihres Teams, um fundierte Entscheidungsfindung zu gewährleisten.

Azure-Containerdienste im Umfang dieses Handbuchs

Dieser Leitfaden konzentriert sich auf eine Teilmenge der Containerdienste, die Azure bereitstellt. Diese Teilmenge bietet einen ausgereiften Featuresatz für Webanwendungen und APIs, Netzwerk, Observability, Entwicklertools und -vorgänge. Die folgenden Containerdienste werden verglichen:

Azure Container Apps Logo

Azure Container Apps ist eine vollständig verwaltete Plattform, die Ihnen die Möglichkeit bietet, containerisierte Anwendungen auszuführen, ohne sich um Orchestrierung oder Infrastruktur kümmern zu müssen. Weitere Informationen hierzu finden Sie in der Dokumentation von Azure Container Apps.

AKS-Logo

Azure Kubernetes Service (AKS) ist ein verwalteter Kubernetes Dienst zum Ausführen containerisierter Anwendungen. Mit AKS können Sie verwaltete Add-Ons und Erweiterungen für zusätzliche Funktionen nutzen und gleichzeitig die größtmögliche Konfigurierbarkeit beibehalten. Weitere Informationen finden Sie in AKS Dokumentation.

App Service-Logo

Web App für Container ist ein Feature von Azure App Service. Der App-Dienst ist ein vollständig verwalteter Dienst zum Hosten HTTP-basierter Web-Apps mit integrierter Infrastrukturwartung, Sicherheitspatching, Skalierung und Diagnosetool. Weitere Informationen finden Sie in der App Service-Dokumentation.

Eine vollständige Liste der Azure-Containerdienste finden Sie unter Container in Azure.

Überlegungen zum Dienstleistungsmodell

Ein Dienstmodell hilft Ihnen zu verstehen, wie viel Flexibilität und Kontrolle jeder Azure-Containerdienst bietet. Komplexe Dienste bieten mehr Kontrolle, während einfachere Dienste die Verwaltung vereinfachen, aber die Anpassung einschränken.

Weitere Informationen zu Servicemodellterminologie und -konzepten, einschließlich Infrastruktur as a Service (IaaS) und Plattform as a Service (PaaS), finden Sie unter "Gemeinsame Verantwortung in der Cloud".

Vergleichen der Dienstmodelle von Azure-Containerlösungen

Azure Kubernetes Service (AKS)

AKS ist eine Mischung aus IaaS und PaaS, die sich mehr auf die Steuerung als die Einfachheit konzentriert. Es verwendet Kubernetes, das Standardsystem für die Orchestrierung von Containern. AKS optimiert die Verwaltung der zugrunde liegenden Kerninfrastruktur. Diese VM-basierte Plattform ist jedoch für Ihre Anwendungen zugänglich und erfordert geeignete Sicherheitsvorkehrungen und Prozesse, wie z. B. das Einspielen von Patches, um Sicherheit und Geschäftskontinuität sicherzustellen. Die Computeinfrastruktur wird von zusätzlichen Azure-Ressourcen unterstützt, die direkt in Ihrem Abonnement gehostet werden, z. B. Azure-Lastenausgleichsgeräte, Containerregistrierungen oder Anwendungsgateways.

AKS bietet Zugriff auf den Kubernetes-API-Server, mit dem Sie Container-Orchestrierung anpassen und Hilfsanwendungen aus der Cloud Native Computing Foundation bereitstellen können. Infolgedessen sehen sich Workload-Teams, die noch keine Erfahrung mit Kubernetes haben, mit einer erheblichen Lernkurve konfrontiert. Wenn Sie mit containerisierten Lösungen nicht vertraut sind, müssen Sie diese Lernkurve berücksichtigen. Die folgenden PaaS-Lösungen bieten eine niedrigere Einstiegsbarriere. Sie können auf Kubernetes umsteigen, wenn Ihre Anforderungen dies erfordern.

AKS Automatic

AKS Automatic erleichtert die Übernahme von Kubernetes durch die Automatisierung komplexer Clusterverwaltungsaufgaben. Durch diese Automatisierung wird die Notwendigkeit erweiterter Kubernetes-Expertise reduziert. Es bietet eine optimierte, paaS-ähnliche Erfahrung und gleichzeitig die Flexibilität und Erweiterbarkeit von Kubernetes. Azure verwaltet das Clustersetup, die Knotenbereitstellung, die Skalierung, das Sicherheitspatching und wendet standardmäßig bewährte Konfigurationen an. Diese Automatisierung reduziert den Betriebsaufwand, beschränkt aber die verfügbaren Topologieoptionen.

Hinweis

In diesem Leitfaden wird zwischen AKS Standard und AKS Automatic unterschieden, sofern zutreffend. Andernfalls können Sie davon ausgehen, dass die beschriebene Funktionalität in beiden Angeboten konsistent ist.

Container-Anwendungen

Container-Apps ist eine Abstraktionsebene über Kubernetes, mit der Ihre Apps ausgeführt und skaliert werden können, ohne dass eine direkte Verwaltung der zugrunde liegenden Infrastruktur erforderlich ist. Container-Apps bieten sowohl serverlose als auch dedizierte Computeoptionen. Diese Optionen bieten Ihnen die vollständige Kontrolle über den Typ und die Menge der Computeressourcen, die für Ihre Anwendungen verfügbar sind. Container Apps abstrahieren Container-Orchestrierungs-APIs und bieten gleichzeitig integrierten Zugriff auf wichtige Funktionen wie Layer-7-Ingress, Traffic-Splitting, A/B-Tests und Anwendungslebenszyklusmanagement.

Web-App für Container

Web App für Container ist ein PaaS-Angebot, das im Vergleich zu Container-Apps die Einfachheit gegenüber der Kontrolle priorisiert. Es abstrahiert container-Orchestrierung und unterstützt weiterhin Skalierung, Anwendungslebenszyklus-Management, Datenverkehrsteilung, Netzwerkintegration und Observability.

Überlegungen zum Hostingmodell

Sie können Azure-Ressourcen wie AKS-Cluster verwenden, um mehrere Workloads zu hosten. Dieser Ansatz kann Ihnen helfen, Vorgänge zu optimieren, wodurch die Gesamtkosten reduziert werden. Wenn Sie diese Option auswählen, sollten Sie die folgenden Features berücksichtigen:

  • AKS wird in der Regel zum Hosten mehrerer Workloads oder unterschiedlicher Workload-Komponenten verwendet. Sie können diese Workloads und Komponenten isolieren, indem Sie kubernetes systemeigene Funktionen wie Namespaces, Zugriffssteuerungen und Netzwerksteuerelemente verwenden, um die Sicherheitsanforderungen zu erfüllen.

    Sie können AKS auch in Einzel-Workload-Szenarien verwenden, wenn Sie die zusätzliche Funktionalität benötigen, die die Kubernetes-API bereitstellt, und Ihr Workload-Team über ausreichende Erfahrung im Betrieb eines Kubernetes-Clusters verfügt. Teams mit weniger Kubernetes-Erfahrung können ihre eigenen Cluster weiterhin effektiv verwalten, indem sie von Azure verwaltete Add-Ons und Features wie das automatische Clusterupgrade verwenden, um den Betriebsaufwand zu reduzieren.

  • Container Apps sollte verwendet werden, um eine einzelne Workload mit einer gemeinsamen Sicherheitsgrenze zu hosten. Container-Apps verfügen über eine einzige logische Grenze auf oberster Ebene, die als Container-Apps-Umgebung bezeichnet wird, die auch als erweiterte Sicherheitsgrenze dient. Es gibt keine Mechanismen für eine differenziertere Zugriffssteuerung. Die Kommunikation innerhalb der Umgebung ist beispielsweise uneingeschränkt, und alle Anwendungen teilen einen einzigen Log Analytics-Arbeitsbereich.

    Wenn die Workload über mehrere Komponenten und Sicherheitsgrenzen verfügt, stellen Sie mehrere Container-Apps-Umgebungen bereit, oder erwägen Sie stattdessen AKS.

  • Web App für Container ist ein Feature von App Service. App Service gruppiert Anwendungen in einer logischen Computegrenze, die als App Service-Plan bezeichnet wird. Da Sie die rollenbasierte Zugriffssteuerung auf Anwendungsebene festlegen können, möchten Sie möglicherweise mehrere Workloads in einem einzigen Plan hosten. Es empfiehlt sich jedoch, für jeden Plan eine einzelne Workload zu hosten, um das „Noisy Neighbor“-Problem zu vermeiden. Alle Apps in einem einzelnen App Service-Plan verwenden den gleichen zugewiesenen Compute, Arbeitsspeicher und Speicher.

    Bedenken Sie bei der Hardwareisolation, dass App Service-Pläne in der Regel auf der Infrastruktur ausgeführt werden, die für andere Azure-Kunden freigegeben ist. Sie können dedizierte Ebenen für dedizierte VMs oder isolierte Ebenen für dedizierte virtuelle Computer in einem dedizierten virtuellen Netzwerk auswählen.

Im Allgemeinen können alle Azure-Containerdienste mehrere Anwendungen hosten, die über mehrere Komponenten verfügen. Container-Apps und Web App für Container funktionieren jedoch am besten für eine einzelne Workloadkomponente oder mehrere eng verwandte Workloadkomponenten, die einen ähnlichen Lebenszyklus gemeinsam nutzen und ein einzelnes Team besitzt und die Anwendung ausführt.

Wenn Sie verschiedenartige und möglicherweise nicht zusammenhängende Anwendungskomponenten oder Workloads auf einem Host unterbringen müssen, sollten Sie AKS in Betracht ziehen.

Der Kompromiss zwischen Kontrolle und Benutzerfreundlichkeit

AKS bietet die beste Konfigurierbarkeit, aber diese Konfigurierbarkeit erfordert mehr betrieblichen Aufwand im Vergleich zu den anderen Diensten. Container-Apps und Web App für Container sind paaS-Dienste, die ähnliche Ebenen von von Microsoft verwalteten Features aufweisen. Web App für Container legt den Fokus auf Benutzerfreundlichkeit, um die Zielgruppe anzusprechen, die aus vorhandenen App Service-Kunden besteht, die mit der Benutzeroberfläche vertraut sind.

Bewährte Methoden

Dienste, die mehr Einfachheit bieten, eignen sich in der Regel für Kunden, die sich auf die Featureentwicklung statt auf die Infrastrukturverwaltung konzentrieren. Dienste, die mehr Kontrolle bieten, passen in der Regel zu Kunden, die konfigurierbarkeit benötigen und über die Fähigkeiten, Ressourcen und geschäftliche Begründung verfügen, um ihre eigene Infrastruktur zu verwalten.

Gemeinsame Überlegungen für alle Workloads

Ein Workloadteam bevorzugt möglicherweise ein bestimmtes Dienstmodell, aber dieses Modell erfüllt möglicherweise nicht die allgemeinen Anforderungen der Organisation. Entwickler möchten zum Beispiel weniger Betriebsaufwand, während Sicherheitsteams diesen Aufwand möglicherweise als notwendig für die Compliance betrachten. Teams müssen zusammenarbeiten, um die richtigen Kompromisse zu erzielen.

Gemeinsame Überlegungen decken eine vielzahl von Faktoren ab. Nur eine Teilmenge von Überlegungen könnte je nach Art der Arbeitslast für Sie relevant sein. Ihre Rolle innerhalb der Organisation wirkt sich auch auf die relevanten Überlegungen aus.

Die folgende Tabelle enthält eine Übersicht über Überlegungen, einschließlich Vergleiche von Servicefunktionen. Überprüfen Sie die Überlegungen in jeder Kategorie, und vergleichen Sie sie mit den Anforderungen Ihrer Workload.

Kategorie Übersicht
Überlegungen zum Networking Das Netzwerk in Azure-Containerdiensten hängt von Ihrer Vorliebe für einfachheits- oder konfigurierbarkeit ab. AKS bietet umfassende Kontrolle über den Netzwerkfluss, erfordert jedoch mehr betrieblichen Aufwand. Container Apps bietet Azure-verwaltete Netzwerkfunktionen und positioniert sich zwischen AKS und Web App für Container, was auf Kunden abzielt, die bereits App Service nutzen.

Entscheidungen im Netzwerkentwurf haben langfristige Folgen, da das Ändern häufig erfordert, dass Sie Workloads erneut bereitstellen müssen. Verschiedene Faktoren, z. B. IP-Adressplanung, Lastenausgleich, Dienstermittlung und private Netzwerke, variieren in diesen Diensten. Sie sollten sorgfältig überprüfen, wie jeder Dienst bestimmte Netzwerkanforderungen erfüllt.
Überlegungen zur Sicherheit Container-Apps, AKS und Web App für Container sind in wichtige Azure-Sicherheitsangebote wie Azure Key Vault und verwaltete Identitäten integriert. AKS bietet zusätzliche Features wie Laufzeit-Bedrohungsschutz und Netzwerkrichtlinien. PaaS-Dienste wie Container-Apps scheinen möglicherweise weniger Sicherheitsfeatures zu haben, aber das liegt zum Teil daran, dass Azure mehr der zugrunde liegenden Infrastrukturkomponenten verwaltet. Da diese Komponenten den Kunden nicht ausgesetzt sind, ist das Risiko niedriger.
Überlegungen zur Verwendung AKS bietet die meisten Anpassungen, erfordert jedoch mehr Betriebseingaben.

PaaS-Lösungen wie Container-Apps und Web App für Container ermöglichen Azure das Verarbeiten von Aufgaben wie Betriebssystemupdates. Skalierbarkeit und Hardware-SKU-Flexibilität sind wichtig. AKS bietet flexible Hardwareoptionen, container-Apps und Web App für Container haben jedoch weniger Auswahlmöglichkeiten. In AKS liegt die Anwendungsskalierbarkeit in Ihrer Verantwortung, sodass Sie jede Kubernetes-kompatible Lösung anwenden können. AKS Automatic, Container Apps und Web App for Containers konzentrieren sich auf einfachere Ansätze.
Überlegungen zur Zuverlässigkeit Web-Apps für Container und Container Apps verfügen im Vergleich zu AKS über eingeschränkte Konfigurationen für einen Integritätstest. Die Einrichtung ist jedoch einfacher, da sie die vertraute Azure Resource Manager-API verwenden.

AKS erfordert die Kubernetes-API und erfordert außerdem die Verwaltung der Skalierbarkeit und Verfügbarkeit von Kubernetes-Knotenpools, um Anwendungsinstanzen ordnungsgemäß zu planen. Diese Anforderungen erhöhen den Operativen Aufwand für AKS. Vereinbarungen auf Serviceebene für Container-Apps und Web App für Container sind einfacher zu berechnen als AKS SLAs. Die AKS-Steuerungsebene und die Knotenpools verfügen jeweils über eigene SLAs, die kombiniert werden müssen. Alle Dienste bieten Zonenredundanz in Rechenzentren, die sie unterstützen.

Nachdem Sie die vorstehenden Überlegungen überprüft haben, finden Sie möglicherweise immer noch nicht die perfekte Passform, die typisch ist.

Bewertung von Kompromissen

Cloud Computing ist komplex. Es umfasst die Zusammenarbeit in vielen Teams und muss Einschränkungen in Personen, Budgets und Zeit berücksichtigen. Diese Faktoren machen die Auswahl des Clouddiensts schwierig und voll von Kompromissen.

Für jede Arbeitsauslastung sind einige Anforderungen möglicherweise wichtiger als andere. Beispielsweise könnte ein Anwendungsteam eine PaaS-Lösung wie Container Apps bevorzugen, sich jedoch für AKS entscheiden, da das Sicherheitsteam standardmäßig Netzwerksteuerungen zwischen gemeinsam genutzten Workload-Komponenten erfordert. Dieses Nur-AKS-Feature verwendet Kubernetes-Netzwerkrichtlinien.

Die vorstehenden gemeinsamen Überlegungen decken die häufigsten Anforderungen ab, sind jedoch nicht umfassend. Sie müssen jede Anforderung anhand des Featuresatzes Ihres bevorzugten Diensts auswerten, bevor Sie eine Entscheidung treffen.

Zusammenfassung

In diesem Handbuch werden die häufigsten Überlegungen behandelt, wenn Sie einen Azure-Containerdienst auswählen. Es wurde entwickelt, damit Ihr Workloadteam fundierte Entscheidungen treffen kann. Der Prozess beginnt mit der Auswahl eines Clouddienstmodells, bei dem die gewünschte Steuerungsebene bestimmt wird. Mehr Kontrolle kommt auf Kosten der Einfachheit. Mit anderen Worten: Ziel ist es, das richtige Gleichgewicht zwischen einer selbstverwalteten Infrastruktur und einer von Microsoft verwalteten Infrastruktur zu finden.

Viele Workloadteams wählen einen Azure-Containerdienst, der ausschließlich darauf basiert, ob sie paaS oder IaaS bevorzugen. Andere Teams müssen weiter untersuchen, um zu ermitteln, wie dienstspezifische Features Workload oder Organisationsanforderungen erfüllen.

Verwenden Sie diesen Leitfaden, um Ihre Optionen sorgfältig auszuwerten und entscheidungen zu vermeiden, die schwer rückgängig zu machen sind. Es ist jedoch keine Entscheidung abgeschlossen, bis Entwickler den Dienst ausprobieren und basierend auf praktischen Erfahrungen statt theorien auswerten.

Beitragende

Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.

Hauptautoren:

Andere Mitwirkende:

Um nicht-öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.