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.
App contenitore di Azure sandbox forniscono ambienti isolati per l'esecuzione del codice. Ogni sandbox viene eseguita in una macchina virtuale leggera (microVM) che inizia in meno di un secondo e può mantenere lo stato in memoria quando viene sospeso. Il servizio supporta l'affidabilità dei carichi di lavoro sandbox tramite funzionalità configurate e funzionalità gestite dalla piattaforma per conto dell'utente.
Quando si usa Azure, l'affidabilità è una responsabilità condivisa. Microsoft offre una gamma di funzionalità per supportare la resilienza e il ripristino. L'utente è responsabile della comprensione del funzionamento di tali funzionalità all'interno di tutti i servizi usati e della selezione delle funzionalità necessarie per soddisfare gli obiettivi aziendali e gli obiettivi di tempo di attività.
Questo articolo descrive come rendere resilienti le sandbox delle app contenitore agli errori temporanei, agli errori della zona di disponibilità, agli errori a livello di area e alla manutenzione del servizio. Vengono inoltre descritte le opzioni di backup e ripristino e le informazioni chiave sul contratto di servizio.
Raccomandazioni per la distribuzione di produzione per l'affidabilità
Per i carichi di lavoro di produzione, è consigliabile:
Archiviare dati durevoli all'esterno della memoria sandbox e scegliere un'opzione di ridondanza di archiviazione corrispondente agli obiettivi di ripristino. Usare i volumi sandbox per i dati che devono persistere quando una sandbox si arresta. Per la resilienza a un errore a livello di area, usare un archivio dati esterno che replica i dati in un'altra area.
Quando si usa Archiviazione BLOB di Azure, l'archiviazione con ridondanza geografica replica i dati in un'area abbinata. Per le aree non abbinate, distribuire account di archiviazione separati e configurare un metodo di replica supportato, ad esempio la replica di oggetti per i BLOB in blocchi. Per altre informazioni, vedere Soluzioni personalizzate per più aree per Archiviazione BLOB di Azure.
Distribuisci gruppi sandbox separati in più regioni se il tuo obiettivo di disponibilità non può essere soddisfatto con una distribuzione in un'unica regione. Per altre informazioni, vedere Resilienza agli errori a livello di area.
Panoramica dell'architettura di affidabilità
Questa sezione descrive alcuni degli aspetti importanti del funzionamento del servizio più rilevanti dal punto di vista dell'affidabilità. La sezione presenta l'architettura logica, che include alcune delle risorse e delle funzionalità distribuite e usate. Illustra anche l'architettura fisica, che fornisce informazioni dettagliate sul funzionamento del servizio sotto le quinte.
Architettura logica
App contenitore di Azure offre opzioni di calcolo distinte per app, processi, sessioni dinamiche e sandbox. I gruppi sandbox non richiedono un ambiente di Container Apps. Per informazioni dettagliate sull'affidabilità di altri componenti di App contenitore, vedere Affidabilità in App contenitore di Azure.
Le risorse principali nelle sandbox delle app contenitore sono:
Gruppo sandbox: Un gruppo sandbox è il confine di gestione regionale di livello superiore per le sandbox e utilizza il
Microsoft.App/sandboxGroupstipo di risorsa. Tutti i sandbox, le immagini del disco, gli snapshot, i volumi e i valori di configurazione sensibili (segreti) hanno come ambito un gruppo sandbox.Sandbox: Ogni sandbox è una microVM leggera e isolata che viene eseguita da un'immagine o uno snapshot del disco e ha una propria CPU, memoria, disco locale e limite di rete.
Un'immagine disco è un'immagine di contenitore OCI (Open Container Initiative) convertita per essere utilizzata come filesystem radice di una sandbox.
Uno snapshot è una copia puntuale dello stato completo di una sandbox che persiste in modo indipendente dalla sandbox di origine.
Lo stato di una sandbox può essere in esecuzione o arrestato. Quando una sandbox si arresta, automaticamente o su richiesta, rilascia le risorse di calcolo. La modalità memoria mantiene l'immagine di memoria completa e il disco locale della sandbox. La modalità disco mantiene solo il disco locale, quindi la microVM e i relativi processi vengono riavviati quando si riprende la sandbox.
Volumi: Il disco locale appartiene a una singola sandbox. Un volume sandbox fornisce una risorsa di archiviazione permanente esistente indipendentemente da una singola sandbox. È possibile montare i volumi Archiviazione BLOB di Azure in più sandbox contemporaneamente, mentre i volumi del disco dati supportati da archiviazione su disco di Azure possono essere montati in una sola sandbox alla volta. Il servizio di archiviazione di backup determina le opzioni di durabilità e ripristino per i dati del volume.
Per altre informazioni sull'architettura e sulle risorse sandbox, vedere panoramica di App contenitore di Azure Sandboxes.
Architettura fisica
Le sandbox vengono eseguite su più cluster di calcolo indipendenti che Microsoft gestisce. Sei responsabile della configurazione dei gruppi sandbox, delle sandbox e delle altre risorse che distribuisci. Microsoft è responsabile della distribuzione del cluster, della configurazione, della gestione della capacità, del monitoraggio dell'integrità e della manutenzione. Non è possibile selezionare, distribuire, configurare o gestire i cluster. Il servizio programma nuove sandbox e riavvia le sandbox fermate su cluster sani, indirizzando le allocazioni in modo da evitare i cluster non sani.
Microsoft gestisce gli archivi di stato ridondanti per la configurazione del servizio, i metadati sandbox e gli artefatti, ad esempio immagini del disco e snapshot.
Resilienza a errori temporanei
Gli errori temporanei sono errori brevi e intermittenti nei componenti. Si verificano spesso in un ambiente distribuito come il cloud e fanno parte delle normali operazioni. Gli errori temporanei si correggono dopo un breve periodo di tempo. È importante che le applicazioni possano gestire gli errori temporanei, in genere ritentando le richieste interessate.
Tutte le applicazioni ospitate nel cloud devono seguire le indicazioni sulla gestione degli errori temporanei di Azure quando comunicano con qualsiasi API, database e altri componenti ospitati nel cloud. Per ulteriori informazioni, vedi Raccomandazioni per la gestione di errori temporanei.
Quando si utilizzano Container Apps Sandboxes, considera gli errori transitori nei seguenti componenti della soluzione:
Operazioni di gestione sandbox: Quando l'automazione gestisce gruppi sandbox, sandbox o risorse correlate, ripetere le richieste che hanno esito negativo a causa di errori temporanei e usare il backoff esponenziale. Limitare il numero di tentativi e ripetere solo le operazioni che sono sicure da ripetere.
Codice in esecuzione in una sandbox: Implementare la gestione degli errori temporanei per le chiamate a API, database e altri servizi esterni. Seguire le linee guida relative ai nuovi tentativi per ogni dipendenza, perché il comportamento in caso di nuovo tentativo e le operazioni che possono essere ripetute in sicurezza variano in base al servizio.
Resilienza ai guasti delle zone di disponibilità
Le sandbox di Container Apps non supportano la distribuzione in una zona di disponibilità specifica né la ridondanza tra zone per un gruppo sandbox. Per rendere il carico di lavoro resiliente agli errori della zona di disponibilità, distribuire gruppi sandbox separati in più aree. Per altre informazioni, vedere Resilienza agli errori a livello di area.
Resilienza agli errori a livello di area
Container Apps Sandboxes è un servizio a singola area geografica. Se l'area geografica diventa non disponibile, anche i gruppi di sandbox e le sandbox in essi contenute diventano non disponibili. Il servizio non replica i gruppi sandbox né le sandbox tra regioni e non effettua automaticamente il failover a un'altra regione. Tuttavia, è possibile distribuire gruppi sandbox separati in più aree. Sei responsabile di rendere disponibili le dipendenze in ogni regione e di gestire la distribuzione del carico di lavoro e il failover. Per altre informazioni, consulta Soluzioni multiregione personalizzate per la resilienza.
Durante un errore a livello di area, è possibile che si perda qualsiasi stato mantenuto solo nella memoria di una sandbox in esecuzione. I gruppi sandbox, le sandbox e gli artefatti gestiti dal servizio nell'area interessata restano indisponibili finché l'area non viene ripristinata.
I volumi sandbox forniscono spazio di archiviazione che persiste oltre il ciclo di vita di una singola sandbox. Durante un errore a livello di area, la disponibilità e il ripristino del volume dipendono dal servizio di archiviazione di backup e dalla relativa configurazione. Le sandbox di Container Apps non forniscono la replica tra aree geografiche né il failover per i dati del volume. Il servizio di archiviazione di backup offre invece queste funzionalità quando configurate. Ad esempio, per informazioni sui volumi Archiviazione BLOB di Azure, vedere Affidabilità in Archiviazione BLOB di Azure.
Soluzioni di multiregione personalizzate per la resilienza
App contenitore di Azure Sandboxes non coordina le distribuzioni di più aree o replica i gruppi sandbox, le sandbox o le risorse correlate tra aree. Per creare una soluzione di multiregione personalizzata, si hanno le responsabilità seguenti:
Distribuzioni regionali e dipendenze: Distribuisci un gruppo sandbox separato in ogni area geografica che prevedi di usare. Mantieni disponibili in ogni regione la configurazione, le immagini disco, i segreti e le altre dipendenze.
Rilevamento degli errori e ripristino del carico di lavoro: Configurare l'applicazione o il livello di orchestrazione per rilevare quando un'area non è disponibile, indirizzare la creazione della nuova sandbox e l'elaborazione del carico di lavoro a un'area integra e determinare come riavviare il lavoro interrotto.
Routing del traffico: Se i client si connettono tramite endpoint specifici dell'area esposti dall'applicazione, usare un servizio di bilanciamento del carico globale, ad esempio Frontdoor di Azure o Gestione traffico di Azure, per instradare il traffico a un endpoint integro.
Replica e ripristino dei dati: Archiviare qualsiasi stato necessario dopo il failover in un archivio dati esterno che supporta la replica e il ripristino tra aree. Se un servizio di archiviazione di backup fornisce la replica tra aree per i dati del volume, tale servizio determina il comportamento di replica e failover. App contenitore di Azure Sandboxes non esegue la replica o il failover dei dati del volume tra aree.
Backup e ripristino
Non usare la memoria sandbox o il disco locale come unico archivio dati durevole. Sospendere una sandbox conserva il disco locale e, nella modalità memoria, il suo stato di memoria. È anche possibile creare snapshot che persistono indipendentemente dalla sandbox di origine. Lo stato sospeso e le snapshot restano circoscritti al gruppo sandbox regionale e non costituiscono backup tra aree geografiche.
Usare un volume sandbox per i dati che devono persistere oltre il ciclo di vita di una singola sandbox. Il servizio di archiviazione di backup e la relativa configurazione determinano le funzionalità di backup e ripristino per i dati del volume. Per gli archivi dati esterni gestiti, si è responsabili della configurazione del backup e del ripristino tra aree per soddisfare gli obiettivi di durabilità e ripristino.
Per ricreare la distribuzione dell'ambiente sandbox dopo un'eliminazione accidentale o un guasto che interessa un'intera area geografica, archivia la configurazione del gruppo sandbox in modelli Infrastructure as Code sottoposti a controllo della versione, ad esempio Bicep o Terraform. Mantenere le immagini del disco di origine in un registro che soddisfi i requisiti di ripristino.
Per la maggior parte delle soluzioni, non è consigliabile basarsi esclusivamente sui backup. Usare invece le altre funzionalità descritte in questa guida per supportare i requisiti di resilienza. Tuttavia, i backup proteggono da alcuni rischi che altri approcci non comportano. Per altre informazioni, vedere Che cosa sono ridondanza, replica e backup?.
Resilienza alla manutenzione del servizio
Microsoft applica regolarmente gli aggiornamenti del servizio ed esegue altre operazioni di manutenzione. La piattaforma Azure gestisce automaticamente queste attività, garantendo che la manutenzione sia fluida e trasparente per l'utente. Durante le operazioni di manutenzione, è possibile osservare brevi interruzioni. In genere queste interruzioni durano alcuni secondi. Assicurarsi che le applicazioni client siano configurate per gestire gli errori temporanei in modo che siano resilienti a brevi interruzioni.
Quando la manutenzione influisce su una sandbox in esecuzione, la piattaforma mantiene lo stato, lo sposta in una capacità di calcolo integra e lo riprende automaticamente. Per le sandbox che usano la modalità di memoria, la piattaforma mantiene lo stato della memoria e del disco locale. Per le sandbox che usano la modalità disco, la piattaforma mantiene solo lo stato del disco locale.
Contratto di servizio
App contenitore di Azure Sandboxes non offre un contratto di servizio (SLA) di disponibilità. I servizi di archiviazione che consentono di eseguire il backup dei volumi sandbox e degli archivi dati esterni usati dalla soluzione potrebbero avere contratti di servizio separati. Per altre informazioni, vedere Contratti di servizio per i servizi online.