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.
Questo articolo descrive il supporto per l'affidabilità nel servizio app di Azure, che copre la resilienza all'interno dell'area con zone di disponibilità, distribuzioni in più aree e gestione degli errori temporanei.
Il Servizio app di Azure è un servizio per l'hosting di applicazioni Web, API REST e back-end mobili, basato su HTTP. app Azure Servizio aggiunge la potenza di Microsoft Azure all'applicazione, con funzionalità di sicurezza, bilanciamento del carico, scalabilità automatica e gestione automatica. Per esplorare il modo in cui il servizio app di Azure può migliorare l'affidabilità e la resilienza del carico di lavoro dell'applicazione, vedere Panoramica del servizio app
Quando si distribuisce il servizio app di Azure, è possibile creare più istanze di un piano di servizio app, che rappresenta i ruoli di lavoro di calcolo che eseguono il codice dell'applicazione. Per altre informazioni, vedere Piano di servizio app di Azure. Anche se la piattaforma si impegna a distribuire le istanze in domini di errore diversi, non distribuisce automaticamente le istanze tra le zone di disponibilità.
Raccomandazioni per la distribuzione di produzione
Abilitare la ridondanza di zona, che richiede l'uso di piani App Service Premium v3 o Isolated v2 e che si disponga di almeno tre istanze del piano. Per visualizzare altre informazioni, assicurarsi di selezionare il livello appropriato nella parte superiore di questa pagina.
Abilitare la ridondanza della zona, che richiede al piano di servizio delle app di usare almeno tre istanze.
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. Si correggono dopo un breve periodo di tempo. È importante che le applicazioni gestisca gli errori temporanei, in genere ritentando le richieste interessate.
Tutte le applicazioni ospitate nel cloud devono seguire le linee guida per la gestione degli errori temporanei di Azure durante la comunicazione con qualsiasi API, database e altri componenti ospitati nel cloud. Per altre informazioni, vedere Raccomandazioni per la gestione di errori temporanei.
Gli SDK forniti da Microsoft gestiscono in genere errori temporanei. Poiché si ospitano applicazioni personalizzate in app Azure Servizio, valutare come evitare di causare errori temporanei assicurandosi di:
Distribuire più istanze del piano. app Azure Servizio esegue aggiornamenti automatizzati e altre forme di manutenzione nelle istanze del piano. Se un'istanza diventa non integra, il servizio può sostituire automaticamente l'istanza con una nuova istanza integra. Durante il processo di sostituzione, può verificarsi un breve periodo quando l'istanza precedente non è disponibile e una nuova istanza non è ancora pronta per gestire il traffico. È possibile ridurre l'impatto di questo comportamento distribuendo più istanze del piano di servizio app.
Usare gli slot di distribuzione. Gli slot di distribuzione del servizio app di Azure consentono distribuzioni senza tempi di inattività delle applicazioni. Usare gli slot di distribuzione per ridurre al minimo l'impatto delle distribuzioni e delle modifiche di configurazione per gli utenti. L'uso degli slot di distribuzione riduce anche la probabilità che l'applicazione si riavvii. Il riavvio causa un errore temporaneo.
Evitare il ridimensionamento. Selezionare invece un livello e le dimensioni dell'istanza che soddisfano i requisiti di prestazioni in un carico tipico. Solo le istanze di scalabilità orizzontale per gestire le modifiche nel volume di traffico. La scalabilità verticale può attivare il riavvio di un'applicazione.
Supporto della zona di disponibilità
Le zone di disponibilità sono gruppi di data center separati fisicamente all'interno di ogni area di Azure. In caso di errore di una zona, i servizi possono eseguire il failover in una delle zone rimanenti.
Per altre informazioni sulle zone di disponibilità in Azure, vedere Che cosa sono le zone di disponibilità?
Il servizio app di Azure può essere configurato come ridondante per zona, il che significa che le risorse vengono distribuite su più zone di disponibilità. La distribuzione in più zone consente ai carichi di lavoro di produzione di ottenere resilienza e affidabilità. Quando si configura la ridondanza zonale nei piani del servizio app, tutte le app che utilizzano il piano diventano ridondanti su zona.
La distribuzione di istanze con una distribuzione con ridondanza della zona viene determinata usando le regole seguenti. Queste regole si applicano anche quando l'app viene ridimensionata in ingresso e in uscita:
- Il numero minimo di istanze del piano servizio app è tre.
- Le istanze vengono distribuite automaticamente tra più zone di disponibilità. Il numero di zone di disponibilità usate per il piano è determinato da Azure.
- Le istanze vengono distribuite in modo uniforme se si specifica una capacità superiore a tre e il numero di istanze è divisibile per tre.
- I conteggi delle istanze superiori a 3*N vengono distribuiti tra le altre due zone.
Nota
In alcuni casi, il carico di lavoro è ospitato in un'unità di scala (nota anche come stamp o cluster di calcolo) distribuita in due zone di disponibilità anziché in tre zone. Per questi casi, le istanze vengono distribuite uniformemente tra le due zone se il numero di istanze è divisibile per due. Qualsiasi numero di istanze superiore a 2*n viene inserito in una delle zone.
Quando la piattaforma servizio app alloca istanze per un piano di servizio app con ridondanza della zona, usa il bilanciamento della zona consigliato offerto dai set di scalabilità di macchine virtuali di Azure sottostanti. Un piano di servizio app è bilanciato se in ogni zona c'è lo stesso numero di macchine virtuali, o al massimo una in più o in meno, rispetto a tutte le altre zone. Per altre informazioni, vedere Bilanciamento della zona.
Per i piani servizio app non configurati come ridondanti della zona, le istanze delle macchine virtuali non sono resilienti agli errori della zona di disponibilità. Possono riscontrare tempi di inattività durante un'interruzione in qualsiasi zona in tale area.
Aree supportate
I piani di servizio app con ridondanza della zona richiedono l'uso del livello Premium v2 o v3 e possono essere distribuiti in qualsiasi area che supporti le zone di disponibilità. Per visualizzare altre informazioni, assicurarsi di selezionare il livello appropriato nella parte superiore di questa pagina.
I piani App Service con ridondanza di zona possono essere distribuiti in qualsiasi area che supporta le zone di disponibilità.
Per informazioni sulle aree che supportano le zone di disponibilità per l'App Service Environment v3, vedere Aree.
Requisiti
È necessario usare i tipi di piano Premium v2, Premium v3 o Isolato v2. Per visualizzare altre informazioni, assicurarsi di selezionare il livello appropriato nella parte superiore di questa pagina.
È necessario usare i tipi di piano Premium v2, Premium v3 o Isolato v2.
Le zone di disponibilità sono supportate solo nelle unità di scala più recenti del servizio app. Anche se si usa una delle aree supportate, se le zone di disponibilità non sono supportate per l'unità di scala usata, viene visualizzato un errore durante la creazione di un piano di servizio app con ridondanza della zona.
Le unità di scalabilità assegnate a te si basano sul gruppo di risorse a cui distribuisci un piano di servizio App. Per assicurarsi che i carichi di lavoro si trovino in un'unità di scala che supporta le zone di disponibilità, potrebbe essere necessario creare un nuovo gruppo di risorse e quindi creare un nuovo piano di servizio app e un'app del servizio app all'interno del nuovo gruppo di risorse.
È necessario distribuire almeno tre istanze del piano.
Considerazioni
Durante un'interruzione della zona di disponibilità, alcuni aspetti del servizio app di Azure potrebbero essere interessati anche se l'applicazione continua a gestire il traffico. Questi comportamenti includono servizio app scalabilità del piano, creazione di applicazioni, configurazione dell'applicazione e pubblicazione di applicazioni.
Costo
Quando si usano servizio app piani Premium v2 o Premium v3, non sono previsti costi aggiuntivi associati all'abilitazione delle zone di disponibilità, purché nel piano di servizio app siano presenti tre o più istanze. I costi vengono addebitati in base allo SKU del piano di servizio app, alla capacità specificata e alle istanze ridimensionate in base ai criteri di scalabilità automatica.
Se si abilitano le zone di disponibilità ma si specifica una capacità inferiore a tre, la piattaforma applica un numero minimo di istanze pari a tre. La piattaforma addebita l'utente per queste tre istanze.
ambiente del servizio app v3 ha un modello tariffario specifico per la ridondanza della zona. Per informazioni sui prezzi per l'ambiente del servizio app v3, vedere Prezzi.
Configurare il supporto della zona di disponibilità
- Creare un nuovo piano di servizio App con ridondanza delle zone. Per distribuire un nuovo piano di servizio app di Azure con ridondanza della zona, è necessario usare i tipi di piano Premium v2 o Premium v3. Per visualizzare altre informazioni, assicurarsi di selezionare il livello appropriato nella parte superiore di questa pagina.
- Creare un nuovo piano di App Service con ridondanza geografica. Per distribuire un nuovo piano di servizio app di Azure con ridondanza della zona, selezionare l'opzione Ridondante della zona quando si distribuisce il piano.
- Creare un nuovo piano di servizio App con ridondanza di zona. Per distribuire un nuovo Azure App Service Environment a ridondanza di zona, consulta Creare un ambiente del servizio app.
Migrazione. La ridondanza della zona può essere configurata solo quando si crea un nuovo piano di servizio app. Se si dispone di un piano di servizio app esistente che non è ridondante della zona, sostituirlo con un nuovo piano con ridondanza della zona. Non è possibile convertire un piano di servizio app esistente per usare le zone di disponibilità.
Disabilitare la ridondanza della zona. Non è possibile disabilitare la ridondanza della zona dopo aver creato un piano di servizio app. È invece necessario creare un nuovo piano con ridondanza della zona disabilitato ed eliminare quello precedente.
Pianificazione e gestione della capacità
Per prepararsi a un guasto della zona di disponibilità, prendere in considerazione il provisioning eccessivo della capacità del piano Servizio app. Il provisioning eccessivo consente alla soluzione di tollerare un certo grado di perdita di capacità e continuare a funzionare senza prestazioni ridotte. Per ulteriori informazioni sull'over-provisioning, consultare Gestire la capacità con over-provisioning.
Operazioni normali
Questa sezione descrive cosa aspettarsi quando i piani di servizio app di Azure sono configurati per la ridondanza della zona e tutte le zone di disponibilità sono operative.
Routing del traffico tra zone: Durante operazioni normali, il traffico viene instradato tra tutte le istanze disponibili del Piano di servizio App in tutte le zone di disponibilità.
Replica dei dati tra zone: Durante le normali operazioni, qualsiasi stato archiviato nel file system dell'applicazione viene archiviato nell'archiviazione con ridondanza della zona e viene replicato in modo sincrono tra le zone di disponibilità.
Esperienza di zona inattiva
Questa sezione descrive cosa aspettarsi quando un piano di servizio app di Azure è configurato per la ridondanza della zona e si verifica un'interruzione della zona di disponibilità:
Rilevamento e risposta: La piattaforma del servizio app è responsabile del rilevamento di un errore in una zona di disponibilità e della risposta. Non è necessario eseguire alcuna operazione per avviare un failover di zona.
Richieste attive: Quando una zona di disponibilità non è disponibile, le richieste in corso connesse a un'istanza del piano di servizio app nella zona di disponibilità difettosa vengono terminate. Devono essere ritentati.
Reindirizzamento del traffico: Quando una zona non è disponibile, servizio app di Azure rileva le istanze perse da tale zona. Tenta automaticamente di trovare nuove istanze di sostituzione. Distribuisce quindi il traffico tra le nuove istanze in base alle esigenze.
Se è stata configurata la scalabilità automatica e, se si decide che sono necessarie altre istanze, la scalabilità automatica invia anche una richiesta di servizio app per aggiungere altre istanze. Per altre informazioni, vedere Aumentare le prestazioni di un'app nel servizio app di Azure.
Nota
Il comportamento della scalabilità automatica è indipendente dal comportamento della piattaforma App Service. La specifica del numero di istanze di scalabilità automatica non deve essere un multiplo di tre.
Importante
Non esiste alcuna garanzia che le richieste per più istanze in uno scenario di arresto della zona abbiano esito positivo. Il recupero delle istanze perse avviene nel modo più efficiente possibile. Se è necessaria una capacità garantita quando si perde una zona di disponibilità, è necessario creare e configurare i piani di servizio app per tenere conto della perdita di una zona. A tale scopo, è possibile sovrapprovisionare la capacità del piano App Service.
Comportamenti non di esecuzione: Le applicazioni distribuite in un piano di servizio App ridondante a livello di zona continuano a essere eseguite e a gestire il traffico anche se più zone nella regione subiscono un'interruzione. Tuttavia, le funzionalità non legate all'esecuzione potrebbero essere ancora influenzate durante un'interruzione della zona di disponibilità. Questi comportamenti includono servizio app scalabilità del piano, creazione di applicazioni, configurazione dell'applicazione e pubblicazione di applicazioni.
Ritornare alla situazione precedente
Quando la zona di disponibilità viene ripristinata, app Azure servizio crea automaticamente istanze nella zona di disponibilità ripristinata, rimuove tutte le istanze temporanee create nelle altre zone di disponibilità e instrada il traffico tra le istanze come di consueto.
Test per gli errori di zona
app Azure piattaforma del servizio gestisce il routing del traffico, il failover e il failback per i piani di servizio app con ridondanza della zona. Poiché questa funzionalità è completamente gestita, non è necessario avviare o convalidare i processi di errore della zona di disponibilità.
Supporto multi-area
app Azure Service è un servizio a singola area. Se l'area non è più disponibile, anche l'applicazione non è disponibile.
Soluzioni alternative in più aree
Per garantire che l'applicazione diventi meno soggetta a un errore a singola area, è necessario distribuire l'applicazione in più aree:
- Distribuire l'applicazione nelle istanze di ogni area.
- Configurare il bilanciamento del carico e i criteri di failover.
- Replicare i dati tra le aree in modo da poter ripristinare l'ultimo stato dell'applicazione.
Per architetture di esempio che illustrano questo approccio, vedere:
- Architettura di riferimento: applicazione Web multi-area a disponibilità elevata.
- App di Servizio App multi-regione per recupero da disastro
Per seguire un'esercitazione che crea un'app in più aree, vedere Esercitazione: Creare un'app multi-area a disponibilità elevata nel servizio app di Azure.
Per un esempio di approccio che illustra questa architettura, vedere Distribuzione aziendale a disponibilità elevata con Ambiente del servizio app.
Backup
Quando si usa il livello Basic o superiore, è possibile eseguire il backup dell'app servizio app in un file usando le funzionalità di backup e ripristino servizio app. Per altre informazioni, vedere Eseguire il backup e il ripristino dell'app nel servizio app di Azure.
Questa funzionalità è utile se è difficile ridistribuire il codice o se si archivia lo stato su disco. Per la maggior parte delle soluzioni, non è consigliabile basarsi sui backup servizio app. Usare gli altri metodi descritti in questo articolo per supportare i requisiti di resilienza.
Contratto di servizio (SLA)
Il contratto di servizio per app Azure Servizio descrive la disponibilità prevista del servizio. Descrive inoltre le condizioni che devono essere soddisfatte per raggiungere tale aspettativa di disponibilità. Per comprendere queste condizioni, esaminare i contratti di servizio (SLA) per i servizi online.
Quando si distribuisce un piano di servizio app con ridondanza della zona, la percentuale di tempo di attività definita nel contratto di servizio aumenta.