Azure bietet eine Vielzahl von Möglichkeiten zum Hosten Ihres Anwendungscodes. Der Begriff Compute bezieht sich auf das Hostingmodell für die Ressourcen, auf denen Ihre Anwendung ausgeführt wird. In diesem Artikel erfahren Sie, wie Sie einen Computedienst für Ihre Anwendung auswählen.
Auswählen eines Kandidatendiensts
Verwenden Sie das folgende Flussdiagramm, um einen Kandidaten für den Computedienst auszuwählen.
Laden Sie eine Visio-Datei dieser Entscheidungsstruktur herunter.
Dieses Diagramm bezieht sich auf zwei Migrationsstrategien:
- Lift & Shift: Eine Strategie zum Migrieren einer Workload zur Cloud ohne Überarbeitung der Anwendung oder Änderung des Codes. Es wird auch als erneutes Hosten bezeichnet. Weitere Informationen finden Sie im Azure-Migrations- und Modernisierungscenter.
- Cloudoptimierung: Eine Strategie für die Migration zur Cloud durch Refactoring einer Anwendung, um cloudnative Features und Funktionen zu nutzen.
Die Ausgabe dieses Flussdiagramms ist Ihr Ausgangspunkt. Bewerten Sie als Nächstes den Dienst, um festzustellen, ob er Ihren Anforderungen entspricht.
Dieser Artikel enthält mehrere Tabellen, die Ihnen bei der Auswahl eines Diensts helfen können. Der erste Kandidat aus dem Flussdiagramm ist möglicherweise nicht für Ihre Anwendung oder Ihr Workload geeignet. Dehnen Sie in diesem Fall Ihre Analyse auf andere Computedienste aus.
Wenn Ihre Anwendung aus mehreren Workloads besteht, bewerten Sie jede Workload getrennt. Eine vollständige Lösung kann zwei oder mehr Computedienste umfassen.
Grundlegendes zu den Basisfunktionen
Wenn Sie mit dem im vorherigen Abschnitt ausgewählten Azure-Dienst nicht vertraut sind, lesen Sie diese Übersichtsdokumentation:
- Azure Virtual Machines: Ein Dienst, bei dem Sie virtuelle Computer (VMs) in einem virtuellen Azure-Netzwerk bereitstellen und verwalten.
- Azure App Service: Ein verwalteter Dienst zum Hosten von Web-Apps, mobilen App-Back-Ends, RESTful-APIs oder automatisierten Geschäftsprozessen.
- Azure Functions: Eine verwaltete Funktion als Dienst.
- Azure Kubernetes Service (AKS): Ein verwalteter Kubernetes-Dienst zur Ausführung von Containeranwendungen.
- Azure Container Apps: Ein verwalteter Dienst, der auf Kubernetes basiert und die Bereitstellung containerisierter Anwendungen in einer serverlosen Umgebung vereinfacht.
- Azure Container Instances: Dieser Dienst ist eine schnelle und einfache Möglichkeit zum Ausführen eines Containers in Azure. Sie brauchen keine VMs bereitzustellen oder einen Dienst auf höherer Ebene einzuführen.
- Azure Red Hat OpenShift: Ein vollständig verwalteter OpenShift-Cluster für die Ausführung von Containern in der Produktion mit Kubernetes.
- Azure Spring Apps: Ein verwalteter Dienst, der für das Hosting von Spring Boot-Apps entworfen und optimiert ist.
- Azure Service Fabric: Eine Plattform für verteilte Systeme, die in vielen Umgebungen ausgeführt werden kann, z. B. in Azure oder lokal.
- Azure Batch: Ein verwalteter Dienst zum Ausführen von umfassenden parallelen HPC-Anwendungen (High-Performance Computing).
Grundlegendes zu den Hostingmodellen
Bei Hostingmodellen lassen sich Clouddienste in drei Kategorien einteilen:
Infrastructure-as-a-Service (IaaS): Sie können virtuelle Computer zusammen mit den zugehörigen Netzwerk- und Speicherkomponenten bereitstellen. Anschließend können Sie die Software und Anwendungen bereitstellen, die für diese VMs jeweils vorgesehen sind. Dieses Modell kommt einer traditionellen lokalen Umgebung am nächsten. Microsoft verwaltet die Infrastruktur. Die Verwaltung der VMs liegt weiterhin bei Ihnen.
PaaS (Platform-as-a-Service): Bietet eine verwaltete Hostingumgebung, in der Sie Ihre Anwendung ohne Verwaltung von virtuellen Computern oder Netzwerkressourcen bereitstellen können. Azure App Service und Azure Container Apps sind PaaS-Dienste.
FaaS (Functions-as-a-Service): Sie können Sie Ihren Code im Dienst bereitstellen, der ihn automatisch ausführt. Azure Functions ist ein FaaS-Dienst.
Hinweis
Azure Functions ist eine serverlose Computeoption von Azure. Informationen zum Vergleich dieses Diensts mit anderen serverlosen Azure-Angeboten, z. B. Logic Apps, die serverlose Workflows bereitstellt, finden Sie unter Auswählen der richtigen Integrations- und Automatisierungsdienste in Azure.
Es wird ein Spektrum von IaaS bis zu PaaS in Reinform abgedeckt. Für Azure-VMs kann die automatische Skalierung beispielsweise mithilfe von VM-Skalierungsgruppen durchgeführt werden. Diese Funktion entspricht nicht genau einem PaaS, aber es handelt sich um die Art von Verwaltungsfeature, das Teil eines PaaS ist.
Es muss ein Kompromiss zwischen Kontrolle und einfacher Verwaltung gefunden werden. IaaS bietet das höchste Maß an Kontrolle, Flexibilität und Portabilität, aber Sie müssen die von Ihnen erstellten virtuellen Computer und Netzwerkkomponenten bereitstellen, konfigurieren und verwalten. FaaS-Dienste verwalten automatisch nahezu alle Aspekte der Ausführung einer Anwendung. PaaS ist irgendwo dazwischen.
Dienst | Anwendungskomposition | Dichte | Mindestanzahl von Knoten | Zustandsverwaltung | Webhosting |
---|---|---|---|---|---|
Azure Virtual Machines | Agnostisch | Agnostisch | 12 | Zustandslos oder zustandsbehaftet | Agnostisch |
Azure App Service | Anwendungen, Container | Mehrere Apps pro Instanz durch Verwendung von App-Service-Plänen | 1 | Zustandslos | Integriert |
Überprüfung auf | Funktionen, Container | Serverlos 1 | Serverlos 1 | Zustandslos oder zustandsbehaftet 6 | Nicht verfügbar |
Azure Kubernetes Service | Container | Mehrere Container pro Knoten | 3 3 | Zustandslos oder zustandsbehaftet | Agnostisch |
Azure Container Apps | Container | Serverlos | Serverlos | Zustandslos oder zustandsbehaftet | Agnostisch |
Azure Container Instances | Container | Keine dedizierten Instanzen | Keine dedizierten Knoten | Zustandslos | Agnostisch |
Azure Red Hat OpenShift | Container | Mehrere Container pro Knoten | 6 5 | Zustandslos oder zustandsbehaftet | Agnostisch |
Azure Spring Apps | Anwendungen, Microservices | Mehrere Apps pro Dienstinstanz | 2 | Zustandslos | Integriert |
Azure Service Fabric | Dienste, ausführbare Gastdateien, Container | Mehrere Dienste pro VM | 53 | Zustandslos oder zustandsbehaftet | Agnostisch |
Azure Batch | Geplante Aufträge | Mehrere Apps pro VM | 14 | Zustandslos | Nein |
Hinweise
- Wenn Sie einen Verbrauchsplan verwenden. Für einen App-Service-Plan werden Funktionen auf den VMs ausgeführt, die Ihrem App-Service-Plan zugeordnet sind. Weitere Informationen finden Sie unter Auswählen des richtigen Serviceplans für Azure Functions.
- Höhere Vereinbarung zum Servicelevel (SLA) mit zwei oder mehr Instanzen.
- Empfohlen für Produktionsumgebungen.
- Kann nach Abschluss eines Auftrags auf 0 herunterskaliert werden.
- Drei für primäre Knoten und drei für Workerknoten.
- Bei der Verwendung von Durable Functions.
Netzwerk
Dienst | Integration in ein virtuelles Netzwerk | Hybridkonnektivität |
---|---|---|
Azure Virtual Machines | Unterstützt | Unterstützt |
Azure App Service | Unterstützt 1 | Unterstützt 2 |
Überprüfung auf | Unterstützt 1 | Unterstützt 3 |
Azure Kubernetes Service | Unterstützt | Unterstützt |
Azure Container Apps | Unterstützt | Unterstützt |
Azure Container Instances | Unterstützt | Unterstützt |
Azure Red Hat OpenShift | Unterstützt | Unterstützt |
Azure Spring Apps | Unterstützt | Unterstützt |
Azure Service Fabric | Unterstützt | Unterstützt |
Azure Batch | Unterstützt | Unterstützt |
Notizen
- Erfordert eine App Service-Umgebung.
- Verwenden Sie Azure App Service-Hybridverbindungen.
- Erfordert App Service Plan oder Azure Functions Premium-Plan.
DevOps
Dienst | Lokales Debugging | Programmiermodell | Anwendungsupdate |
---|---|---|---|
Azure Virtual Machines | Agnostisch | Agnostisch | Keine integrierte Unterstützung |
Azure App Service | IIS Express, weitere1 | Web- und API-Anwendungen, WebJobs für Hintergrundtasks | Bereitstellungsslots |
Überprüfung auf | Visual Studio oder Azure Functions-Befehlszeilenschnittstelle | Serverlos, ereignisgesteuert | Bereitstellungsslots |
Azure Kubernetes Service | Minikube, Docker, andere | Agnostisch | Paralleles Update |
Azure Container Apps | Lokale Containerruntime | Agnostisch | Revisionsverwaltung |
Azure Container Instances | Lokale Containerruntime | Agnostisch | Nicht verfügbar |
Azure Red Hat OpenShift | Minikube, Docker, andere | Agnostisch | Paralleles Update |
Azure Spring Apps | Visual Studio Code, Intellij, Eclipse | Spring Boot, Steeltoe | Paralleles Upgrade, Blau-Grün-Bereitstellung |
Azure Service Fabric | Lokaler Knotencluster | Ausführbare Gastdatei, Dienstmodell, Akteurmodell, Container | Rollierendes Upgrade (pro Dienst) |
Azure Batch | Nicht unterstützt | Befehlszeilenanwendung | Nicht verfügbar |
Notizen
- Zu den Optionen gehören IIS Express für ASP.NET oder node.js (iisnode), PHP-Webserver, Azure-Toolkit für IntelliJ und Azure-Toolkit für Eclipse. App Service unterstützt auch das Remotedebuggen einer bereitgestellten Web-App.
Skalierbarkeit
Dienst | Automatische Skalierung | Load Balancer | Skalierungslimit3 |
---|---|---|---|
Azure Virtual Machines | VM-Skalierungsgruppen | Azure Load Balancer | Plattformimage: 1.000 Knoten pro Skalierungsgruppe, benutzerdefiniertes Image: 600 Knoten pro Skalierungsgruppe |
Azure App Service | Integrierter Dienst | Integriert | 30 Instanzen, 100 mit App Service-Umgebung |
Überprüfung auf | Integrierter Dienst | Integriert | 200 Instanzen pro Funktions-App |
Azure Kubernetes Service | Automatisches Skalieren von Pods1, automatisches Skalieren von Clustern2 | Azure Load Balancer oder Azure Application Gateway | 5.000 Knoten bei Verwendung der Betriebszeit-SLA |
Azure Container Apps | Skalierungsregeln4 | Integriert | 5 Umgebungen pro Region, 20 Container-Apps pro Umgebung, 30 Replikate pro Container-App |
Azure Container Instances | Nicht unterstützt | Keine integrierte Unterstützung | 20 Containergruppen pro Abonnement (Standardgrenzwert) |
Azure Red Hat OpenShift | Automatische Skalierung von Pods, automatische Skalierung von Clustern | Azure Load Balancer oder Azure Application Gateway | 60 Knoten pro Cluster (Standardgrenzwert) |
Azure Spring Apps | Integrierter Dienst | Integriert | 500 App-Instanzen in Standard |
Azure Service Fabric | VM-Skalierungsgruppen | Azure Load Balancer | 100 Knoten pro VM-Skalierungsgruppe |
Azure Batch | Nicht verfügbar | Azure Load Balancer | 20 Kerne (Standardgrenzwert) |
Notizen
- Informationen finden Sie unter Automatisches Skalieren von Pods.
- Informationen finden Sie unter Automatisches Skalieren eines Clusters zur Erfüllung von Anwendungsanforderungen in Azure Kubernetes Service (AKS).
- Weitere Informationen finden Sie unter Einschränkungen für Azure-Abonnements und Dienste, Kontingente und Einschränkungen.
- Siehe Festlegen von Skalierungsregeln in Azure Container Apps.
Verfügbarkeit
Dienst | SLA | Failover in mehreren Regionen |
---|---|---|
Azure Virtual Machines | SLA für Virtual Machines | Azure Traffic Manager, Azure Front Door und regionsübergreifende Azure Load Balancer |
Azure App Service | SLA für App Service | Azure Traffic Manager und Azure Front Door |
Überprüfung auf | SLA für Functions | Azure Traffic Manager und Azure Front Door |
Azure Kubernetes Service (AKS) | SLA für AKS | Azure Traffic Manager, Azure Front Door und Multi-Region-Cluster |
Azure Container Apps | SLA für Container Apps | Azure Traffic Manager und Azure Front Door |
Azure Container Instances | SLA für Container Instances | Azure Traffic Manager und Azure Front Door |
Azure Red Hat OpenShift | SLA für Azure Red Hat OpenShift | Azure Traffic Manager und Azure Front Door |
Azure Spring Apps | Häufig gestellte Fragen zu Azure Spring Apps | Azure Traffic Manager, Azure Front Door und Multi-Region-Cluster |
Azure Service Fabric | SLA für Service Fabric | Azure Traffic Manager, Azure Front Door und regionsübergreifende Azure Load Balancer |
Azure Batch | SLA für Batch | Nicht zutreffend |
Geführte Tutorials zu Servicegarantien finden Sie unter Core Cloud Services – Azure-Architektur und Servicegarantien.
Sicherheit
Machen Sie sich mit den verfügbaren Sicherheitskontrollen und Sichtbarkeiten der einzelnen Dienste vertraut:
- Azure-Windows-VM
- Azure-Linux-VM
- Azure App Service
- Azure-Funktionen
- Azure Kubernetes Service
- Azure Container Instances
- Azure Spring Apps
- Azure Service Fabric
- Azure Batch
Andere Kriterien
Abwägen von Grenzwerten und Kosten
Führen Sie zusammen mit den vorherigen Vergleichstabellen eine detailliertere Bewertung der folgenden Aspekte des Kandidatendiensts durch:
Beitragende
Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:
- Ayobami Ayodeji | Senior Program Manager
- Jelle Druyts | Principal Service Engineer
- Martin Gjoshevski | Senior Service Engineer
- Phil Huang | Senior Cloud Solution Architect
- Julie Ng | Senior Service Engineer
- Paolo Salvatori | Principal Service Engineer
Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.
Nächste Schritte
Wichtige Clouddienste – Azure-Computeoptionen: In diesem Learn-Modul wird erläutert, wie Computedienste gängige geschäftliche Anforderungen lösen können.