Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Avviso di deprecazione: Questo articolo è deprecato e non viene più aggiornato. Per garantire che vengano visualizzate solo le indicazioni migliori, questo articolo verrà eliminato a maggio 2026.
Per indicazioni alternative, vedere App contenitore di Azure linee guida per l'architettura nel Centro architetture di Azure.
Se si desidera salvare queste indicazioni, è possibile selezionare Download a PDF in basso a sinistra della pagina o scaricare i file da GitHub.
Esaminare le funzionalità e i servizi di App contenitore di Azure disponibili per facilitare la progettazione e la manutenzione dell'app per la stabilità e l'integrità a lungo termine.
Comprendere i limiti delle app contenitore.
Prendere in considerazione l'isolamento dei carichi di lavoro a livello di rete, calcolo, monitoraggio o dati.
Informazioni sui modi per controllare l'utilizzo delle risorse in base ai carichi di lavoro.
Utilizzare le sonde di integrità per segnalare il deterioramento e ripristinare la salute dell'applicazione.
Usare Dapr per stabilire connessioni sicure ai servizi esterni.
Usare la registrazione e il monitoraggio per fornire informazioni dettagliate su eventuali problemi associati alle applicazioni.
Usare gli avvisi durante gli eventi critici dell'applicazione e del sistema per garantire che il personale operativo possa intervenire rapidamente in caso di errori dell'applicazione.
Definire una strategia di ridimensionamento per garantire una capacità sufficiente per gestire il traffico verso l'applicazione, riducendo al minimo la capacità inutilizzata. I trigger di ridimensionamento includono l'utilizzo della CPU o della memoria, insieme a qualsiasi scaler supportato da KEDA.
Avere familiarità con Envoy in quanto App contenitore di Azure lo utilizza come proxy di rete.
Tenere presente i requisiti dell'obiettivo del tempo di ripristino (RTO) e dell'obiettivo del punto di ripristino (RPO) per la continuità aziendale e il ripristino di emergenza. Definire un contratto di servizio per l'infrastruttura e l'applicazione. Informazioni su SLA per App contenitore di Azure. Vedere la sezione Dettagli SLA per informazioni sui calcoli dei tempi di attività mensili.
A seconda dei requisiti specifici per l'applicazione, potrebbe essere necessario usare misure a disponibilità elevata per garantire un funzionamento continuo in caso di problemi con la piattaforma Azure sottostante. In Azure le varie zone e aree consentono di creare soluzioni per la disponibilità elevata:
zone di disponibilità sono costrutti di isolamento degli errori nella progettazione Azure data center. Ogni zona ha una propria potenza, rete e raffreddamento per ridurre al minimo la probabilità di interruzioni distribuite tra zone. Per usare zone di disponibilità, ogni risorsa Azure può essere distribuita in una zona specifica ("zonale") o su tutte le zone ("a ridondanza zonale").
Le soluzioni in più aree offrono il massimo livello di isolamento degli errori e l'affidabilità più elevata, ma sono spesso più difficili da implementare a causa della latenza più elevata tra le aree geografiche. Questa latenza può causare ritardi nella replica dei dati. Per altre informazioni sulla progettazione in più aree, vedere la documentazione Azure Mission Critical.
È consigliabile usare Azure DevOps e GitHub per offrire modi automatizzati per gestire i processi di sviluppo, compilazione e distribuzione.
Recommendations
Isolare in base all'ambiente: creare ambienti distinti di app contenitore per l'isolamento completo delle risorse. Evitare di usare le revisioni per creare applicazioni contenitore specifiche per tenant. Per altre informazioni, vedere App contenitore di Azure nella soluzione multi-tenant.
Usare i limiti per le risorse di calcolo: usare i limiti relativi alle richieste di CPU e memoria dei contenitori per gestire le risorse di calcolo e memoria all'interno di un ambiente. I limiti predefiniti del contenitore sono 2 vCPU e 4 GiB rispettivamente per calcolo e memoria.
Aggiungere le sonde di integrità: Aggiungere sonde di integrità alle app contenitore. Assicurarsi che le revisioni contengano
livenessProbe,readinessProbeestartupProbe. Per ulteriori informazioni, vedere gli App contenitore di Azure sonde di integrità.Configurare correttamente le sonde di integrità: la sonda di integrità ha il compito di effettuare chiamate a un endpoint e si aspetta di ricevere un codice di stato di esito positivo, in genere nell'intervallo HTTP 2xx, quando il sistema è in uno stato di integrità. È consigliabile che questo endpoint esegua controlli non solo sull'integrità del sistema, ma anche sull'integrità dei componenti downstream critici, ad esempio database, archiviazione e servizi di messaggistica. Per evitare una cascata continua dei controlli di integrità, è importante implementare la memorizzazione nella cache delle risposte di integrità downstream per una breve durata.
Effettuare una registrazione estensiva: creare delle query di Log Analytics per cercare avvisi, errori e messaggi critici.
I log dell'applicazione vengono generati dai messaggi di output della console dei contenitori (
stdout/stderr). Quando Dapr è abilitato, l'output della console contiene sia i messaggi del contenitore dell'applicazione che i messaggi sidecar Dapr. Per altre informazioni su come eseguire query sui log con Log Analytics, vedere Monitoraggio dei log.i log System vengono generati da App contenitore di Azure.
Abilita tracciamento visivo: Quando si abilita Dapr, configurare il 'DaprAIInstrumentationKey' a livello di ambiente ACA per visualizzare la traccia distribuita delle app contenitore nella mappa delle applicazioni di Application Insights di Azure.
Usare Application Insights SDK: l'uso di Application Insights SDK per i dati dell'applicazione come agente di strumentazione automatica non è ancora supportato.
Use availability zones: quando è necessaria la disponibilità elevata, usare zone di disponibilità in tutte le risorse. Assicurarsi che non solo le Container App siano a tolleranza di zona, ma anche i servizi adiacenti necessari per gestire le richieste, come i database, i servizi di archiviazione e i servizi di messaggistica.
Usare la replica distribuita: per scopi di ripristino di emergenza ,verificare che i dati dell'applicazione e il codice sorgente siano disponibili in più di un'area Azure. Ad esempio, gli account Archiviazione di Azure consentono l'archiviazione con replica geografica e i database Azure SQL consentono di posizionare le repliche in lettura in altre aree.
Automatizza le compilazioni: usa l'automazione end-to-end per creare e distribuire le applicazioni di App contenitore di Azure.
Usare un registro contenitori: archiviare le immagini del contenitore in Registro Azure Container e replicare geograficamente il registro in ogni area ACA.
Testare il piano di ripristino di emergenza: creare e testare regolarmente un piano di ripristino di emergenza usando scenari di errore chiave. Per altre informazioni, vedere Test del backup e del ripristino di emergenza.