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 consente di comprendere quali scenari e casi d'uso sono più adatti per le app Azure Container e come viene confrontato con altre opzioni del contenitore in Azure, tra cui:
- App contenitore di Azure
- Servizio app di Azure
- Istanze di Azure Container
- Servizio Azure Kubernetes
- Funzioni di Azure
- Azure Spring Apps
- Azure Red Hat OpenShift
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 sui contenitori. Le caratteristiche distintive delle app contenitore includono:
- 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, KEDA e 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 code, inclusa la scalabilità a zero.
- Supporta l'esecuzione di processi su richiesta, pianificati e basati su eventi.
App Azure Container non fornisce l'accesso diretto alle API Kubernetes sottostanti. Se è necessario accedere alle API e al piano di controllo kubernetes, è consigliabile usare 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 potrebbero preferire iniziare a creare microservizi contenitore con App Azure Container.
È possibile iniziare a creare la prima app contenitore usando le guide introduttive.
Servizio app di Azure
app Azure Servizio fornisce l'hosting completamente gestito per le applicazioni Web, inclusi siti Web e API Web. Queste applicazioni Web possono essere distribuite usando codice o contenitori. app Azure Servizio è ottimizzato per le applicazioni Web. app Azure Servizio è integrato con altri servizi di Azure, tra cui App Azure Container o Funzioni di Azure. Quando si creano app Web, app Azure Servizio è 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 Azure Container 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, servizio Azure Kubernetes può eseguire il layer orchestrazione e la scalabilità su ACI tramite nodi virtuali. Se è necessario un blocco predefinito meno "opinioneato" che non sia allineato agli scenari per cui App Contenitore di Azure sta ottimizzando, Istanze di Azure Container è un'opzione ideale.
Servizio Azure Kubernetes
servizio Azure Kubernetes (servizio Azure Kubernetes) offre un'opzione Kubernetes completamente gestita 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, servizio Azure Kubernetes è un'opzione ideale.
Funzioni di Azure
Funzioni di Azure è una soluzione Funzioni come servizio (FaaS) serverless. È ottimizzato per l'esecuzione di applicazioni guidate dagli eventi usando il modello di programmazione delle funzioni. Condivide molte caratteristiche con le app di Azure Container 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 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 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 gli sviluppatori Spring. Se si vuole 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 offre la gestione del ciclo di vita usando monitoraggio e diagnostica completi, gestione della configurazione, individuazione dei servizi, integrazione CI/CD, distribuzioni blu-verde e altro ancora.
Azure Red Hat OpenShift
Azure Red Hat OpenShift è progettato, gestito e supportato congiuntamente da Red Hat e Microsoft per offrire un'esperienza integrata di prodotto e supporto tecnico per l'esecuzione di OpenShift con tecnologia Kubernetes. Con Azure Red Hat OpenShift, i team possono scegliere il proprio registro, rete, archiviazione e soluzioni CI/CD oppure 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.