Affidabilità nelle app Azure Spring
Questo articolo contiene informazioni dettagliate sulla resilienza a livello di area con le zone di disponibilità e il ripristino di emergenza tra aree e il supporto della continuità aziendale per Azure Spring Apps.
Supporto della zona di disponibilità
Le zone di disponibilità di Azure sono almeno tre gruppi di data center separati fisicamente all'interno di ogni area di Azure. I data center all'interno di ogni zona sono dotati di energia, raffreddamento e infrastruttura di rete indipendenti. In caso di errore della zona locale, le zone di disponibilità sono progettate in modo che se l'unica zona è interessata, i servizi regionali, la capacità e la disponibilità elevata sono supportati dalle due zone rimanenti.
Gli errori possono variare da errori software e hardware a eventi come terremoti, inondazioni e incendi. La tolleranza agli errori si ottiene con ridondanza e isolamento logico dei servizi di Azure. Per informazioni più dettagliate sulle zone di disponibilità in Azure, vedere Aree e zone di disponibilità.
I servizi abilitati per le zone di disponibilità di Azure sono progettati per offrire il giusto livello di affidabilità e flessibilità. Possono essere configurati in due modi. Possono essere ridondanti della zona, con replica automatica tra zone o zone, con istanze aggiunte a una zona specifica. È anche possibile combinare questi approcci. Per altre informazioni sull'architettura zonale e con ridondanza della zona, vedere Consigli per l'uso di zone e aree di disponibilità.
Azure Spring Apps supporta la ridondanza della zona. Quando si crea un'istanza del servizio Azure Spring Apps con ridondanza della zona abilitata, Azure Spring Apps distribuisce automaticamente le risorse fondamentali nelle sezioni logiche dell'infrastruttura di Azure sottostante. La risorsa di calcolo sottostante distribuisce le macchine virtuali in tutte le zone di disponibilità per garantire la possibilità di calcolare. La risorsa di archiviazione sottostante replica i dati tra le zone di disponibilità per mantenerli disponibili anche in caso di errori del data center. Questa distribuzione offre un livello di disponibilità superiore e protegge da errori hardware o eventi di manutenzione pianificata.
Prerequisiti
La ridondanza della zona non è disponibile nel piano Basic.
Azure Spring Apps supporta le zone di disponibilità nelle aree seguenti:
- Australia orientale
- Brasile meridionale
- Canada centrale
- Stati Uniti centrali
- Asia orientale
- Stati Uniti orientali
- Stati Uniti orientali 2
- Francia centrale
- Germania centro-occidentale
- Europa settentrionale
- Giappone orientale
- Corea centrale
- Sudafrica settentrionale
- Stati Uniti centro-meridionali
- Asia sud-orientale
- Regno Unito meridionale
- Europa occidentale
- West US 2
- Stati Uniti occidentali 3
Creare un'istanza di Azure Spring Apps con zone di disponibilità abilitate
Nota
È possibile abilitare la ridondanza della zona solo quando si crea l'istanza del servizio Azure Spring Apps. Non è possibile modificare la proprietà di ridondanza della zona dopo la creazione.
È possibile abilitare la ridondanza della zona in Azure Spring Apps usando l'interfaccia della riga di comando di Azure o portale di Azure.
Per creare un servizio in Azure Spring Apps con ridondanza della zona abilitata usando l'interfaccia della riga di comando di Azure, includere il --zone-redundant
parametro quando si crea il servizio, come illustrato nell'esempio seguente:
az spring create \
--resource-group <your-resource-group-name> \
--name <your-Azure-Spring-Apps-instance-name> \
--location <location> \
--zone-redundant true
Abilitare la propria risorsa con le zone di disponibilità abilitate
È possibile abilitare la propria risorsa in App Spring di Azure, ad esempio l'archiviazione permanente. Tuttavia, è necessario assicurarsi di abilitare la ridondanza della zona per la risorsa. Per altre informazioni, vedere Come abilitare l'archiviazione permanente in Azure Spring Apps.
Esperienza di riduzione della zona
Quando un'istanza dell'app ha esito negativo perché si trova in un nodo di macchina virtuale in una zona non riuscita, Azure Spring Apps crea una nuova istanza dell'app per l'app non riuscita in un altro nodo della macchina virtuale in un'altra zona di disponibilità. Gli utenti possono riscontrare una breve interruzione durante questo periodo. Non è necessaria alcuna azione dell'utente e l'istanza di Azure Spring Apps interessata verrà ripristinata dal servizio.
Prezzi
Non sono previsti costi aggiuntivi associati all'abilitazione della ridondanza della zona. È sufficiente pagare il piano Standard o Enterprise, necessario per abilitare la ridondanza della zona.
Ripristino di emergenza tra aree e continuità aziendale
Il ripristino di emergenza riguarda il ripristino da eventi ad alto impatto, ad esempio calamità naturali o distribuzioni non riuscite che comportano tempi di inattività e perdita di dati. Indipendentemente dalla causa, il miglior rimedio per un'emergenza è un piano di ripristino ben definito e testato e una progettazione di applicazioni che supporta attivamente tale ripristino. Prima di iniziare a pensare alla creazione del piano di ripristino di emergenza, vedere Consigli per la progettazione di una strategia di ripristino di emergenza.
Per quanto riguarda il ripristino di emergenza, Microsoft usa il modello di responsabilità condivisa. In un modello di responsabilità condivisa, Microsoft garantisce che siano disponibili l'infrastruttura di base e i servizi della piattaforma. Allo stesso tempo, molti servizi di Azure non replicano automaticamente i dati o non eseguono il fallback da un'area non riuscita per eseguire la replica incrociata in un'altra area abilitata. Per questi servizi, l'utente è responsabile della configurazione di un piano di ripristino di emergenza che funziona per il carico di lavoro. La maggior parte dei servizi eseguiti nelle offerte PaaS (Platform as a Service) di Azure offre funzionalità e linee guida per supportare il ripristino di emergenza ed è possibile usare funzionalità specifiche del servizio per supportare il ripristino rapido per lo sviluppo del piano di ripristino di emergenza.
Il servizio Azure Spring Apps non fornisce il ripristino di emergenza geografico, ma un'attenta pianificazione consente di evitare tempi di inattività.
Per garantire la disponibilità elevata e la protezione dalle emergenze, distribuire le applicazioni ospitate in Azure Spring Apps in più aree. Azure fornisce un elenco di aree abbinate in modo da poter pianificare le distribuzioni dell'app di conseguenza.
Quando si progetta l'architettura, tenere presenti i fattori chiave seguenti:
- Disponibilità in base all'area geografica. Per ridurre al minimo i tempi di ritardo e trasmissione della rete, scegliere un'area che supporta la ridondanza della zona di Azure Spring Apps o un'area geografica vicina agli utenti.
- Aree abbinate di Azure. Per garantire aggiornamenti coordinati della piattaforma e sforzi di ripristino con priorità, se necessario, scegliere le aree abbinate all'interno dell'area geografica scelta.
- Disponibilità del servizio. decidere se l'esecuzione delle aree associate deve essere ad accesso molto frequente/molto frequente, ad accesso molto frequente/frequente, ad accesso molto frequente/sporadico.
Usare Gestione traffico di Microsoft Azure per indirizzare il traffico
Gestione traffico di Azure fornisce il bilanciamento del carico del traffico basato su DNS e può distribuire il traffico di rete tra più aree. Usare Gestione traffico di Azure per indirizzare i clienti all'istanza del servizio Azure Spring Apps più vicina. Per ottenere prestazioni ottimali e ridondanza, indirizzare tutto il traffico dell'applicazione attraverso Gestione traffico di Azure prima di inviarlo all'istanza del servizio Azure Spring Apps. Per altre informazioni, vedere Gestione traffico di Azure
Se si dispone di applicazioni in App Spring di Azure in esecuzione in più aree, Gestione traffico di Azure può controllare il flusso di traffico verso le applicazioni in ogni area. Definire un endpoint Gestione traffico di Azure per ogni istanza del servizio usando l'INDIRIZZO IP dell'istanza. È consigliabile connettersi a un nome DNS Gestione traffico di Azure che punta all'istanza del servizio Azure Spring Apps. Gestione traffico di Azure esegue il bilanciamento del carico del traffico tra gli endpoint definiti. Se un'emergenza colpisce un data center, Gestione traffico di Azure indirizza il traffico da tale area alla coppia, garantendo la continuità del servizio.
Usare la procedura seguente per creare un'istanza di Gestione traffico di Azure per le istanze di Azure Spring Apps:
Creare istanze di Azure Spring Apps in due aree diverse. Ad esempio, creare istanze del servizio negli Stati Uniti orientali e nell'Europa occidentale, come illustrato nella tabella seguente. Ogni istanza funge da endpoint primario e di failover per il traffico.
Nome servizio Ufficio Applicazione service-sample-a Stati Uniti orientali gateway/auth-service/account-service service-sample-b Europa occidentale gateway/auth-service/account-service Configurare un dominio personalizzato per le istanze del servizio. Per altre informazioni, vedere Esercitazione: Eseguire il mapping di un dominio personalizzato esistente ad Azure Spring Apps. Al termine dell'installazione, entrambe le istanze del servizio verranno associate allo stesso dominio personalizzato, ad esempio
bcdr-test.contoso.com
.Creare una gestione traffico e due endpoint. Per istruzioni, vedere Avvio rapido: Creare un profilo di Gestione traffico usando il portale di Azure, che produce il profilo di Gestione traffico seguente:
- Nome DNS di Gestione traffico:
http://asa-bcdr.trafficmanager.net
- Profili endpoint:
Profilo Type Destinazione Priorità Impostazioni intestazione personalizzate Profilo endpoint A Endpoint esterno service-sample-a.azuremicroservices.io
1 host: bcdr-test.contoso.com
Profilo endpoint B Endpoint esterno service-sample-b.azuremicroservices.io
2 host: bcdr-test.contoso.com
- Nome DNS di Gestione traffico:
Creare un record CNAME in una zona DNS simile all'esempio seguente:
bcdr-test.contoso.com CNAME asa-bcdr.trafficmanager.net
.
L'ambiente è ora configurato. Se sono stati usati i valori di esempio negli articoli collegati, si dovrebbe essere in grado di accedere all'app usando https://bcdr-test.contoso.com
.
Usare Frontdoor di Azure e app Azure lication Gateway per instradare il traffico
Frontdoor di Azure è un punto di ingresso globale e scalabile che usa la rete perimetrale globale Microsoft per creare applicazioni Web veloci, sicure e ampiamente scalabili. Frontdoor di Azure offre la stessa ridondanza e routing multi-geografico all'area più vicina del Gestione traffico di Azure. Frontdoor di Azure offre anche funzionalità avanzate, ad esempio la terminazione del protocollo TLS, l'elaborazione a livello di applicazione e web application firewall (WAF). Per altre informazioni, vedere Che cos'è Frontdoor di Azure?
Il diagramma seguente illustra l'architettura di un'istanza del servizio Azure Spring Apps integrata in più aree. Il diagramma mostra la configurazione corretta del proxy inverso per gateway applicazione e Frontdoor con un dominio personalizzato. Questa architettura si basa sullo scenario descritto in Esporre applicazioni con TLS end-to-end in una rete virtuale. Questo approccio combina due istanze di Azure Spring Apps integrate nel gateway applicazione in un'istanza con ridondanza geografica.