Auswählen eines Azure-Computediensts für Ihre AnwendungChoose an Azure compute service for your application

Azure bietet eine Vielzahl von Möglichkeiten zum Hosten Ihres Anwendungscodes.Azure offers a number of ways to host your application code. Der Begriff Compute bezieht sich auf das Hostingmodell für die Computeressourcen, auf denen Ihre Anwendung ausgeführt wird.The term compute refers to the hosting model for the computing resources that your application runs on. Das folgende Flussdiagramm unterstützt Sie bei der Auswahl eines Computediensts für Ihre Anwendung.The following flowchart will help you to choose a compute service for your application.

Wenn Ihre Anwendung aus mehreren Workloads besteht, bewerten Sie jede Workload getrennt.If your application consists of multiple workloads, evaluate each workload separately. Eine vollständige Lösung kann zwei oder mehr Computedienste umfassen.A complete solution may incorporate two or more compute services.

Auswählen eines KandidatendienstsChoose a candidate service

Verwenden Sie das folgende Flussdiagramm, um einen Kandidaten für den Computedienst auszuwählen.Use the following flowchart to select a candidate compute service.

Entscheidungsstruktur für Azure-Computedienste

Definitionen:Definitions:

  • Lift & Shift ist eine Strategie zum Migrieren einer Workload zur Cloud ohne Überarbeitung der Anwendung oder Änderung des Codes."Lift and shift" is a strategy for migrating a workload to the cloud without redesigning the application or making code changes. Dies wird auch als erneutes Hosten bezeichnet.Also called rehosting. Weitere Informationen finden Sie im Azure-Migrationscenter.For more information, see Azure migration center.
  • Cloudoptimierung ist eine Strategie für die Migration zur Cloud durch Umgestaltung einer Anwendung, um cloudeigene Features und Funktionen zu nutzen.Cloud optimized is a strategy for migrating to the cloud by refactoring an application to take advantage of cloud-native features and capabilities.

Die Ausgabe dieses Flussdiagramms stellt einen Ausgangspunkt für Ihre Überlegungen dar.The output from this flowchart is a starting point for consideration. Führen Sie als Nächstes eine ausführlichere Auswertung des Diensts durch, um zu ermitteln, ob er Ihren Anforderungen entspricht.Next, perform a more detailed evaluation of the service to see if it meets your needs.

Grundlegendes zu den BasisfunktionenUnderstand the basic features

Wenn Sie mit dem im vorherigen Schritt ausgewählten Azure-Dienst nicht vertraut sind, lesen Sie die Übersichtsdokumentation, um die Grundlagen des Diensts zu verstehen.If you're not familiar with the Azure service selected in the previous step, read the overview documentation to understand the basics of the service.

  • App Service.App Service. Ein verwalteter Dienst zum Hosten von Web-Apps, mobilen App-Back-Ends, RESTful-APIs oder automatisierten GeschäftsprozessenA managed service for hosting web apps, mobile app back ends, RESTful APIs, or automated business processes.
  • Azure Kubernetes Service (AKS):Azure Kubernetes Service (AKS). Ein verwalteter Kubernetes-Dienst für die Ausführung von ContaineranwendungenA managed Kubernetes service for running containerized applications.
  • Batch:Batch. Ein verwalteter Dienst zum Ausführen von umfassenden parallelen HPC-Anwendungen (High-Performance Computing)A managed service for running large-scale parallel and high-performance computing (HPC) applications
  • Container Instances:Container Instances. Die schnellste und einfachste Methode zum Ausführen von Containern in Azure, ohne dass Sie virtuelle Computer bereitstellen oder einen übergeordneten Dienst einführen müssenThe fastest and simplest way to run a container in Azure, without having to provision any virtual machines and without having to adopt a higher-level service.
  • Funktionen.Functions. Ein verwalteter FaaS-DienstA managed FaaS service.
  • Service Fabric:Service Fabric. Eine Plattform für verteilte Systeme, die in vielen Umgebungen ausgeführt werden kann, z. B. Azure oder lokalA distributed systems platform that can run in many environments, including Azure or on premises.
  • Virtuelle Computer:Virtual machines. Bereitstellung und Verwaltung virtueller Computer in einem virtuellen Azure-NetzwerkDeploy and manage VMs inside an Azure virtual network.

Grundlegendes zu den HostingmodellenUnderstand the hosting models

Clouddienste, einschließlich Azure-Dienste, sind in der Regel in drei Kategorien unterteilt: IaaS, PaaS und FaaS.Cloud services, including Azure services, generally fall into three categories: IaaS, PaaS, or FaaS. (Darüber hinaus gibt es noch SaaS (Software-as-a-Service). Diese Option wird jedoch in diesem Artikel nicht behandelt.) Es ist hilfreich, die Unterschiede zu verstehen.(There is also SaaS, software-as-a-service, which is out of scope for this article.) It's useful to understand the differences.

Mit Infrastructure-as-a-Service (IaaS) können Sie einzelne virtuelle Computer zusammen mit den zugehörigen Netzwerk- und Speicherkomponenten bereitstellen.Infrastructure-as-a-Service (IaaS) lets you provision individual VMs along with the associated networking and storage components. Anschließend stellen Sie die Software und Anwendungen bereit, die für diese VMs jeweils vorgesehen sind.Then you deploy whatever software and applications you want onto those VMs. Dieses Modell weist die größte Ähnlichkeit mit einer herkömmlichen lokalen Umgebung auf – mit der Ausnahme, dass die Infrastruktur von Microsoft verwaltet wird.This model is the closest to a traditional on-premises environment, except that Microsoft manages the infrastructure. Sie verwalten weiterhin die einzelnen VMs.You still manage the individual VMs.

Bei PaaS (Platform-as-a-Service) ist eine verwaltete Hostingumgebung vorhanden, in der Sie Ihre Anwendung bereitstellen können, ohne VMs oder Netzwerkressourcen verwalten zu müssen.Platform-as-a-Service (PaaS) provides a managed hosting environment, where you can deploy your application without needing to manage VMs or networking resources. Azure App Service ist ein PaaS-Dienst.Azure App Service is a PaaS service.

Bei FaaS (Functions-as-a-Service) geht dies noch weiter, da es auch nicht mehr erforderlich ist, sich um die Hostingumgebung zu kümmern.Functions-as-a-Service (FaaS) goes even further in removing the need to worry about the hosting environment. In einem FaaS-Modell stellen Sie einfach Ihren Code bereit, und der Dienst führt ihn automatisch aus.In a FaaS model, you simply deploy your code and the service automatically runs it. Bei Azure Functions handelt es sich um einen Dienst vom Typ „FaaS“.Azure Functions are a FaaS service.

Es wird ein Spektrum von IaaS bis zu PaaS in Reinform abgedeckt.There is a spectrum from IaaS to pure PaaS. Für Azure-VMs kann die Autoskalierung beispielsweise mithilfe von VM-Skalierungsgruppen durchgeführt werden.For example, Azure VMs can autoscale by using virtual machine scale sets. Diese Funktion für die automatische Skalierung entspricht nicht genau PaaS, aber es handelt sich um die Art von Verwaltungsfeature, das Teil eines PaaS-Diensts ist.This automatic scaling capability isn't strictly PaaS, but it's the type of management feature found in PaaS services.

Im Allgemeinen muss ein Kompromiss zwischen Kontrolle und einfacher Verwaltung gefunden werden.In general, there is a tradeoff between control and ease of management. 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.IaaS gives the most control, flexibility, and portability, but you have to provision, configure and manage the VMs and network components you create. FaaS-Dienste verwalten automatisch nahezu alle Aspekte der Ausführung einer Anwendung.FaaS services automatically manage nearly all aspects of running an application. PaaS-Dienste liegen irgendwo dazwischen.PaaS services fall somewhere in between.

Abwägen von Grenzwerten und KostenConsider limits and cost

Führen Sie als Nächstes eine ausführlichere Auswertung der folgenden Aspekte des Diensts aus:Next, perform a more detailed evaluation, looking at the following aspects of the service:

Basierend auf dieser Analyse stellen Sie eventuell fest, dass der erste Kandidat nicht für Ihre spezifische Anwendung oder Workload geeignet ist.Based on this analysis, you may find that the initial candidate isn't suitable for your particular application or workload. Dehnen Sie in diesem Fall Ihre Analyse auf andere Computedienste aus.In that case, expand your analysis to include other compute services.

Die folgenden Tabellen enthalten zusätzliche Vergleichsaspekte, die bei der Auswahl nützlich sein können:The following tables contain additional comparison points, which may be useful when choosing.

HostingmodellHosting model

KriterienCriteria Virtual MachinesVirtual Machines App ServiceApp Service Service FabricService Fabric Azure-FunktionenAzure Functions Azure Kubernetes ServiceAzure Kubernetes Service Container InstancesContainer Instances Azure BatchAzure Batch
AnwendungskompositionApplication composition AgnostischAgnostic Anwendungen, ContainerApplications, containers Dienste, ausführbare Gastdateien, ContainerServices, guest executables, containers FunctionsFunctions ContainerContainers ContainerContainers Geplante AufträgeScheduled jobs
DichteDensity AgnostischAgnostic Mehrere Apps pro Instanz über App Service-PläneMultiple apps per instance via app service plans Mehrere Dienste pro VMMultiple services per VM Serverlos 1Serverless 1 Mehrere Container pro KnotenMultiple containers per node Keine dedizierten InstanzenNo dedicated instances Mehrere Apps pro VMMultiple apps per VM
Mindestanzahl von KnotenMinimum number of nodes 121 2 11 535 3 Serverlos 1Serverless 1 3 33 3 Keine dedizierten KnotenNo dedicated nodes 141 4
ZustandsverwaltungState management Zustandslos oder zustandsbehaftetStateless or Stateful ZustandslosStateless Zustandslos oder zustandsbehaftetStateless or stateful ZustandslosStateless Zustandslos oder zustandsbehaftetStateless or Stateful ZustandslosStateless ZustandslosStateless
WebhostingWeb hosting AgnostischAgnostic IntegriertBuilt in AgnostischAgnostic Nicht verfügbarNot applicable AgnostischAgnostic AgnostischAgnostic NeinNo
Bereitstellung in dediziertem VNET möglich?Can be deployed to dedicated VNet? UnterstütztSupported Unterstützt5Supported5 UnterstütztSupported Unterstützt5Supported 5 UnterstütztSupported UnterstütztSupported UnterstütztSupported
HybridkonnektivitätHybrid connectivity UnterstütztSupported Unterstützt6Supported 6 UnterstütztSupported Unterstützt7Supported 7 UnterstütztSupported Nicht unterstütztNot supported UnterstütztSupported

NotizenNotes

  1. Bei Verwendung eines Verbrauchsplans. Bei Verwendung eines App Service-Plans 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.If using Consumption plan. If using App Service plan, functions run on the VMs allocated for your App Service plan. See Choose the correct service plan for Azure Functions.
  2. Höhere SLA mit mindestens zwei Instanzen.Higher SLA with two or more instances.
  3. Empfohlen für Produktionsumgebungen.Recommended for production environments.
  4. Kann nach Abschluss eines Auftrags auf 0 herunterskaliert werden.Can scale down to zero after job completes.
  5. Erfordert App Service-Umgebung (App Service Environment, ASE).Requires App Service Environment (ASE).
  6. Verwenden Sie Azure App Service-Hybridverbindungen.Use Azure App Service Hybrid Connections.
  7. Erfordert einen App Service-Plan.Requires App Service plan.

DevOpsDevOps

KriterienCriteria Virtual MachinesVirtual Machines App ServiceApp Service Service FabricService Fabric Azure-FunktionenAzure Functions Azure Kubernetes ServiceAzure Kubernetes Service Container InstancesContainer Instances Azure BatchAzure Batch
Lokales DebuggingLocal debugging AgnostischAgnostic IIS Express, weitere1IIS Express, others 1 Lokaler KnotenclusterLocal node cluster Visual Studio oder Azure Functions-BefehlszeilenschnittstelleVisual Studio or Azure Functions CLI Minikube, andereMinikube, others Lokale ContainerruntimeLocal container runtime Nicht unterstütztNot supported
ProgrammiermodellProgramming model AgnostischAgnostic Web- und API-Anwendungen, WebJobs für HintergrundtasksWeb and API applications, WebJobs for background tasks Ausführbare Gastdatei, Dienstmodell, Akteurmodell, ContainerGuest executable, Service model, Actor model, Containers Funktionen mit AuslösernFunctions with triggers AgnostischAgnostic AgnostischAgnostic BefehlszeilenanwendungCommand line application
AnwendungsupdateApplication update Keine integrierte UnterstützungNo built-in support BereitstellungsslotsDeployment slots Rollierendes Upgrade (pro Dienst)Rolling upgrade (per service) BereitstellungsslotsDeployment slots Paralleles UpdateRolling update Nicht verfügbarNot applicable

NotizenNotes

  1. Optionen umfassen IIS Express für ASP.NET oder node.js (iisnode); PHP-Webserver; Azure Toolkit für IntelliJ, Azure Toolkit für Eclipse. App Service unterstützt auch das Remotedebuggen einer bereitgestellten Web-App.Options include IIS Express for ASP.NET or node.js (iisnode); PHP web server; Azure Toolkit for IntelliJ, Azure Toolkit for Eclipse. App Service also supports remote debugging of deployed web app.
  2. Informationen dazu finden Sie unter Anbieter, Regionen, API-Versionen und Schemas für den Ressourcen-Manager.See Resource Manager providers, regions, API versions and schemas.

SkalierbarkeitScalability

KriterienCriteria Virtual MachinesVirtual Machines App ServiceApp Service Service FabricService Fabric Azure-FunktionenAzure Functions Azure Kubernetes ServiceAzure Kubernetes Service Container InstancesContainer Instances Azure BatchAzure Batch
Automatische SkalierungAutoscaling VM-SkalierungsgruppenVirtual machine scale sets Integrierter DienstBuilt-in service VM-SkalierungsgruppenVirtual machine scale sets Integrierter DienstBuilt-in service Automatisches Skalieren von Pods1, automatisches Skalieren von Clustern2Pod auto-scaling1, cluster auto-scaling2 Nicht unterstütztNot supported N/A
Load BalancerLoad balancer Azure Load BalancerAzure Load Balancer IntegriertIntegrated Azure Load BalancerAzure Load Balancer IntegriertIntegrated Azure Load Balancer oder Application GatewayAzure Load Balancer or Application Gateway Keine integrierte UnterstützungNo built-in support Azure Load BalancerAzure Load Balancer
Skalierungslimit3Scale limit3 Plattformimage: 1.000 Knoten pro Skalierungsgruppe, benutzerdefiniertes Image: 600 Knoten pro SkalierungsgruppePlatform image: 1000 nodes per scale set, Custom image: 600 nodes per scale set 20 Instanzen, 100 mit App Service-Umgebung20 instances, 100 with App Service Environment 100 Knoten pro Skalierungsgruppe100 nodes per scale set 200 Instanzen pro Funktionen-App200 instances per Function app 100 Knoten pro Cluster (Standardgrenzwert)100 nodes per cluster (default limit) 20 Containergruppen pro Abonnement (Standardgrenzwert)20 container groups per subscription (default limit). 20 Kerne (Standardgrenzwert)20 core limit (default limit).

NotizenNotes

  1. Informationen finden Sie unter Automatisches Skalieren von Pods.See Autoscale pods.
  2. Informationen finden Sie unter Automatisches Skalieren eines Clusters zur Erfüllung von Anwendungsanforderungen in Azure Kubernetes Service (AKS).See Automatically scale a cluster to meet application demands on Azure Kubernetes Service (AKS).
  3. Weitere Informationen finden Sie unter Einschränkungen für Azure-Abonnements und Dienste, Kontingente und Einschränkungen.See Azure subscription and service limits, quotas, and constraints.

VerfügbarkeitAvailability

KriterienCriteria Virtual MachinesVirtual Machines App ServiceApp Service Service FabricService Fabric Azure-FunktionenAzure Functions Azure Kubernetes ServiceAzure Kubernetes Service Container InstancesContainer Instances Azure BatchAzure Batch
SLASLA SLA für Virtual MachinesSLA for Virtual Machines SLA für App ServiceSLA for App Service SLA für Service FabricSLA for Service Fabric SLA für FunctionsSLA for Functions SLA für AKSSLA for AKS SLA für Container InstancesSLA for Container Instances SLA für Azure BatchSLA for Azure Batch
Failover über mehrere RegionenMulti region failover Traffic ManagerTraffic manager Traffic ManagerTraffic manager Traffic Manager, regionsübergreifender ClusterTraffic manager, Multi-Region Cluster Azure Front DoorAzure Front Door Traffic ManagerTraffic manager Nicht unterstütztNot supported Nicht unterstütztNot Supported

Geführte Tutorials zu Servicegarantien finden Sie unter Core Cloud Services – Azure-Architektur und Servicegarantien.For guided learning on Service Guarantees, review Core Cloud Services - Azure architecture and service guarantees.

Andere KriterienOther criteria

KriterienCriteria Virtual MachinesVirtual Machines App ServiceApp Service Service FabricService Fabric Azure-FunktionenAzure Functions Azure Kubernetes ServiceAzure Kubernetes Service Container InstancesContainer Instances Azure BatchAzure Batch
SSLSSL In VM konfiguriertConfigured in VM UnterstütztSupported UnterstütztSupported UnterstütztSupported EingangscontrollerIngress controller Verwenden eines Sidecar-ContainersUse sidecar container UnterstütztSupported
KostenCost Windows, LinuxWindows, Linux App Service – PreiseApp Service pricing Service Fabric – PreiseService Fabric pricing Azure Functions – PreiseAzure Functions pricing AKS – PreiseAKS pricing Container Instances – PreiseContainer Instances pricing Azure Batch – PreiseAzure Batch pricing
Geeignete ArchitekturstileSuitable architecture styles n-schichtig, Big Compute (HPC)N-Tier, Big compute (HPC) Web-Warteschlange-Worker, n-schichtigWeb-Queue-Worker, N-Tier Microservices, ereignisgesteuerte ArchitekturMicroservices, Event-driven architecture Microservices, ereignisgesteuerte ArchitekturMicroservices, Event-driven architecture Microservices, ereignisgesteuerte ArchitekturMicroservices, Event-driven architecture Microservices, Automatisierung von Aufgaben, BatchaufträgeMicroservices, task automation, batch jobs Big Compute (HPC)Big compute (HPC)

Die Ausgabe dieses Flussdiagramms stellt einen Ausgangspunkt für Ihre Überlegungen dar.The output from this flowchart is a starting point for consideration. Führen Sie als Nächstes eine ausführlichere Auswertung des Diensts durch, um zu ermitteln, ob er Ihren Anforderungen entspricht.Next, perform a more detailed evaluation of the service to see if it meets your needs.

Grundlegendes zu den BasisfunktionenUnderstand the basic features

Wenn Sie mit dem im vorherigen Schritt ausgewählten Azure-Dienst nicht vertraut sind, lesen Sie einen der folgenden Übersichtsartikel:If you're not familiar with the Azure service selected in the previous step, read one of the following overview articles:

Abwägen von Grenzwerten und KostenConsider limits and cost

Führen Sie als Nächstes eine ausführlichere Auswertung der folgenden Aspekte des Diensts aus:Next, perform a more detailed evaluation, looking at the following aspects of the service:

Basierend auf dieser Analyse stellen Sie eventuell fest, dass der erste Kandidat nicht für Ihre spezifische Anwendung oder Workload geeignet ist.Based on this analysis, you may find that the initial candidate isn't suitable for your particular application or workload. Dehnen Sie in diesem Fall Ihre Analyse auf andere Computedienste aus.In that case, expand your analysis to include other compute services.

Nächste SchritteNext steps