Scegliere un servizio di calcolo di Azure
Azure offre molti modi per ospitare il codice dell'applicazione. The term compute refers to the hosting model for the resources that your application runs on. Questo articolo illustra come scegliere un servizio di calcolo per l'applicazione.
Usare il diagramma di flusso seguente per selezionare un servizio di calcolo candidato.
Scaricare un file di Visio dell'albero delle decisioni.
Questo diagramma si riferisce a due strategie di migrazione:
- Trasferimento in modalità lift-and-shift: strategia per la migrazione di un carico di lavoro al cloud senza riprogettare l'applicazione o apportare modifiche al codice. It's also called rehosting. Per altre informazioni, vedere Centro di migrazione e modernizzazione di Azure.
- Cloud optimized: A strategy for migrating to the cloud by refactoring an application to take advantage of cloud-native features and capabilities.
L'output di questo diagramma di flusso è il punto di partenza. Valutare quindi il servizio per verificare se soddisfa le proprie esigenze.
Questo articolo include diverse tabelle che consentono di scegliere un servizio. Il candidato iniziale dal diagramma di flusso potrebbe non essere adatto per l'applicazione o il carico di lavoro. In tal caso, espandere l'analisi per includere altri servizi di calcolo.
Se l'applicazione è costituita da più carichi di lavoro, valutare ogni carico di lavoro separatamente. Una soluzione completa può incorporare due o più servizi di calcolo.
Se non si ha familiarità con il servizio di Azure selezionato nella sezione precedente, vedere questa documentazione di panoramica:
- Azure Macchine virtuali: servizio in cui si distribuiscono e si gestiscono macchine virtuali all'interno di una rete virtuale di Azure.
- servizio app Azure: servizio gestito per l'hosting di app Web, back-end di app per dispositivi mobili, API RESTful o processi aziendali automatizzati.
- Azure Functions: A service that provides managed functions that run based on a variety of trigger types for event-driven applications.
- servizio Azure Kubernetes (servizio Azure Kubernetes): servizio Kubernetes gestito per l'esecuzione di applicazioni in contenitori.
- App Azure Container: un servizio gestito basato su Kubernetes, che semplifica la distribuzione di applicazioni in contenitori in un ambiente serverless.
- istanze di Azure Container: questo servizio è un modo semplice e rapido per eseguire un singolo contenitore o gruppo di contenitori in Azure. Istanze di Azure Container non fornisce l'orchestrazione completa dei contenitori, ma è possibile implementarle senza dover effettuare il provisioning di macchine virtuali o adottare un servizio di livello superiore.
- Azure Red Hat OpenShift: un cluster OpenShift completamente gestito per l'esecuzione di contenitori in produzione con Kubernetes.
- Azure Service Fabric: piattaforma di sistemi distribuiti che può essere eseguita in molti ambienti, tra cui Azure o locale.
- Azure Batch: A managed service for running large-scale parallel and high-performance computing (HPC) applications.
- soluzione Azure VMware: servizio gestito per l'esecuzione di carichi di lavoro VMware in modo nativo in Azure.
Per i modelli di hosting, i servizi cloud rientrano in tre categorie:
Infrastruttura distribuita come servizio (IaaS): consente di effettuare il provisioning di macchine virtuali insieme ai componenti di rete e archiviazione associati. È quindi possibile distribuire il software e le applicazioni desiderate in tali macchine virtuali. Questo modello è il più vicino a un ambiente locale tradizionale. Microsoft gestisce l'infrastruttura. Le macchine virtuali vengono comunque gestite.
Piattaforma distribuita come servizio (PaaS): fornisce un ambiente di hosting gestito in cui è possibile distribuire l'applicazione senza dover gestire le macchine virtuali o le risorse di rete. app Azure Servizio e App Azure Container sono servizi PaaS.
Funzioni come servizio (FaaS): consente di distribuire il codice nel servizio, che lo esegue automaticamente. Funzioni di Azure è un servizio FaaS.
Nota
Azure Functions is an Azure serverless compute offering. Per informazioni sul confronto di questo servizio con altre offerte serverless di Azure, ad esempio App per la logica, che fornisce flussi di lavoro serverless, vedere Scegliere i servizi di integrazione e automazione corretti in Azure.
C'è uno spettro da IaaS a PaaS puro. Ad esempio, le macchine virtuali di Azure possono essere ridimensionate automaticamente usando i set di scalabilità di macchine virtuali. Questa funzionalità non è strettamente paaS, ma è il tipo di funzionalità di gestione disponibile in PaaS.
C'è un compromesso tra il controllo e la facilità di gestione. IaaS offre il massimo controllo, flessibilità e portabilità, ma è necessario effettuare il provisioning, configurare e gestire le macchine virtuali e i componenti di rete creati. I servizi FaaS gestiscono automaticamente quasi tutti gli aspetti dell'esecuzione di un'applicazione. PaaS cade da qualche parte tra.
Service | Application composition | Density | Numero minimo di nodi | State management | Web hosting |
---|---|---|---|---|---|
Macchine virtuali di Azure | Agnostic | Agnostic | 1 2 | Senza stato o con stato | Agnostic |
Servizio app di Azure | Applications, containers | Più app per istanza usando servizio app piano | 1 | Stateless | Built in |
Azure Functions | Functions, containers | Serverless 1 | Serverless 1 | Stateless or stateful 6 | Not applicable |
Servizio Azure Kubernetes | Containers | Più contenitori per nodo | 3 3 | Senza stato o con stato | Agnostic |
App contenitore di Azure | Containers | Serverless | Serverless | Senza stato o con stato | Agnostic |
Istanze di Azure Container | Containers | Nessuna istanza dedicata | Nessun nodo dedicato | Stateless | Agnostic |
Azure Red Hat OpenShift | Containers | Più contenitori per nodo | 6 5 | Senza stato o con stato | Agnostic |
Azure Service Fabric | Servizi, eseguibili guest, contenitori | Più servizi per VM | 5 3 | Senza stato o con stato | Agnostic |
Azure Batch | Scheduled jobs | Più app per VM | 1 4 | Stateless | No |
Soluzione Azure VMware | Agnostic | Agnostic | 3 7 | Senza stato o con stato | Agnostic |
Notes
- Se si usa un piano a consumo. Per un piano di servizio app, le funzioni vengono eseguite nelle macchine virtuali allocate per il piano di servizio app. Vedere Scegliere il piano di servizio corretto per Funzioni di Azure.
- Contratto di servizio (SLA) superiore con due o più istanze.
- Consigliato per ambienti di produzione.
- Possibile riduzione fino a zero dopo il completamento del processo.
- Tre per i nodi primari e tre per i nodi di lavoro.
- Quando si usano Durable Functions.
- Richiedi il numero minimo di tre nodi.
Service | Integrazione della rete virtuale | Hybrid connectivity |
---|---|---|
Macchine virtuali di Azure | Supported | Supported |
Servizio app di Azure | Supported 1 | Supported 2 |
Azure Functions | Supported 1 | Supported 3 |
Servizio Azure Kubernetes | Supported | Supported |
App contenitore di Azure | Supported | Supported |
Istanze di Azure Container | Supported | Supported |
Azure Red Hat OpenShift | Supported | Supported |
Azure Service Fabric | Supported | Supported |
Azure Batch | Supported | Supported |
Soluzione Azure VMware | Supported | Supported |
Notes
- Richiede l'ambiente del servizio app o un piano tariffario di calcolo dedicato.
- Usare le connessioni ibride del servizio app di Azure.
- Richiede servizio app piano o Funzioni di Azure piano Premium.
Service | Local debugging | Programming model | Application update |
---|---|---|---|
Macchine virtuali di Azure | Agnostic | Agnostic | Nessun supporto integrato |
Servizio app di Azure | IIS Express, others 1 | Applicazioni Web e API, processi Web per attività in background | Deployment slots |
Azure Functions | Visual Studio o interfaccia della riga di comando di Funzioni di Azure | Serverless, event-driven | Deployment slots |
Servizio Azure Kubernetes | Minikube, Docker, altri | Agnostic | Rolling update |
App contenitore di Azure | Runtime del contenitore locale | Agnostic | Revision management |
Istanze di Azure Container | Runtime del contenitore locale | Agnostic | Not applicable |
Azure Red Hat OpenShift | Minikube, Docker, altri | Agnostic | Rolling update |
Azure Service Fabric | Cluster a nodi locali | Eseguibile guest, modello del servizio, modello Actor, contenitori | Aggiornamento in sequenza (per servizio) |
Azure Batch | Not supported | Command-line application | Not applicable |
Soluzione Azure VMware | Agnostic | Agnostic | Nessun supporto integrato |
Notes
- Le opzioni includono IIS Express per ASP.NET o node.js (iisnode), server Web PHP, Azure Toolkit for IntelliJ e Azure Toolkit for Eclipse. Servizio app supporta anche il debug remoto dell'app Web distribuita.
Service | Autoscaling | Load balancer | Scale limit3 |
---|---|---|---|
Macchine virtuali di Azure | Set di scalabilità di macchine virtuali | Bilanciatore di carico Azure | Immagine della piattaforma: 1.000 nodi per set di scalabilità, Immagine personalizzata: 600 nodi per set di scalabilità |
Servizio app di Azure | Built-in service | Integrated | 30 istanze, 100 con ambiente del servizio app |
Azure Functions | Built-in service | Integrated | 200 istanze per app per le funzioni |
Servizio Azure Kubernetes | Pod autoscaling1, cluster autoscaling2 | Azure Load Balancer o gateway di app Azure lication | 5,000 nodes when using Uptime SLA |
App contenitore di Azure | Scaling rules4 | Integrated | 15 ambienti per area (limite predefinito), app per contenitori illimitate per ambiente e repliche per app contenitore (a seconda dei core disponibili) |
Istanze di Azure Container | Not supported | Nessun supporto integrato | 100 gruppi di contenitori per sottoscrizione (limite predefinito) |
Azure Red Hat OpenShift | Scalabilità automatica dei pod, scalabilità automatica del cluster | Azure Load Balancer o gateway di app Azure lication | 250 nodi per cluster (limite predefinito) |
Azure Service Fabric | Set di scalabilità di macchine virtuali | Bilanciatore di carico Azure | 100 nodi per set di scalabilità di macchine virtuali |
Azure Batch | Not applicable | Bilanciatore di carico Azure | Limite core di 900 dedicato e 100 priorità bassa (limite predefinito) |
Soluzione Azure VMware | Built-in service5 | Integrated6 | Per VMware vCenter può gestire tra 3 ~ 16 host VMware ESXi |
Notes
- Vedere Scalabilità automatica dei pod.
- Vedere Ridimensionare automaticamente un cluster per soddisfare le esigenze delle applicazioni su servizio Azure Kubernetes.
- Vedere Sottoscrizione di Azure e limiti, quote e vincoli dei servizi.
- Vedere Impostare le regole di ridimensionamento in App Azure Container.
- Vedere Ridimensionare una soluzione Azure VMware.
- Vedere VMware NSX.
Service | Opzione di failover su più aree |
---|---|
Macchine virtuali di Azure | Gestione traffico di Azure, Frontdoor di Azure e tra aree di Azure Load Balancer |
Servizio app di Azure | Gestione traffico di Azure e Frontdoor di Azure |
Azure Functions | Gestione traffico di Azure e Frontdoor di Azure |
Servizio Azure Kubernetes (AKS) | Gestione traffico di Azure, frontdoor di Azure e cluster multiregione |
App contenitore di Azure | Gestione traffico di Azure e Frontdoor di Azure |
Istanze di Azure Container | Gestione traffico di Azure e Frontdoor di Azure |
Azure Red Hat OpenShift | Gestione traffico di Azure e Frontdoor di Azure |
Azure Service Fabric | Gestione traffico di Azure, Frontdoor di Azure e tra aree di Azure Load Balancer |
Azure Batch | Not applicable |
Soluzione Azure VMware | Not applicable |
Per informazioni guidate sulle garanzie del servizio, vedere Core Servizi cloud - Azure architecture and service guarantees (Architettura e garanzie del servizio di Azure).
Esaminare e comprendere i controlli di sicurezza e la visibilità disponibili per ogni servizio:
- Macchina virtuale Windows di Azure
- Macchina virtuale Linux di Azure
- Servizio app di Azure
- Azure Functions
- Servizio Azure Kubernetes
- Istanze di Azure Container
- App azure Container
- Azure Service Fabric
- Azure Batch
- della soluzione Azure VMware
Service | TLS | Cost | Stili di architettura adatti |
---|---|---|---|
Macchine virtuali di Azure | Configurato in VM | Windows, Linux | N-tier, big compute (HPC) |
Servizio app di Azure | Supported | Prezzi di Servizio app | Web-queue-worker |
Azure Functions | Supported | Functions pricing | Microservices, event-driven architecture |
Servizio Azure Kubernetes (AKS) | Ingress controller | AKS pricing | Microservices, event-driven architecture |
App contenitore di Azure | Ingress controller | Prezzi di App contenitore | Microservices, event-driven architecture |
Istanze di Azure Container | Use sidecar container | Prezzi di Istanze di Container | Microservices, task automation, batch jobs |
Azure Red Hat OpenShift | Supported | Prezzi di Azure Red Hat OpenShift | Microservices, event-driven architecture |
Azure Service Fabric | Supported | Prezzi di Service Fabric | Microservices, event-driven architecture |
Azure Batch | Supported | Batch pricing | Big compute (HPC) |
Soluzione Azure VMware | Configurato in VM | dei prezzi della soluzione Azure VMware | Carico di lavoro della macchina virtuale basato sul formato VMware |
Insieme alle tabelle di confronto precedenti, eseguire una valutazione più dettagliata degli aspetti seguenti del servizio candidato:
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori:
- Ayobami Ayodeji | Senior Program Manager
- Jelle Druyts | Principal Service Engineer
- Martin Gjoshevski | Senior Service Engineer
- Phil Huang | Senior Cloud Solution Architect
- Julie Ng | Senior Service Engineer
- Paolo Salvatori | Principal Service Engineer
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Core Servizi cloud : opzioni di calcolo di Azure. Questo modulo Learn illustra in che modo i servizi di calcolo possono risolvere le esigenze aziendali comuni.