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 tjänst som tillhandahåller hanterade funktioner som körs baserat på en mängd olika utlösartyper för händelsedrivna program.
- 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 enda container eller grupp med containrar i Azure. Azure Container Instances tillhandahåller inte fullständig containerorkestrering, men du kan implementera dem utan att behöva 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 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).
- Azure VMware Solution: En hanterad tjänst för att köra VMware-arbetsbelastningar internt i Azure.
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 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 |
Azure VMware-lösning | Oberoende | Oberoende | 3 7 | Tillståndslös eller tillståndskänslig | Oberoende |
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.
- Kräv minsta antal tre noder.
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 Service Fabric | Stöds | Stöds |
Azure Batch | Stöds | Stöds |
Azure VMware-lösning | Stöds | Stöds |
Kommentar
- Kräver App Service-miljön.
- 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 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 |
Azure VMware-lösning | Oberoende | Oberoende | Inget inbyggt stöd |
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-miljön |
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 | 15 miljöer per region (standardgräns), obegränsade containerappar per miljö och repliker per containerapp (beroende på tillgängliga kärnor) |
Azure Container Instances | Stöds inte | Inget inbyggt stöd | 100 containergrupper per prenumeration (standardgräns) |
Azure Red Hat OpenShift | Autoskalning av poddar, autoskalning av kluster | Azure Load Balancer eller Azure Application Gateway | 250 noder per kluster (standardgräns) |
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 | Kärngräns på 900 dedikerade och 100 lågprioritet (standardgräns) |
Azure VMware-lösning | Inbyggd tjänst5 | Integrerad6 | Per VMware vCenter kan hantera mellan 3 ~ 16 VMware ESXi-värdar |
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.
- Se Skala en Azure VMware-lösning.
- Se VMware NSX-.
Tillgänglighet
Tjänst | Redundansalternativ för flera regioner |
---|---|
Azure Virtual Machines | Azure Traffic Manager, Azure Front Door och Azure Load Balancer mellan regioner |
Azure App Service | Azure Traffic Manager och Azure Front Door |
Azure Functions | Azure Traffic Manager och Azure Front Door |
Azure Kubernetes Service (AKS) | Azure Traffic Manager, Azure Front Door och Multiregion Cluster |
Azure Container Apps | Azure Traffic Manager och Azure Front Door |
Azure Container Instances | Azure Traffic Manager och Azure Front Door |
Azure Red Hat OpenShift | Azure Traffic Manager och Azure Front Door |
Azure Service Fabric | Azure Traffic Manager, Azure Front Door och Azure Load Balancer mellan regioner |
Azure Batch | Inte tillämpligt |
Azure VMware-lösning | 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 Service Fabric
- Azure Batch
- Azure VMware Solution
Andra kriterier
Ö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.