Azure offre molti modi per ospitare il codice dell'applicazione. Il termine calcolo si riferisce al modello di hosting per le risorse in cui viene eseguita l'applicazione. Questo articolo illustra come scegliere un servizio di calcolo per l'applicazione.
Scegliere un servizio candidato
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. Si chiama anche rehosting. Per altre informazioni, vedere Centro di migrazione e modernizzazione di Azure.
- Ottimizzato per il cloud: strategia per la migrazione al cloud effettuando il refactoring di un'applicazione per sfruttare le funzionalità e le funzionalità native del cloud.
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.
Comprendere le funzionalità di base
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.
- Funzioni di Azure: funzione gestita come servizio.
- 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 contenitore in Azure. Non è necessario 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.
- App Spring di Azure: un servizio gestito progettato e ottimizzato per l'hosting di app Spring Boot.
- Azure Service Fabric: piattaforma di sistemi distribuiti che può essere eseguita in molti ambienti, tra cui Azure o locale.
- Azure Batch: servizio gestito per l'esecuzione di applicazioni parallele e HPC (High Performance Computing) su larga scala.
Informazioni sui modelli di hosting
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
Funzioni di Azure è un Offerta di calcolo serverless di Azure. 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 | Composizione dell'applicazione | Densità | Numero minimo di nodi | Gestione dello stato | Hosting Web |
---|---|---|---|---|---|
Macchine virtuali di Azure | Agnostico | Agnostico | 1 2 | Senza stato o con stato | Agnostico |
Servizio app di Azure | Applicazioni, contenitori | Più app per istanza usando servizio app piano | 1 | Senza stato | Predefinito |
Funzioni di Azure | Funzioni, contenitori | Senza server 1 | Senza server 1 | Senza stato o con stato 6 | Non applicabile |
Servizio Azure Kubernetes | Contenitori | Più contenitori per nodo | 3 3 | Senza stato o con stato | Agnostico |
App contenitore di Azure | Contenitori | Senza server | Senza server | Senza stato o con stato | Agnostico |
Istanze di Azure Container | Contenitori | Nessuna istanza dedicata | Nessun nodo dedicato | Senza stato | Agnostico |
Azure Red Hat OpenShift | Contenitori | Più contenitori per nodo | 6 5 | Senza stato o con stato | Agnostico |
Azure Spring Apps | Applicazioni, microservizi | Più app per istanza del servizio | 2 | Senza stato | Predefinito |
Azure Service Fabric | Servizi, eseguibili guest, contenitori | Più servizi per VM | 5 3 | Senza stato o con stato | Agnostico |
Azure Batch | Processi pianificati | Più app per VM | 1 4 | Senza stato | No |
Note
- 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.
Rete
Service | Integrazione della rete virtuale | Connettività ibrida |
---|---|---|
Macchine virtuali di Azure | Supportata | Supportata |
Servizio app di Azure | Supportato 1 | Supportato 2 |
Funzioni di Azure | Supportato 1 | Supportato 3 |
Servizio Azure Kubernetes | Supportata | Supportata |
App contenitore di Azure | Supportata | Supportata |
Istanze di Azure Container | Supportata | Supportata |
Azure Red Hat OpenShift | Supportata | Supportata |
Azure Spring Apps | Supportata | Supportata |
Azure Service Fabric | Supportata | Supportata |
Azure Batch | Supportata | Supportata |
Note
- Richiede ambiente del servizio app.
- Usare le connessioni ibride del servizio app di Azure.
- Richiede servizio app piano o Funzioni di Azure piano Premium.
DevOps
Service | Debug locale | Modello di programmazione | Aggiornamento dell'applicazione |
---|---|---|---|
Macchine virtuali di Azure | Agnostico | Agnostico | Nessun supporto integrato |
Servizio app di Azure | IIS Express, altri1 | Applicazioni Web e API, processi Web per attività in background | Slot di distribuzione |
Funzioni di Azure | Visual Studio o interfaccia della riga di comando di Funzioni di Azure | Serverless, guidato dagli eventi | Slot di distribuzione |
Servizio Azure Kubernetes | Minikube, Docker, altri | Agnostico | Aggiornamento in sequenza |
App contenitore di Azure | Runtime del contenitore locale | Agnostico | Gestione delle revisioni |
Istanze di Azure Container | Runtime del contenitore locale | Agnostico | Non applicabile |
Azure Red Hat OpenShift | Minikube, Docker, altri | Agnostico | Aggiornamento in sequenza |
Azure Spring Apps | Visual Studio Code, Intellij, Eclipse | Spring Boot, Steeltoe | Aggiornamento in sequenza, distribuzione blu-verde |
Azure Service Fabric | Cluster a nodi locali | Eseguibile guest, modello del servizio, modello Actor, contenitori | Aggiornamento in sequenza (per servizio) |
Azure Batch | Non supportato | Applicazione da riga di comando | Non applicabile |
Note
- 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.
Scalabilità
Service | Scalabilità automatica | Bilanciamento del carico | Limite di scalabilità3 |
---|---|---|---|
Macchine virtuali di Azure | set di scalabilità di macchine virtuali | Azure Load Balancer | Immagine della piattaforma: 1.000 nodi per set di scalabilità, Immagine personalizzata: 600 nodi per set di scalabilità |
Servizio app di Azure | Servizio integrato | Integrato | 30 istanze, 100 con ambiente del servizio app |
Funzioni di Azure | Servizio integrato | Integrato | 200 istanze per app per le funzioni |
Servizio Azure Kubernetes | Scalabilitàautomatica dei pod 1, scalabilità automatica delcluster 2 | Azure Load Balancer o gateway di app Azure lication | 5.000 nodi quando si usa il contratto di servizio tempo di attività |
App contenitore di Azure | Regoledi ridimensionamento 4 | Integrato | 5 ambienti per area, 20 app contenitore per ambiente, 30 repliche per app contenitore |
Istanze di Azure Container | Non supportato | Nessun supporto integrato | 20 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 | 60 nodi per cluster (limite predefinito) |
Azure Spring Apps | Servizio integrato | Integrato | 500 istanze di app in Standard |
Azure Service Fabric | set di scalabilità di macchine virtuali | Azure Load Balancer | 100 nodi per set di scalabilità di macchine virtuali |
Azure Batch | Non applicabile | Azure Load Balancer | Limite di 20 core (limite predefinito) |
Note
- 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.
Disponibilità
Service | Contratto di servizio | Failover su più aree |
---|---|---|
Macchine virtuali di Azure | Contratto di servizio per Macchine virtuali | Gestione traffico di Azure, Frontdoor di Azure e tra aree di Azure Load Balancer |
Servizio app di Azure | Contratto di servizio per Servizio app | Gestione traffico di Azure e Frontdoor di Azure |
Funzioni di Azure | Contratto di servizio per Funzioni | Gestione traffico di Azure e Frontdoor di Azure |
Servizio Azure Kubernetes (AKS) | Contratto di servizio per il servizio Azure Kubernetes | Gestione traffico di Azure, frontdoor di Azure e cluster multiregione |
App contenitore di Azure | Contratto di servizio per app contenitore | Gestione traffico di Azure e Frontdoor di Azure |
Istanze di Azure Container | Contratto di servizio per Istanze di Container | Gestione traffico di Azure e Frontdoor di Azure |
Azure Red Hat OpenShift | Contratto di servizio per Azure Red Hat OpenShift | Gestione traffico di Azure e Frontdoor di Azure |
Azure Spring Apps | Contratto di servizio per Azure Spring Apps | Gestione traffico di Azure, frontdoor di Azure e cluster multiregione |
Azure Service Fabric | Contratto di servizio per Service Fabric | Gestione traffico di Azure, Frontdoor di Azure e tra aree di Azure Load Balancer |
Azure Batch | Contratto di servizio per Batch | Non applicabile |
Per informazioni guidate sulle garanzie del servizio, vedere Core Servizi cloud - Azure architecture and service guarantees (Architettura e garanzie del servizio di Azure).
Sicurezza
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
- Funzioni di Azure
- Servizio Azure Kubernetes
- Istanze di Azure Container
- Azure Spring Apps
- Azure Service Fabric
- Azure Batch
Altri criteri
Prendere in considerazione limiti e costi
Insieme alle tabelle di confronto precedenti, eseguire una valutazione più dettagliata degli aspetti seguenti del servizio candidato:
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai collaboratori seguenti:
- Ayobami Ayodeji | Senior Program Manager
- Jelle Druyts | Ingegnere del servizio principale
- Martin Gjoševski | Senior Service Engineer
- Phil Huang | Senior Cloud Solution Architect
- Julie Ng | Senior Service Engineer
- Paolo Salvatori | Ingegnere del servizio principale
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
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.