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.
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
- 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.
- Högre serviceavtal (SLA) med två eller flera instanser.
- Rekommenderas för produktionsmiljöer.
- Kan skala ned till noll efter att jobbet har slutförts.
- Tre för primära noder och tre för arbetsnoder.
- 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
- Kräver App Service-miljö.
- Använd Azure App Service Hybrid-anslutningar.
- 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
- 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
- Se Autoskalningspoddar.
- Se Skala ett kluster automatiskt för att uppfylla programkraven på Azure Kubernetes Service.
- Se Azure-prenumerations - och tjänstgränser, kvoter och begränsningar.
- 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:
- Virtuell Azure Windows-dator
- Virtuell Azure Linux-dator
- Azure App Service
- Azure Functions
- Azure Kubernetes Service
- Azure Container Instances
- Azure Spring Apps
- Azure Service Fabric
- Azure Batch
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:
- Ayobami Ayodeji | Senior Program Manager
- Jelle Druyts | Huvudtjänsttekniker
- Martin Gjoshevski | Senior Service Engineer
- Phil Huang | Senior Cloud Solution Architect
- Julie Ng | Senior Service Engineer
- Paolo Salvatori | Huvudtjänsttekniker
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.