Descrivere le opzioni di disponibilità elevata e ripristino di emergenza per le distribuzioni PaaS
La tecnologia PaaS funziona in modo diverso per quanto riguarda la disponibilità. È possibile configurare solo le opzioni fornite da Azure.
Per le opzioni basate su SQL Server del database SQL di Azure e di Istanza gestita di database SQL di Azure, è possibile configurare la replica geografica attiva (solo per il database SQL di Azure) e i gruppi di failover automatico (sia per il database SQL di Azure che per Istanza gestita di database SQL di Azure).
Database di Azure per MySQL ha un contratto di servizio che garantisce una disponibilità al 99,99%. In altri termini, il tempo di inattività dovrebbe essere quasi assente. Se per Database di Azure per MySQL si verifica un problema a livello di nodo, ad esempio un errore hardware, viene avviato automaticamente un meccanismo di failover integrato. Tutte le modifiche transazionali al database MySQL vengono scritte in modo sincrono nella risorsa di archiviazione al momento del commit. Se si verifica un'interruzione a livello di nodo, il server di database crea automaticamente un nuovo nodo e collega la risorsa di archiviazione dei dati.
Dal punto di vista delle applicazioni, sarà necessario codificare la logica di ripetizione dei tentativi da applicare perché tutte le connessioni verranno rimosse nel passaggio al nuovo nodo e le transazioni in corso andranno perse. Questo processo è considerato come una procedura consigliata per tutte le applicazioni cloud, poiché tali applicazioni devono essere progettate in modo da gestire gli errori temporanei.
Database di Azure per PostgreSQL usa un modello simile a MySQL per quanto riguarda la distribuzione standard, ma offre anche una soluzione denominata Citus, che fornisce scalabilità orizzontale e disponibilità elevata aggiuntiva per un gruppo di server. Se questa funzionalità è abilitata, viene configurata una replica di standby per ogni nodo di un gruppo di server, aumentando così il costo poiché il numero di server nel gruppo verrebbe raddoppiato. Se il nodo originale presenta un problema, ad esempio smette di rispondere o non funziona più del tutto, viene attivata la modalità di standby. La sincronizzazione dei dati viene assicurata dalla replica in modalità di streaming sincrono di PostgreSQL.
Come nel caso di Database di Azure per MySQL, le soluzioni basate su Database di Azure per PostgreSQL devono includere anche la logica di ripetizione dei tentativi nell'applicazione per gestire l'interruzione delle connessioni e perdita delle transazioni in corso.
Entrambi i servizi Database di Azure per MySQL e Database di Azure per PostgreSQL supportano l'opzione per una replica di lettura, ovvero una replica può essere usata per attività come la creazione di report per l'offload del lavoro dal database primario. Una replica di lettura migliora inoltre la disponibilità, poiché è posizionata in un'altra area.