Scegliere un servizio di calcolo di Azure

Servizio app di Azure
Servizio Azure Kubernetes

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.

Diagramma che mostra un albero delle decisioni per i servizi di calcolo di Azure.

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

  1. 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.
  2. Contratto di servizio (SLA) superiore con due o più istanze.
  3. Consigliato per ambienti di produzione.
  4. Possibile riduzione fino a zero dopo il completamento del processo.
  5. Tre per i nodi primari e tre per i nodi di lavoro.
  6. 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

  1. Richiede ambiente del servizio app.
  2. Usare le connessioni ibride del servizio app di Azure.
  3. 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

  1. 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

  1. Vedere Scalabilità automatica dei pod.
  2. Vedere Ridimensionare automaticamente un cluster per soddisfare le esigenze delle applicazioni su servizio Azure Kubernetes.
  3. Vedere Sottoscrizione di Azure e limiti, quote e vincoli dei servizi.
  4. 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:

Altri criteri

Service TLS Costo Stili di architettura adatti
Macchine virtuali di Azure Configurato in VM Windows, Linux N livelli, Big Compute (HPC)
Servizio app di Azure Supportata Prezzi di Servizio app Web-queue-worker
Funzioni di Azure Supportata Prezzi delle funzioni Microservizi, architettura guidata dagli eventi
Servizio Azure Kubernetes (AKS) Controller di ingresso Prezzi del servizio Azure Kubernetes Microservizi, architettura guidata dagli eventi
App contenitore di Azure Controller di ingresso Prezzi di App contenitore Microservizi, architettura guidata dagli eventi
Istanze di Azure Container Usare il contenitore sidecar Prezzi di Istanze di Container Microservizi, automazione delle attività, processi batch
Azure Red Hat OpenShift Supportata Prezzi di Azure Red Hat OpenShift Microservizi, architettura guidata dagli eventi
Azure Spring Apps Supportata Prezzi di Azure Spring Apps Spring Boot, microservizi
Azure Service Fabric Supportata Prezzi di Service Fabric Microservizi, architettura guidata dagli eventi
Azure Batch Supportata Prezzi di Batch Big Compute (HPC)

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:

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.