Leggere in inglese

Condividi tramite


Scegliere un servizio di calcolo di Azure

Servizio app di Azure
Servizio Azure Kubernetes (AKS)
Macchine virtuali di Azure
App contenitore di Azure
Funzioni 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.

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

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

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

    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

  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.
  7. Richiedi il numero minimo di tre nodi.

Networking

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

  1. Richiede l'ambiente del servizio app o un piano tariffario di calcolo dedicato.
  2. Usare le connessioni ibride del servizio app di Azure.
  3. Richiede servizio app piano o Funzioni di Azure piano Premium.

DevOps

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

  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.

Scalability

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

  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.
  5. Vedere Ridimensionare una soluzione Azure VMware.
  6. Vedere VMware NSX.

Availability

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

Security

Esaminare e comprendere i controlli di sicurezza e la visibilità disponibili per ogni servizio:

Other criteria

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

Prendere in considerazione limiti e costi

Insieme alle tabelle di confronto precedenti, eseguire una valutazione più dettagliata degli aspetti seguenti del servizio candidato:

Contributors

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Next steps

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.