Condividi tramite


Gestione e operazioni per le app di Azure Container - Acceleratore di zona di destinazione

Esaminare le funzionalità e i servizi delle app di Azure Container disponibili per progettare e gestire l'app per la stabilità e l'integrità a lungo termine.

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

  • Usare i probe di integrità per segnalare e ripristinare l'integrità 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.

  • Acquisire familiarità con Envoy come app contenitore di Azure lo usa 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 sul contratto di servizio per le app di Azure Container. Per informazioni sul calcolo del tempo di attività mensile, vedere la sezione Dettagli del contratto di servizio.

  • 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 del data center di Azure. 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 di Azure può essere distribuita in una zona specifica ("zonal") o in tutte le zone ("ridondanza della zona").

    • 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 di Azure Mission Critical.

  • Prendere in considerazione l'uso di Azure DevOps e GitHub per offrire modi automatizzati per gestire i processi di sviluppo, compilazione e distribuzione.

Consigli

  • Isolare in base all'ambiente: creare ambienti distinti di app contenitore per l'isolamento completo delle risorse. Evitare di usare le revisioni per creare app contenitore specifiche del 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.

  • Usare i probe di integrità: aggiungere probe di integrità alle app contenitore. Assicurarsi che le revisioni contengano livenessProbe, readinessProbee startupProbe. Per altre informazioni, vedere Probe di integrità di App Azure Container.

  • Configurare correttamente i probe di integrità: il probe di integrità è responsabile dell'esecuzione di chiamate a un endpoint e prevede di ricevere un codice di stato di esito positivo, in genere nell'intervallo HTTP 2xx, quando il sistema è in uno stato integro. È 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 propagazione continua dei controlli di integrità, è importante implementare la memorizzazione nella cache delle risposte di integrità downstream per una breve durata.

  • Log esteso: creare 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 (/stdoutstderr). Quando Dapr è abilitato, l'output della console contiene sia i messaggi 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 di sistema vengono generati da App Azure Container.

  • Abilitare la traccia visiva: quando si abilita Dapr, configurare "DaprAIInstrumentationKey" a livello di ambiente ACA per visualizzare la traccia distribuita delle app contenitore nella mappa delle applicazioni di app Azure lication Insights.

  • Usare Application Insights SDK: l'uso di Application Insights SDK per i dati dell'applicazione come agente di strumentazione automatica non è ancora supportato.

  • Usare le zone di disponibilità: quando è necessaria una disponibilità elevata, usare zone di disponibilità su tutte le risorse. Assicurarsi che non solo le app contenitore siano ridondanti della zona, ma anche i servizi adiacenti necessari per soddisfare le richieste, ad esempio database, archiviazione e servizi di messaggistica.

  • Usare la replica distribuita: per scopi di ripristino di emergenza ,assicurarsi che i dati dell'applicazione e il codice sorgente siano disponibili in più aree di Azure. Ad esempio, gli account Archiviazione di Azure consentono l'archiviazione con replica geografica e le database SQL di Azure consentono di posizionare le repliche di lettura in altre aree.

  • Automatizzare le compilazioni: usare l'automazione end-to-end per compilare e distribuire le applicazioni di App Azure Container.

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