Redigera

Dela via


Välj en Azure-beräkningstjänst

Azure App Service
Azure Kubernetes Service (AKS)

Azure erbjuder många sätt att vara värd för din programkod. Termen beräkning refererar till värdmodellen för de resurser som programmet körs på. Den här artikeln hjälper dig att välja en beräkningstjänst för ditt program.

Välj en kandidattjänst

Använd följande flödesschema för att välja en kandidatberäkningstjänst.

Diagram som visar ett beslutsträd för Azure-beräkningstjänster.

Ladda ned en Visio-fil i det här beslutsträdet.

Det här diagrammet refererar till två migreringsstrategier:

  • Lift and shift: En strategi för att migrera en arbetsbelastning till molnet utan att göra om programmet eller göra kodändringar. Det kallas även för rehosting. Mer information finns i Migrerings- och moderniseringscentret för Azure.
  • Molnoptimerad: En strategi för att migrera till molnet genom att omstrukturera ett program för att dra nytta av molnbaserade funktioner.

Utdata från det här flödesschemat är startpunkten. Utvärdera sedan tjänsten för att se om den uppfyller dina behov.

Den här artikeln innehåller flera tabeller som kan hjälpa dig att välja en tjänst. Den första kandidaten från flödesschemat kan vara olämplig för ditt program eller din arbetsbelastning. I så fall expanderar du analysen så att den inkluderar andra beräkningstjänster.

Om ditt program består av flera arbetsbelastningar utvärderar du varje arbetsbelastning separat. En komplett lösning kan innehålla två eller flera beräkningstjänster.

Förstå de grundläggande funktionerna

Om du inte är bekant med den Azure-tjänst som valdes i föregående avsnitt kan du läsa den här översiktsdokumentationen:

  • Azure Virtual Machines: En tjänst där du distribuerar och hanterar virtuella datorer i ett virtuellt Azure-nätverk.
  • Azure App Service: En hanterad tjänst för att hantera webbappar, mobilappens serverdelar, RESTful-API:er eller automatiserade affärsprocesser.
  • Azure Functions: En hanterad funktion som en tjänst.
  • Azure Kubernetes Service (AKS): En hanterad Kubernetes-tjänst för att köra containerbaserade program.
  • Azure Container Apps: En hanterad tjänst som bygger på Kubernetes, vilket förenklar distributionen av containerbaserade program i en serverlös miljö.
  • Azure Container Instances: Den här tjänsten är ett snabbt och enkelt sätt att köra en container i Azure. Du behöver inte etablera några virtuella datorer eller använda en tjänst på högre nivå.
  • Azure Red Hat OpenShift: Ett fullständigt hanterat OpenShift-kluster för att köra containrar i produktion med Kubernetes.
  • Azure Spring Apps: En hanterad tjänst som är utformad och optimerad för att vara värd för Spring Boot-appar.
  • Azure Service Fabric: En distribuerad systemplattform som kan köras i många miljöer, inklusive Azure eller lokalt.
  • Azure Batch: En hanterad tjänst för att köra storskaliga parallella och högpresterande databehandlingsprogram (HPC).

Förstå värdmodellerna

För värdmodeller finns molntjänster i tre kategorier:

  • Infrastruktur som en tjänst (IaaS): Låter dig etablera virtuella datorer tillsammans med associerade nätverks- och lagringskomponenter. Sedan kan du distribuera vilken programvara och vilka program du vill på de virtuella datorerna. Den här modellen är närmast en traditionell lokal miljö. Microsoft hanterar infrastrukturen. Du hanterar fortfarande de virtuella datorerna.

  • Plattform som en tjänst (PaaS): Tillhandahåller en hanterad värdmiljö där du kan distribuera ditt program utan att behöva hantera virtuella datorer eller nätverksresurser. Azure App Service och Azure Container Apps är PaaS-tjänster.

  • Funktioner som en tjänst (FaaS): Låter dig distribuera din kod till tjänsten, som automatiskt kör den. Azure Functions är en FaaS-tjänst.

    Kommentar

    Azure Functions är ett azure-serverlöst beräkningserbjudande. Mer information om hur den här tjänsten jämförs med andra serverlösa Azure-erbjudanden, till exempel Logic Apps, som tillhandahåller serverlösa arbetsflöden, finns i Välja rätt integrerings- och automatiseringstjänster i Azure.

Det finns ett spektrum från IaaS till ren PaaS. Virtuella Azure-datorer kan till exempel skalas automatiskt med hjälp av VM-skalningsuppsättningar. Den här funktionen är inte bara en PaaS, men det är den typ av hanteringsfunktion som finns i PaaS.

Det finns en kompromiss mellan kontroll och enkel hantering. IaaS ger mest kontroll, flexibilitet och portabilitet, men du måste etablera, konfigurera och hantera de virtuella datorer och nätverkskomponenter som du skapar. FaaS-tjänster hanterar automatiskt nästan alla aspekter av att köra ett program. PaaS faller någonstans däremellan.

Tjänst Programmets sammansättning Densitet Minsta antalet noder Tillståndshantering Webbvärd
Azure Virtual Machines Oberoende Oberoende 1 2 Tillståndslös eller tillståndskänslig Oberoende
Azure App Service Program, containrar Flera appar per instans med hjälp av App Service-plan 1 Tillståndslös Inbyggd
Azure Functions Funktioner, containrar Serverlös 1 Serverlös 1 Tillståndslös eller tillståndskänslig 6 Inte tillämpligt
Azure Kubernetes Service Containers Flera containrar per nod 3 3 Tillståndslös eller tillståndskänslig Oberoende
Azure Container Apps Containers Utan server Utan server Tillståndslös eller tillståndskänslig Oberoende
Azure Container Instances Containers Inga dedikerade instanser Inga dedikerade noder Tillståndslös Oberoende
Azure Red Hat OpenShift Containers Flera containrar per nod 6 5 Tillståndslös eller tillståndskänslig Oberoende
Azure Spring Apps Program, mikrotjänster Flera appar per tjänstinstans 2 Tillståndslös Inbyggd
Azure Service Fabric Tjänster, körbara gästfiler, containrar Flera tjänster per virtuell dator 5 3 Tillståndslös eller tillståndskänslig Oberoende
Azure Batch Schemalagda jobb Flera appar per virtuell dator 1 4 Tillståndslös Nej

Kommentar

  1. Om du använder en förbrukningsplan. För en App Service-plan körs funktioner på de virtuella datorer som allokerats för din App Service-plan. Se Välj rätt tjänstplan för Azure Functions.
  2. Högre serviceavtal (SLA) med två eller flera instanser.
  3. Rekommenderas för produktionsmiljöer.
  4. Kan skala ned till noll efter att jobbet har slutförts.
  5. Tre för primära noder och tre för arbetsnoder.
  6. När du använder Durable Functions.

Nätverk

Tjänst Virtual Network-integration Hybridanslutning
Azure Virtual Machines Stöds Stöds
Azure App Service Stöds 1 Stöds 2
Azure Functions Stöds 1 Stöds 3
Azure Kubernetes Service Stöds Stöds
Azure Container Apps Stöds Stöds
Azure Container Instances Stöds Stöds
Azure Red Hat OpenShift Stöds Stöds
Azure Spring Apps Stöds Stöds
Azure Service Fabric Stöds Stöds
Azure Batch Stöds Stöds

Kommentar

  1. Kräver App Service-miljö.
  2. Använd Azure App Service Hybrid-anslutningar.
  3. Kräver App Service-plan eller Azure Functions Premium-plan.

DevOps

Tjänst Lokal felsökning Programmeringsmodell Programuppdatering
Azure Virtual Machines Oberoende Oberoende Inget inbyggt stöd
Azure App Service IIS Express, andra 1 Webb- och API-program, webbjobb för bakgrundsuppgifter Distributionsfack
Azure Functions Visual Studio eller Azure Functions CLI Serverlös, händelsedriven Distributionsfack
Azure Kubernetes Service Minikube, Docker, andra Oberoende Löpande uppdatering
Azure Container Apps Körmiljö för lokal container Oberoende Revisionshantering
Azure Container Instances Körmiljö för lokal container Oberoende Inte tillämpligt
Azure Red Hat OpenShift Minikube, Docker, andra Oberoende Löpande uppdatering
Azure Spring Apps Visual Studio Code, Intellij, Eclipse Spring Boot, Steeltoe Löpande uppgradering, blågrön distribution
Azure Service Fabric Lokalt nodkluster Körbara gästfiler, tjänstemodell, aktörmodell, containrar Löpande uppgradering (per tjänst)
Azure Batch Stöds inte Kommandoradsprogram Inte tillämpligt

Kommentar

  1. Alternativen inkluderar IIS Express för ASP.NET eller node.js (iisnode), PHP-webbserver, Azure Toolkit for IntelliJ och Azure Toolkit for Eclipse. App Service har också stöd för fjärrfelsökning av distribuerad webbapp.

Skalbarhet

Tjänst Automatisk skalning Lastbalanserare Skalningsgräns3
Azure Virtual Machines Skalningsuppsättningar för virtuella datorer Azure Load Balancer Plattformsbild: 1 000 noder per skalningsuppsättning, Anpassad avbildning: 600 noder per skalningsuppsättning
Azure App Service Inbyggd tjänst Integrerat 30 instanser, 100 med App Service Environment
Azure Functions Inbyggd tjänst Integrerat 200 instanser per funktionsapp
Azure Kubernetes Service Autoskalning avpoddar 1, automatisk skalning avkluster 2 Azure Load Balancer eller Azure Application Gateway 5 000 noder när du använder serviceavtal för drifttid
Azure Container Apps Skalningsregler4 Integrerat 5 miljöer per region, 20 containerappar per miljö, 30 repliker per containerapp
Azure Container Instances Stöds inte Inget inbyggt stöd 20 containergrupper per prenumeration (standardgräns)
Azure Red Hat OpenShift Autoskalning av poddar, autoskalning av kluster Azure Load Balancer eller Azure Application Gateway 60 noder per kluster (standardgräns)
Azure Spring Apps Inbyggd tjänst Integrerat 500 appinstanser i Standard
Azure Service Fabric Skalningsuppsättningar för virtuella datorer Azure Load Balancer 100 noder per VM-skalningsuppsättning
Azure Batch Inte tillämpligt Azure Load Balancer 20 kärngräns (standardgräns)

Kommentar

  1. Se Autoskalningspoddar.
  2. Se Skala ett kluster automatiskt för att uppfylla programkraven på Azure Kubernetes Service.
  3. Se Azure-prenumerations - och tjänstgränser, kvoter och begränsningar.
  4. Se Ange skalningsregler i Azure Container Apps.

Tillgänglighet

Tjänst SLA Redundansväxling i flera regioner
Azure Virtual Machines SLA för Virtual Machines Azure Traffic Manager, Azure Front Door och Azure Load Balancer mellan regioner
Azure App Service SLA för App Service Azure Traffic Manager och Azure Front Door
Azure Functions SLA för Functions Azure Traffic Manager och Azure Front Door
Azure Kubernetes Service (AKS) Serviceavtal för AKS Azure Traffic Manager, Azure Front Door och Multiregion Cluster
Azure Container Apps Serviceavtal för Container Apps Azure Traffic Manager och Azure Front Door
Azure Container Instances Serviceavtal för containerinstanser Azure Traffic Manager och Azure Front Door
Azure Red Hat OpenShift Serviceavtal för Azure Red Hat OpenShift Azure Traffic Manager och Azure Front Door
Azure Spring Apps Serviceavtal för Azure Spring Apps Azure Traffic Manager, Azure Front Door och Multiregion Cluster
Azure Service Fabric SLA för Service Fabric Azure Traffic Manager, Azure Front Door och Azure Load Balancer mellan regioner
Azure Batch Serviceavtal för Batch Inte tillämpligt

Guidad utbildning om tjänstgarantier finns i Core Cloud Services – Azure-arkitektur och tjänstgarantier.

Säkerhet

Granska och förstå tillgängliga säkerhetskontroller och synlighet för varje tjänst:

Andra kriterier

Tjänst TLS Kostnad Lämpliga arkitekturstilar
Azure Virtual Machines Konfigurerad i virtuell dator Windows, Linux N-nivå, stor beräkning (HPC)
Azure App Service Stöds App Service -priser Web-queue-worker
Azure Functions Stöds Funktionspriser Mikrotjänster, händelsedriven arkitektur
Azure Kubernetes Service (AKS) Ingresskontrollant AKS-priser Mikrotjänster, händelsedriven arkitektur
Azure Container Apps Ingresskontrollant Prissättning för Container Apps Mikrotjänster, händelsedriven arkitektur
Azure Container Instances Använda sidovagnscontainer Prissättning för containerinstanser Mikrotjänster, uppgiftsautomatisering, batchjobb
Azure Red Hat OpenShift Stöds Prissättning för Azure Red Hat OpenShift Mikrotjänster, händelsedriven arkitektur
Azure Spring Apps Stöds Prissättning för Azure Spring Apps Spring Boot, mikrotjänster
Azure Service Fabric Stöds Prissättning för Service Fabric Mikrotjänster, händelsedriven arkitektur
Azure Batch Stöds Batch-priser Stor beräkning (HPC)

Överväg gränser och kostnader

Tillsammans med de tidigare jämförelsetabellerna gör du en mer detaljerad utvärdering av följande aspekter av kandidattjänsten:

Deltagare

Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare:

Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.

Nästa steg

Core Cloud Services – Azure-beräkningsalternativ. Den här Learn-modulen utforskar hur beräkningstjänster kan lösa vanliga affärsbehov.