Een Azure Compute-service voor uw toepassing kiezen

Azure biedt een aantal manieren om uw toepassingscode te hosten. De term compute verwijst naar het hostingmodel voor de computing-resources waarmee uw toepassing wordt uitgevoerd. Het volgende stroomdiagram helpt u bij het kiezen van een rekenservice voor uw toepassing.

Als uw toepassing uit meerdere workloads bestaat, evalueert u elke workload afzonderlijk. Een volledige oplossing kan twee of meer rekenservices bevatten.

Een kandidaatservice kiezen

Gebruik het volgende stroomdiagram om een geschikte rekenservice te selecteren.

Beslissingsstructuur voor Azure Compute-services

Definities:

  • 'Lift-and-shift' is een strategie voor het migreren van een workload naar de cloud zonder de toepassing opnieuw te ontwerpen of codewijzigingen aan te brengen. Wordt ook wel opnieuw hosten genoemd. Zie Azure migration and modernization center (Azure-migratie en -moderniseringscentrum) voor meer informatie.
  • Geoptimaliseerd voor de cloud is een strategie voor migratie naar de cloud door een toepassing te herfactoreren om te profiteren van cloudeigen functies en mogelijkheden.

De uitvoer van dit stroomdiagram is een beginpunt om rekening mee te houden. Voer vervolgens een gedetailleerdere evaluatie van de service uit om te zien of deze aan uw behoeften voldoet.

Dit artikel bevat verschillende tabellen die u kunnen helpen bij het nemen van deze afwegingen. Op basis van deze analyse kunt u zien dat de eerste kandidaat niet geschikt is voor uw specifieke toepassing of workload. Vouw in dat geval uw analyse uit met andere rekenservices.

Notitie

Meer informatie over het beoordelen van uw compute-vereisten voor cloudgebruik, in de Microsoft Cloud Adoption Framework for Azure.

De basisfuncties begrijpen

Als u niet bekend bent met de Azure-service die u in de vorige stap hebt geselecteerd, leest u de overzichtsdocumentatie voor meer informatie over de basisprincipes van de service.

  • App Service. Een beheerde service voor het hosten van web-apps, back-ends van mobiele apps, RESTful API's of geautomatiseerde bedrijfsprocessen.
  • Azure Spring Cloud. Een beheerde service die is ontworpen en geoptimaliseerd voor het hosten van Spring Boot apps.
  • Azure Kubernetes Service (AKS). Een beheerde Kubernetes-service voor het uitvoeren van toepassingen in containers.
  • Batch. Een beheerde service voor het uitvoeren van grootschalige parallelle en HPC-toepassingen (High Performance Computing)
  • Container Instances. De snelste en eenvoudigste manier om een container in Azure uit te voeren, zonder dat u virtuele machines moet inrichten en zonder dat u een service op een hoger niveau moet gebruiken.
  • Functies. Een beheerde FaaS-service.
  • Service Fabric. Een platform voor gedistribueerde systemen dat kan worden uitgevoerd in veel omgevingen, waaronder Azure of on-premises.
  • Virtuele machines. Virtuele machines in een virtueel Azure-netwerk implementeren en beheren.

Inzicht in de hostingmodellen

Cloudservices, waaronder Azure-services, kunnen doorgaans worden onderverdeeld in drie categorieën: IaaS, PaaS of FaaS. (Er is ook SaaS, software als een dienst, die buiten het bereik van dit artikel valt.) Het is handig om de verschillen te begrijpen.

Met Infrastructure-as-a-Service (IaaS) kunt u afzonderlijke VM's inrichten, samen met de bijbehorende netwerk- en opslagonderdelen. Vervolgens implementeert u de gewenste software en toepassingen op deze virtuele machines. Dit model komt het dichtst bij een traditionele on-premises-omgeving, afgezien van het feit dat Microsoft de infrastructuur beheert. U beheert wel zelf de afzonderlijke virtuele machines.

PaaS (Platform-as-a-Service) biedt een beheerde hostomgeving, waarin u uw toepassing kunt implementeren zonder dat u virtuele machines of netwerkresources hoeft te beheren. Azure App Service is een PaaS-service.

Met FaaS (Functions-as-a-Service) hoeft u zich nog minder zorgen te maken over de hostingomgeving. In een FaaS-model implementeert u gewoon uw code en wordt deze automatisch uitgevoerd door de service. Azure Functions is een FaaS-service.

Notitie

Azure Functions is een serverloze Compute-aanbieding van Azure. U kunt De juiste integratie- en automatiseringsservices in Azure kiezen lezen om te weten hoe deze service zich verhoudt tot andere serverloze azure-aanbiedingen, zoals Logic Apps die serverloze werkstromen biedt.

Er is een spectrum van IaaS tot pure PaaS. Azure-VM's kunnen bijvoorbeeld automatisch schalen met behulp van virtuele-machineschaalsets. Deze mogelijkheid voor automatisch schalen is niet strikt PaaS, maar het is het type beheerfunctie dat in PaaS-services wordt gevonden.

Over het algemeen is er een balans tussen controle en beheergemak. IaaS biedt de meeste controle, flexibiliteit en draagbaarheid, maar u moet de VM's en netwerkonderdelen die u maakt inrichten, configureren en beheren. FaaS-services beheren automatisch bijna alle aspecten van het uitvoeren van een toepassing. PaaS-services vallen ergens tussenin.

Criteria Virtual Machines App Service Azure Spring Cloud Service Fabric Azure Functions Azure Kubernetes Service Container Instances Azure Batch
Samenstelling van toepassing Agnostisch Toepassingen, containers Toepassingen, microservices Services, door gasten uitvoerbare bestanden, containers Functions Containers Containers Geplande jobs
Dichtheid Agnostisch Meerdere apps per exemplaar via App Service-plannen Meerdere apps per service-exemplaar Meerdere services per VM Serverloos 1 Meerdere containers per knooppunt Geen toegewezen exemplaren Meerdere apps per VM
Minimum aantal knooppunten 1 2 1 2 5 3 Serverloos 1 3 3 Geen toegewezen knooppunten 1 4
Statusbeheer Stateless of stateful Stateless Stateless Stateless of stateful Stateless Stateless of stateful Stateless Stateless
Webhosting Agnostisch Ingebouwd Ingebouwd Agnostisch Niet van toepassing Agnostisch Agnostisch No
Implementatie met toegewezen VNet mogelijk? Ondersteund Ondersteund5 Ondersteund Ondersteund Ondersteund 5 Ondersteund Ondersteund Ondersteund
Hybride connectiviteit Ondersteund Ondersteund 6 Ondersteund Ondersteund Ondersteund 7 Ondersteund Niet ondersteund Ondersteund

Notities

  1. Als u een verbruiksplan gebruikt. Als u een App Service gebruikt, worden functies uitgevoerd op de VM's die zijn toegewezen voor uw App Service abonnement. Zie Het juiste serviceplan kiezen voor Azure Functions.
  2. Hogere SLA met twee of meer exemplaren.
  3. Aanbevolen voor productieomgevingen.
  4. Terugschalen naar nul na voltooiing van de taak is mogelijk.
  5. App Service Environment (ASE) vereist.
  6. Gebruik Azure App Service hybride verbindingen.
  7. Vereist App Service abonnement of Azure Functions Premium abonnement.

DevOps

Criteria Virtual Machines App Service Azure Spring Cloud Service Fabric Azure Functions Azure Kubernetes Service Container Instances Azure Batch
Lokale foutopsporing Agnostisch IIS Express, overige 1 Visual Studio Code, Intellij, Eclipse Lokaal knooppuntcluster Visual Studio cli Azure Functions cli Minikube, overige Lokale container-runtime Niet ondersteund
Programmeermodel Agnostisch Web- en API-toepassingen, WebJobs voor achtergrondtaken Spring Boot, Steeltoe Door gasten uitvoerbare bestanden, servicemodel, actormodel, containers Functies met triggers Agnostisch Agnostisch Opdrachtregeltoepassing
Toepassingsupdate Geen ingebouwde ondersteuning Implementatiesites Rolling upgrade, blauw-groene implementatie Rolling upgrade (per service) Implementatiesites Rolling update Niet van toepassing

Notities

  1. Opties zijn IIS Express voor ASP.NET of node.js (iisnode); PHP-webserver; Azure Toolkit voor IntelliJ, Azure Toolkit voor Eclipse. App Service biedt ook ondersteuning voor externe debugging van geïmplementeerde web-apps.
  2. Zie Resource Manager providers, regio's, API-versies en schema's.

Schaalbaarheid

Criteria Virtual Machines App Service Azure Spring Cloud Service Fabric Azure Functions Azure Kubernetes Service Container Instances Azure Batch
Automatisch schalen Virtuele-machineschaalsets Ingebouwde service Ingebouwde service Virtuele-machineschaalsets Ingebouwde service Automatisch schalen van pods 1, automatisch schalen van clusters 2 Niet ondersteund N.v.t.
Load balancer Azure Load Balancer Geïntegreerd Geïntegreerd Azure Load Balancer Geïntegreerd Azure Load Balancer of Application Gateway Geen ingebouwde ondersteuning Azure Load Balancer
Schaallimiet3 Platformafbeelding: 1000 knooppunten per schaalset, aangepaste afbeelding: 600 knooppunten per schaalset 30 exemplaren, 100 met App Service Environment 500 app-exemplaren in Standard 100 knooppunten per schaalset 200 exemplaren per functie-app 100 knooppunten per cluster (standaardlimiet) 20 containergroepen per abonnement (standaardlimiet). Limiet van 20 kernen (standaardlimiet).

Notities

  1. Zie Pods automatisch schalen.
  2. Zie Een cluster automatisch schalen om te voldoen aan de toepassingsvraag op Azure Kubernetes Service (AKS).
  3. Zie Azure subscription and service limits, quotas, and constraints (Limieten, quota's en beperkingen voor Azure-abonnementen en -service).

Beschikbaarheid

Criteria Virtual Machines App Service Azure Spring Cloud Service Fabric Azure Functions Azure Kubernetes Service Container Instances Azure Batch
SLA SLA voor virtuele machines SLA voor App Service SLA voor Azure Spring Cloud SLA voor Service Fabric SLA voor Functions SLA voor AKS SLA voor Container Instances SLA voor Azure Batch
Failover meerdere regio's Traffic Manager Traffic Manager Traffic Manager, cluster met meerdere regio's Azure Front Door Traffic Manager Niet ondersteund Niet ondersteund

Bekijk Core Cloud Services - Azure-architectuur en -servicegaranties voor begeleide leerprocessen over servicegaranties.

Beveiliging

Bekijk en begrijp de beschikbare beveiligingscontroles en zichtbaarheid voor elke service

Andere criteria

Criteria Virtual Machines App Service App Spring Cloud Service Fabric Azure Functions Azure Kubernetes Service Container Instances Azure Batch
SSL Geconfigureerd in VM Ondersteund Ondersteund Ondersteund Ondersteund Controller voor ingress Sidecar-container gebruiken Ondersteund
Kosten Windows, Linux Prijzen van App Service Azure Spring Cloud prijzen Service Fabric-prijzen Azure Functions-prijzen AKS-prijzen Container Instances prijzen Azure Batch-prijzen
Geschikte architectuurstijlen N-Tier, Big Compute (HPC) Web-Queue-Worker, N-Tier Spring Boot, Microservices Microservices, gebeurtenisgestuurde architectuur Microservices, gebeurtenisgestuurde architectuur Microservices, gebeurtenisgestuurde architectuur Microservices,taakautomatisering, batchtaken Big Compute (HPC)

De uitvoer van dit stroomdiagram is een beginpunt om rekening mee te houden. Voer vervolgens een gedetailleerdere evaluatie van de service uit om te zien of deze aan uw behoeften voldoet.

Limieten en kosten overwegen

Voer een gedetailleerdere evaluatie uit met de volgende aspecten van de service:

Volgende stappen