Condividi tramite


Confronto tra app contenitore e altre opzioni per contenitori di Azure

Sono disponibili molte opzioni per i team per creare e distribuire applicazioni native e in contenitori cloud in Azure. Questo articolo illustra quali scenari e casi d'uso sono più adatti per le App contenitore di Azure e come viene confrontato con altre opzioni del contenitore in Azure, tra cui:

Non esiste una soluzione perfetta per ogni caso d'uso e per ogni team. La spiegazione seguente fornisce indicazioni generali e consigli come punto di partenza per trovare la soluzione migliore per il team e i requisiti.

Confronti delle opzioni del contenitore

App contenitore di Azure

App contenitore di Azure consente di creare microservizi e processi serverless basati su contenitori. Ecco alcune caratteristiche distintive di App contenitore di Azure:

  • Ottimizzato per l'esecuzione di contenitori per utilizzo generico, in particolare per le applicazioni che si estendono su molti microservizi distribuiti nei contenitori.
  • Basato su Kubernetes e tecnologie open source come Dapr, KEDAe envoy.
  • Supporta app e microservizi di tipo Kubernetes con funzionalità come l'individuazione dei servizi e la suddivisione del traffico.
  • Abilita le architetture di applicazioni guidate dagli eventi supportando la scalabilità in base al traffico e al pull da origini eventi come le code, inclusa la scalabilità a zero.
  • Supporta l'esecuzione di processi su richiesta, pianificati e basati su eventi.

App contenitore di Azure non fornisce l'accesso diretto alle API Kubernetes sottostanti. Se è necessario accedere alle API e al piano di controllo Kubernetes, è consigliabile usare il Servizio Azure Kubernetes. Tuttavia, se si vogliono creare applicazioni di tipo Kubernetes e non richiedono l'accesso diretto a tutte le API e la gestione del cluster Kubernetes nativa, App contenitore offre un'esperienza completamente gestita in base alle procedure consigliate. Per questi motivi, molti team preferiscono iniziare a creare microservizi contenitore con App contenitore di Azure.

È possibile iniziare a creare la prima app contenitore usando gli avvi rapidi.

Servizio app di Azure

Servizio app di Azure offre hosting completamente gestito per le applicazioni Web, inclusi siti Web e API Web. È possibile distribuire queste applicazioni Web usando codice o contenitori. Servizio app di Azure è ottimizzato per le applicazioni Web. Il Servizio app di Azure è integrato con altri servizi di Azure, tra cui App contenitore di Azure o Funzioni di Azure. Quando si creano app Web, il Servizio app di Azure è un'opzione ideale.

Istanze di Azure Container

istanze di Azure Container (ACI) fornisce un singolo pod di contenitori isolati Hyper-V su richiesta. Può essere considerata come un'opzione di livello inferiore "blocco predefinito" rispetto alle App contenitore. I concetti come scalabilità, bilanciamento del carico e certificati non vengono forniti con i contenitori ACI. Ad esempio, per ridimensionare fino a cinque istanze di contenitore, si creano cinque istanze di contenitore distinte. App contenitore di Azure offre molti concetti specifici dell'applicazione sui contenitori, tra cui certificati, revisioni, scalabilità e ambienti. Gli utenti spesso interagiscono con Istanze di Azure Container tramite altri servizi. Ad esempio, il Servizio Azure Kubernetes può eseguire il livello di orchestrazione e scalabilità su ACI tramite nodi virtuali. Se è necessario un blocco predefinito meno "presuntuoso" che non sia allineato agli scenari in cui App contenitore di Azure sta ottimizzando, Istanze di Azure Container è un'opzione ideale.

Servizio Azure Kubernetes

Il Servizio Azure Kubernetes (AKS) fornisce un'opzione Kubernetes pienamente gestito in Azure. Supporta l'accesso diretto all'API Kubernetes ed esegue qualsiasi carico di lavoro Kubernetes. Il cluster completo si trova nella sottoscrizione, con le configurazioni e le operazioni del cluster all'interno del controllo e della responsabilità. Teams che cerca una versione completamente gestita di Kubernetes in Azure, il Servizio Azure Kubernetes è un'opzione ideale.

Funzioni di Azure

Funzioni di Azure è una soluzione Functions as a Service (FaaS) serverless. È ottimizzata per l'esecuzione di applicazioni basate su eventi usando il modello di programmazione delle funzioni. Condivide molte caratteristiche con le App contenitore di Azure per quanto riguarda la scalabilità e l'integrazione con gli eventi, ma ottimizzata per le funzioni temporanee distribuite come codice o contenitori. Il modello di programmazione di Funzioni di Azure offre vantaggi per la produttività per i team che cercano di attivare l'esecuzione delle funzioni sugli eventi e di associarsi ad altre origini dati. Quando si creano funzioni di tipo FaaS, Funzioni di Azure è l'opzione ideale. Il modello di programmazione di Funzioni di Azure è disponibile come immagine del contenitore di base, rendendolo portabile in altre piattaforme di calcolo basate su contenitori che consentono ai team di riutilizzare il codice man mano che cambiano i requisiti dell'ambiente.

Azure Spring Apps

Azure Spring Apps è un servizio completamente gestito per sviluppatori Spring. Se si desidera eseguire Spring Boot, Spring Cloud o qualsiasi altra applicazione Spring in Azure, Azure Spring Apps è un'opzione ideale. Il servizio gestisce l'infrastruttura delle applicazioni Spring per consentire agli sviluppatori di concentrarsi sul codice. Azure Spring Apps fornisce la gestione del ciclo di vita tramite funzionalità complete di monitoraggio e diagnostica, gestione della configurazione, individuazione dei servizi, integrazione di CI/CD, distribuzioni blu/verde e altro ancora.

Azure Red Hat OpenShift

Azure Red Hat OpenShift è un prodotto integrato con Red Hat e Microsoft progettati congiuntamente, gestiti e supportati. Questa collaborazione offre un'esperienza integrata di prodotto e supporto per l'esecuzione di OpenShift con tecnologia Kubernetes. Con Azure Red Hat OpenShift, i team possono scegliere un registro, una networking, un'archiviazione e soluzioni CI/CD personalizzate. In alternativa, possono usare le soluzioni predefinite per la gestione automatica del codice sorgente, le compilazioni di contenitori e applicazioni, le distribuzioni, il ridimensionamento, la gestione dell'integrità e altro ancora da OpenShift. Se il team o l'organizzazione usa OpenShift, Azure Red Hat OpenShift è un'opzione ideale.

Passaggi successivi