Quando usare Database di Azure per MySQL

Completato

In questa unità si esamina come determinare se Database di Azure per MySQL si adatta all'architettura dell'applicazione e al processo di sviluppo. Gli sviluppatori, concentrandosi sull'applicazione principale anziché sulle complessità della gestione del database, ad esempio le caratteristiche delle VM, il controllo delle versioni e le configurazioni di sicurezza, possono accelerare i cicli di sviluppo. Database di Azure per MySQL, un servizio gestito, consente questo cambiamento di attenzione gestendo le complesse attività di gestione del database, allineando in tal modo le attività degli sviluppatori a obiettivi di produttività e innovazione.

Per gli scenari che richiedono versioni specifiche di MySQL non supportate dal server flessibile di Database di Azure per MySQL o se un maggiore controllo sull'ambiente del database è fondamentale, l’esecuzione di MySQL nelle VM di Azure offre un'alternativa valida. Questa soluzione IaaS (Infrastructure as a Service) consente di personalizzare e gestire in modo dettagliato il database, rendendolo adatto ad applicazioni specialistiche o legacy che si basano su specifiche funzionalità di MySQL.

Verranno valutate in dettaglio queste opzioni in base a criteri decisionali chiave, ad esempio il lavoro amministrativo, il costo e le opzioni di disponibilità elevata, per identificare la scelta più adatta per le proprie specifiche esigenze.

Criteri decisionali

Per decidere tra l'uso di MySQL sulle macchine virtuali di Azure o Database di Azure per MySQL, è essenziale comprendere in che modo ogni opzione è allineata alle esigenze dell'organizzazione in termini di risorse amministrative, costi e disponibilità elevata. Nella tabella seguente viene visualizzato un confronto dettagliato per aiutare nel prendere una decisione:

Criteri Database di Azure per MySQL MySQL in macchine virtuali di Azure
Lavoro amministrativo Richiede un impegno amministrativo minimo perché è un servizio completamente gestito. Azure gestisce tutte le operazioni di manutenzione, aggiornamenti e backup, consentendo agli sviluppatori di concentrarsi sullo sviluppo di applicazioni anziché sulla gestione del database. Nonostante sia completamente gestito, consente ancora la flessibilità e controllo sulle funzioni di gestione del database, sulle impostazioni di configurazione e sulle finestre di manutenzione pianificata. Richiede un notevole impegno amministrativo perché comporta la gestione della VM, del sistema operativo e del motore di database. Sono incluse attività come gli aggiornamenti di sistema, le patch di sicurezza e i backup, fornendo controllo completo e personalizzazione, ma anche aumentando la responsabilità.
Costo Offre una gamma di piani tariffari adatti per esigenze diverse, dalle applicazioni leggere alle soluzioni di livello aziendale. I costi variano in base al livello scelto e le risorse vengono fatturate in base all'uso, offrendo potenziali risparmi sui costi tramite i servizi gestiti. Database di Azure per MySQL offre una versione di prova gratuita con un account gratuito di Azure. Offre anche funzionalità di controllo dei costi, ad esempio la possibilità di arrestare il server quando non è in uso e la scalabilità automatica delle operazioni di I/O al secondo (IOPS). Generalmente implica il costo delle VM, dell'archiviazione e del sovraccarico aggiuntivo per la gestione dell'infrastruttura. Inoltre, l'implementazione di funzionalità come disponibilità elevata, backup e altre attività di gestione comporta costi aggiuntivi, a differenza di Database di Azure per MySQL, in cui queste funzionalità sono predefinite.
Opzioni di disponibilità elevata Fornisce soluzioni integrate per l'alta disponibilità, incluse distribuzioni con ridondanza della zona geografica senza configurazioni aggiuntive. Ciò semplifica il raggiungimento della disponibilità elevata poiché è gestita da Azure, garantendo che il database sia resiliente ai guasti con un tempo di inattività minimo. La disponibilità elevata deve essere configurata e gestita manualmente, con la configurazione di meccanismi di failover e potenzialmente servizi di Azure aggiuntivi. Ciò garantisce flessibilità e personalizzazione a fronte di una maggiore complessità e potenziali problemi di configurazione e manutenzione.

Dati analitici comparativi

Lavoro amministrativo

  • Controllo e convenienza: MySQL in VM di Azure è adatto per le organizzazioni che richiedono un controllo approfondito sull'ambiente di database per la conformità, la compatibilità legacy o l'ottimizzazione di prestazioni specifiche. Questo modello è preferibile quando la personalizzazione e il controllo amministrativo diretto sono prioritari rispetto alla convenienza operativa.
  • Riduzione dei carichi amministrativi: Database di Azure per MySQL offre un ambiente gestito in cui Azure gestisce il carico operativo per la gestione di server fisici, sistemi operativi e attività di gestione database di base, riducendo significativamente il tempo amministrativo e le risorse, e consentendo ai team di concentrarsi su attività strategiche che aggiungono ulteriore valore all'azienda.
  • Flessibilità e scalabilità: Entrambi i modelli offrono opzioni di scalabilità, anche se i meccanismi sono differenti. Le VM di Azure offrono la flessibilità necessaria per ridimensionare e regolare manualmente le risorse, mentre Database di Azure per MySQL offre opzioni di scalabilità semplici gestite tramite il portale di Azure, riducendo la complessità necessaria per la gestione delle risorse. Inoltre, il server flessibile di Database di Azure per MySQL consente flessibilità e controllo granulare rispetto alle funzioni di gestione del database e alle impostazioni di configurazione, offrendo un vantaggio fondamentale per ottimizzare le prestazioni e il comportamento.

La scelta tra questi modelli dipende dalle esigenze, dalle competenze e dalle priorità dell'organizzazione. Se sono necessari controlli e personalizzazioni a livello esteso, MySQL nelle VM di Azure potrebbe essere la scelta migliore. Viceversa, se la facilità di gestione e la riduzione del sovraccarico amministrativo sono più critici, Database di Azure per MySQL è una soluzione vantaggiosa.

Costo

La scelta di Database di Azure per MySQL generalmente riduce il costo amministrativo e la complessità perché elimina la necessità di gestire direttamente il software del database e il sistema operativo. Questo modello di servizio gestito è generalmente più conveniente per le aziende che non richiedono le opzioni di personalizzazione approfondite che l'esecuzione di MySQL su una VM offre.

D'altra parte, MySQL nelle macchine virtuali di Azure potrebbe comportare costi più elevati a causa della necessità di una gestione pratica maggiore, ma offre un maggiore controllo sul database e sul sistema operativo, utile per esigenze specialistiche che non sono supportate dalla piattaforma gestita.

Entrambe le opzioni offrono scalabilità, ma la capacità del server flessibile di regolare dinamicamente le risorse e l'addebito solo per l'uso effettivo può offrire vantaggi sui costi in condizioni di carico di lavoro variabili. Comprendendo queste differenze, sarà possibile scegliere l'opzione migliore in base ai requisiti e ai vincoli di budget specifici.

Disponibilità elevata

La disponibilità elevata (HA) garantisce che le applicazioni rimangano accessibili con tempi di inattività minimi, anche durante guasti del sistema o eventi di manutenzione.

L'implementazione della disponibilità elevata nelle VM di Azure comporta un notevole livello di configurazione manuale. L'utente è responsabile della configurazione di più componenti, ad esempio la configurazione del clustering di failover, della replica e del bilanciamento del carico. Questo approccio offre un elevato livello di personalizzazione, consentendo di personalizzare l'architettura a disponibilità elevata (HA) per soddisfare requisiti specifici. Tuttavia, richiede una conoscenza approfondita sia dell'infrastruttura di Azure che di MySQL e generalmente comporta costi più elevati a causa delle complessità di gestione di VM e componenti di rete aggiuntivi necessari per una solida configurazione con disponibilità elevata (HA).

D'altra parte, Database di Azure per MySQL offre disponibilità elevata predefinita senza costi o configurazione aggiuntivi. Questo servizio gestisce automaticamente il failover in repliche di standby in zone di disponibilità diverse, garantendo l'operatività dei servizi di database anche in caso di arresto di una zona. La soluzione con disponibilità elevata (HA) gestita fornita da Database di Azure per MySQL riduce significativamente il sovraccarico amministrativo, poiché le configurazioni di replica, failover e rete sono tutte gestite da Azure, consentendo agli sviluppatori di concentrarsi maggiormente sullo sviluppo di applicazioni anziché sulla gestione dell'infrastruttura.

Riepilogo

La scelta tra Database di Azure per MySQL e MySQL in VM di Azure spesso dipende dai requisiti specifici delle applicazioni e delle preferenze organizzative relative al controllo, ai costi e al sovraccarico amministrativo. Per le applicazioni in cui le funzionalità MySQL standard sono sufficienti e la facilità di gestione è importante, Database di Azure per MySQL generalmente rappresenta la scelta migliore. Viceversa, se l'applicazione richiede configurazioni MySQL specifiche o è necessario ottimizzare l'ambiente di database a un livello esteso, MySQL nelle VM di Azure potrebbe essere la soluzione più adatta.

Per decidere, considerare non solo i requisiti correnti, ma anche la potenziale scalabilità e l'evoluzione delle applicazioni, per garantire che la soluzione di database scelta possa crescere e adattarsi all'azienda.

Riassumendo, consulta le indicazioni seguenti.

Scegliere MySQL in macchine virtuali di Azure quando:

  • Si vogliono evitare il tempo e i costi per l'acquisizione di nuovo hardware locale.
  • Sono necessarie versioni specifiche di MySQL non supportate dal server flessibile.
  • Sono necessari un controllo granulare e la personalizzazione del motore MySQL, non supportati dal servizio Database di Azure per MySQL.

Scegli Database di Azure per MySQL quando:

  • Si desidera disponibilità elevata nella stessa zona o con ridondanza della zona.
  • È necessario il massimo controllo con la possibilità di selezionare la finestra di manutenzione pianificata.
  • È necessaria la protezione dei dati tramite backup automatici e ripristino temporizzato per un periodo fino a 35 giorni.
  • Si preferisce l'applicazione automatica delle patch e la manutenzione per l'hardware, il sistema operativo e il motore di database sottostanti per mantenere il servizio sicuro e aggiornato.
  • Richiede prestazioni prevedibili e prezzi inclusivi basati sul pagamento in base al consumo.
  • Necessita di ridimensionamento elastico in pochi secondi.
  • Si cerca di ottimizzare i costi con SKU con possibilità di burst a basso costo e la possibilità di arrestare/avviare il server.
  • Richiedere una sicurezza di livello aziendale, una conformità leader nel settore e una privacy per proteggere i dati sensibili a riposo e in movimento.
  • Si desidera il monitoraggio e l'automazione per semplificare la gestione e il monitoraggio per distribuzioni su larga scala.
  • Sono necessari un controllo e una personalizzazione migliori sullo sviluppo delle app.
  • È necessario implementare il ridimensionamento orizzontale con un sovraccarico minimo usando le repliche in lettura.
  • Si desidera beneficiare di un'esperienza di supporto leader del settore.