Scegliere l'opzione mySQL Server corretta in Azure

SI APPLICA A: Database di Azure per MySQL - Server singolo Database di Azure per MySQL - Server flessibile

Importante

Database di Azure per MySQL server singolo si trova nel percorso di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per MySQL server flessibile. Per altre informazioni sulla migrazione a Database di Azure per MySQL server flessibile, vedere Che cosa accade a Database di Azure per MySQL server singolo?

Con Azure, i carichi di lavoro del server MySQL possono essere eseguiti in un'infrastruttura distribuita come servizio (IaaS) ospitata o come piattaforma distribuita come servizio (PaaS). PaaS include due opzioni di distribuzione e sono disponibili livelli di servizio all'interno di ogni opzione di distribuzione. Quando si sceglie tra IaaS e PaaS, è necessario decidere se si vuole gestire il database, applicare patch, backup, sicurezza, monitoraggio e ridimensionamento oppure delegare queste operazioni ad Azure.

Quando si prende la decisione, prendere in considerazione le due opzioni seguenti:

  • Database di Azure per MySQL. Questa opzione rientra nella categoria di settore paaS e rappresenta un motore di database MySQL completamente gestito in base alla versione stabile dell'edizione community di MySQL. Questo database relazionale come servizio (DBaaS), ospitato nella piattaforma cloud di Azure, rientra nella categoria di settore paaS. Con un'istanza gestita di MySQL in Azure, è possibile usare funzionalità predefinite con patch automatizzate, disponibilità elevata, backup automatizzati, scalabilità elastica, sicurezza di livello aziendale, conformità e governance, monitoraggio e avvisi che richiedono una configurazione estesa quando MySQL Server è locale o in una macchina virtuale di Azure. Quando si usa MySQL come servizio, si paga in base al consumo, con opzioni per aumentare o aumentare le prestazioni per un maggiore controllo senza interruzioni. Database di Azure per MySQL, con tecnologia MySQL Community Edition, è disponibile in due modalità di distribuzione:

    • Il server flessibile è un servizio di database completamente pronto per la produzione progettato per un controllo e una flessibilità più granulari rispetto alle funzioni di gestione del database e alle impostazioni di configurazione. L'architettura del server flessibile consente agli utenti di scegliere la disponibilità elevata all'interno di una singola zona di disponibilità e in più zone di disponibilità. I server flessibili offrono controlli di ottimizzazione dei costi migliori con la possibilità di arrestare/avviare il server e il livello di calcolo con burst, ideale per i carichi di lavoro che non necessitano di capacità di calcolo completa in modo continuo. Il server flessibile supporta anche istanze riservate che consentono di risparmiare fino al 63% dei costi, ideale per i carichi di lavoro di produzione con requisiti di capacità di calcolo prevedibili. Il servizio supporta la versione community di MySQL 5.7 e 8.0. Il servizio è attualmente disponibile a livello generale in varie aree di Azure. I server flessibili sono più adatti per tutti i nuovi sviluppi e la migrazione dei carichi di lavoro di produzione al servizio Database di Azure per MySQL.

    • Server singolo è un servizio di database completamente gestito progettato per una personalizzazione minima. La piattaforma a server singolo è progettata per gestire la maggior parte delle funzioni di gestione del database, ad esempio l'applicazione di patch, i backup, la disponibilità elevata e la sicurezza con una configurazione e un controllo utente minimi. L'architettura è ottimizzata per la disponibilità elevata predefinita con disponibilità del 99,99% in una singola zona di disponibilità. Supporta la versione community di MySQL 5.6 (ritirata), 5.7 e 8.0. Il servizio è attualmente disponibile a livello generale in varie aree di Azure. I server singoli sono più adatti solo per le applicazioni esistenti che riguardano già server singoli. È consigliabile scegliere Server flessibile per tutti i nuovi sviluppi o migrazioni.

  • MySQL nelle macchine virtuali di Azure. Questa opzione rientra nella categoria di settore di IaaS. Con questo servizio è possibile eseguire MySQL Server all'interno di una macchina virtuale gestita nella piattaforma cloud di Azure. È possibile installare tutte le versioni e le edizioni recenti di MySQL in una macchina virtuale.

Confrontare le opzioni di distribuzione mySQL in Azure

Le differenze principali tra queste opzioni sono elencate nella tabella seguente:

Attributo Database di Azure per MySQL
Server singolo
Database di Azure per MySQL
Server flessibile
MySQL in macchine virtuali di Azure
Generali
Disponibilità generale Disponibile a livello generale Disponibile a livello generale Disponibile a livello generale
Contratto di servizio Contratto di servizio con disponibilità del 99,99% 99,99% utilizzando zone di disponibilità 99,99% utilizzando zone di disponibilità
O/S sottostante Windows Linux Gestito dall'utente
MySQL Edition Community Edition Community Edition Community o edizione Enterprise
Supporto della versione di MySQL 5.6(Ritirato), 5.7 & 8.0 5.7 & 8.0 Qualsiasi versione
Selezione della zona di disponibilità per la condivisione delle applicazioni No
Nome utente in stringa di connessione <user_name>@server_name. Ad esempio, mysqlusr@mypgServer Solo nome utente. Ad esempio, mysqlusr Solo nome utente. Ad esempio, mysqlusr
Calcolo e scalabilità Archiviazione
Livello di calcolo Basic, Utilizzo generico, Ottimizzato per la memoria Burstable, Utilizzo generico, Ottimizzato per la memoria Burstable, Utilizzo generico, Ottimizzato per la memoria
Ridimensionamento delle risorse di calcolo Supportato (il ridimensionamento da e verso il livello Basic non è supportato) Supportata Supportata
Dimensioni dello spazio di archiviazione Da 5 GiB a 16 TiB Da 20 GiB a 16 TiB Da 32 GiB a 32.767 GiB
Ridimensionamento Archiviazione online Supportata Supportato Non supportato
Ridimensionamento automatico dell'archiviazione Supportata Supportato Non supportato
Ridimensionamento operazioni di I/O al secondo Non supportato Supportato Non supportato
Ottimizzazione dei costi
Prezzi delle istanze riservate Supportata Supportato Supportata
Arrestare/avviare il server per lo sviluppo Il server può essere arrestato fino a sette giorni Il server può essere arrestato fino a 30 giorni Supportata
SKU con burst a basso costo Non supportato Supportata Supportata
Rete/sicurezza
Connettività di rete - Endpoint pubblici con firewall del server.
- Accesso privato con supporto collegamento privato.
- Endpoint pubblici con firewall del server.
- Accesso privato con supporto collegamento privato.
- Accesso privato con integrazione Rete virtuale.
- Endpoint pubblici con firewall del server.
- Accesso privato con supporto collegamento privato.
SSL/TLS Abilitato per impostazione predefinita con supporto per TLS v1.2, 1.1 e 1.0 Abilitato per impostazione predefinita con supporto per TLS v1.2, 1.1 e 1.0 Supportato con TLS v1.2, 1.1 e 1.0
Crittografia dei dati inattivi Supportato con chiavi gestite dal cliente (BYOK) Supportato con chiavi gestite dal servizio Non supportato
Autenticazione Microsoft Entra Supportata Supportato Non supportato
supporto Microsoft Defender per il cloud No
Controllo server Supportata Supportata Gestito dall'utente
Applicazione di patch e manutenzione
Applicazione di patch al sistema operativo Automatico Automatico Gestiti dall'utente
Aggiornamento della versione secondaria di MySQL Automatico Automatico Gestiti dall'utente
Aggiornamento della versione principale sul posto di MySQL Supportato dalla versione 5.6 alla versione 5.7 Non supportato Gestito dall'utente
Controllo della manutenzione Gestito dal sistema Gestita dal cliente Gestiti dall'utente
Finestra di manutenzione In qualsiasi momento entro una finestra di 15 ore 1 ora finestra Gestiti dall'utente
Notifica di manutenzione pianificata Tre giorni Cinque giorni Gestiti dall'utente
Disponibilità elevata
Disponibilità elevata Disponibilità elevata incorporata (senza hot standby) Disponibilità elevata incorporata (senza hot standby), stessa zona e disponibilità elevata con ridondanza della zona con hot standby Gestiti dall'utente
Ridondanza della zona Non supportato Supportata Supportata
Posizionamento della zona di standby Non supportato Supportata Supportata
Failover automatico Sì (ruota un altro server) Gestito dall'utente
Failover forzato avviato dall'utente No Gestito dall'utente
Failover dell'applicazione trasparente Gestito dall'utente
Replica
Supporto per le repliche in lettura Gestito dall'utente
Numero di repliche in lettura supportate 5 10 Gestito dall'utente
Modalità di replica Asincrona Asincrona Gestito dall'utente
Supporto gtid per le repliche in lettura Supportata Supportata Gestito dall'utente
Supporto tra aree geografiche (replica geografica) Non supportato Gestito dall'utente
Scenari ibridi Supportato con la replica dei dati in ingresso Supportato con la replica dei dati in ingresso Gestito dall'utente
Supporto gtid per la replica dei dati in ingresso Supportato Non supportato Gestito dall'utente
Replica di dati in uscita Non supportato Supportata Supportata
Backup e ripristino
Backup automatizzati No
Conservazione dei backup 7-35 giorni 1-35 giorni Gestito dall'utente
Backup con conservazione a lungo termine Gestito dall'utente Gestito dall'utente Gestito dall'utente
Esportazione di backup Supportato tramite backup logici Supportato tramite backup logici Supportata
Funzionalità di ripristino temporizzato in qualsiasi momento entro il periodo di conservazione Gestito dall'utente
Punto di ripristino rapido No No
Possibilità di eseguire il ripristino in una zona diversa Non supportato
Possibilità di eseguire il ripristino in una rete virtuale diversa No
Possibilità di eseguire il ripristino in un'area diversa Sì (con ridondanza geografica) Sì (con ridondanza geografica) Gestito dall'utente
Possibilità di ripristinare un server eliminato No
Ripristino di emergenza
Ripristino di emergenza tra aree di Azure Uso di repliche in lettura tra aree, backup con ridondanza geografica Uso del backup con ridondanza geografica Gestito dall'utente
Failover automatico No Non supportato No
Può usare lo stesso endpoint r/w No Non supportato No
Monitoraggio
Integrazione e avvisi di Monitoraggio di Azure Supportata Supportata Gestito dall'utente
Monitoraggio delle operazioni del database Supportata Supportata Gestito dall'utente
Analisi delle prestazioni della query Supportata Supportato (con cartelle di lavoro) Gestito dall'utente
Log del server Supportata Supportato (uso dei log di diagnostica) Gestito dall'utente
Log di controllo Supportata Supportato Supportata
Log degli errori Non supportato Supportata Supportata
Supporto di Azure Advisor Supportato Non supportato Non supportato
Plug-in
validate_password Non supportato In anteprima Supportata
caching_sha2_password Non supportato In anteprima Supportata
Produttività per sviluppatori
Gestione della flotta Supportato con l'interfaccia della riga di comando di Azure, PowerShell, REST e Azure Resource Manager Supportato con l'interfaccia della riga di comando di Azure, PowerShell, REST e Azure Resource Manager Supportato per le macchine virtuali con l'interfaccia della riga di comando di Azure, PowerShell, REST e Azure Resource Manager
Supporto terraform Supportata Supportato Supportata
Azioni di GitHub Supportata Supportata Gestito dall'utente

Motivazioni aziendali per la scelta di PaaS o IaaS

Diversi fattori possono influenzare se si sceglie PaaS o IaaS per ospitare i database MySQL.

Costo

La riduzione dei costi è spesso la considerazione principale per determinare la soluzione migliore per l'hosting dei database. Ciò vale sia per le startup con scarse disponibilità economiche, sia per team di una società consolidata che operano con vincoli di budget limitati. Questa sezione descrive le nozioni di base sulla fatturazione e sulle licenze in Azure perché si applicano a Database di Azure per MySQL e MySQL nelle macchine virtuali di Azure.

Fatturazione

Database di Azure per MySQL è attualmente disponibile come servizio in diversi livelli con prezzi delle risorse diversi. Tutte le risorse vengono fatturate su base oraria a una tariffa fissa. Per le informazioni più recenti sui livelli di servizio attualmente supportati, sulle dimensioni di calcolo e sugli importi di archiviazione, vedere la pagina dei prezzi. È possibile modificare in modo dinamico i livelli di servizio e le dimensioni di calcolo per soddisfare le diverse esigenze di velocità effettiva dell’applicazione. Viene fatturato il traffico Internet in uscita a una velocità di trasferimento dati normale.

Con Database di Azure per MySQL, Microsoft configura, applica patch e aggiorna automaticamente il software di database. Queste azioni automatiche riducono i costi amministrativi. Inoltre, Database di Azure per MySQL offre funzionalità di backup automatizzate. Queste funzionalità consentono di ottenere risparmi significativi sui costi, soprattutto quando si hanno molti database. Al contrario, con MySQL nelle macchine virtuali di Azure, è possibile scegliere ed eseguire qualsiasi versione di MySQL. Indipendentemente dalla versione di MySQL usata, si paga per la macchina virtuale di cui è stato effettuato il provisioning, i costi di archiviazione associati ai dati, il backup, il monitoraggio dei dati e l'archiviazione dei log e i costi per il tipo di licenza MySQL specifico usato (se presente).

Database di Azure per MySQL offre disponibilità elevata predefinita per l'interruzione a livello di nodo, mantenendo al contempo la garanzia del contratto di servizio del 99,99%. Tuttavia, per la disponibilità elevata del database all'interno delle macchine virtuali, si usano le opzioni di disponibilità elevata, ad esempio la replica MySQL disponibile in un database MySQL. L'uso di un'opzione di disponibilità elevata supportata non fornisce un contratto di servizio aggiuntivo. Ma consente di ottenere più del 99,99% di disponibilità del database a costi aggiuntivi e costi amministrativi.

Per altre informazioni sui prezzi, vedere gli articoli seguenti:

Amministrazione

Per molte aziende, la decisione di passare a un servizio cloud dipende tanto dalla necessità di semplificare l'amministrazione quanto dai costi.

Con IaaS, Microsoft:

  • Amministra l'infrastruttura sottostante.
  • Fornisce l'applicazione automatica delle patch per l'hardware e il sistema operativo sottostanti.

Con PaaS, Microsoft:

  • Amministra l'infrastruttura sottostante.
  • Fornisce l'applicazione automatica delle patch per l'hardware, il sistema operativo e il motore di database sottostanti.
  • Gestisce la disponibilità elevata del database.
  • Esegue automaticamente i backup e replica tutti i dati per fornire il ripristino di emergenza.
  • Crittografa i dati inattivi e in movimento per impostazione predefinita.
  • Monitora il server e fornisce funzionalità per informazioni dettagliate sulle prestazioni delle query e raccomandazioni sulle prestazioni

L'elenco seguente descrive le considerazioni amministrative per ogni opzione:

  • Con Database di Azure per MySQL, è possibile continuare a amministrare il database. Tuttavia, non è più necessario gestire il motore di database, il sistema operativo o l'hardware. Esempi di elementi che è possibile continuare ad amministrare includono:

    • Database
    • Accedi
    • Ottimizzazione indici
    • Ottimizzazione delle query
    • Controllo
    • Sicurezza

    Inoltre, la configurazione della disponibilità elevata per un altro data center richiede una configurazione e un'amministrazione da minime a nulle.

  • Con MySQL nelle macchine virtuali di Azure, è possibile controllare il sistema operativo e la configurazione dell'istanza del server MySQL. Si decide quando aggiornare o aggiornare il sistema operativo e il software di database con una macchina virtuale e quali patch applicare. Si sceglie anche quando installare qualsiasi software aggiuntivo, ad esempio un'applicazione antivirus. Alcune funzionalità automatizzate vengono fornite per semplificare in modo significativo l'applicazione di patch, il backup e la disponibilità elevata. È possibile controllare le dimensioni della macchina virtuale, il numero di dischi e le relative configurazioni di archiviazione. Per altre informazioni, vedere la pagina Dimensioni delle macchine virtuali e dei servizi cloud per Azure.

È il momento di passare ad Azure

  • Database di Azure per MySQL è la soluzione ideale per le applicazioni progettate per il cloud quando la produttività degli sviluppatori e il time-to-market rapido per le nuove soluzioni sono fondamentali. Con funzionalità a livello di codice come DBA, il servizio si adatta a cloud architect e sviluppatori perché riduce la necessità di gestire il sistema operativo e il database sottostanti.

  • Quando si vuole evitare il tempo e i costi di acquisizione di nuovi hardware locali, MySQL in macchine virtuali di Azure è la soluzione ideale per le applicazioni che richiedono un controllo granulare e la personalizzazione del motore MySQL non supportati dal servizio o che richiedono l'accesso al sistema operativo sottostante. Questa soluzione è adatta anche per la migrazione di database e applicazioni locali esistenti in Azure intatti per i casi in cui Database di Azure per MySQL non è adatto.

Poiché non è necessario modificare i livelli di presentazione, applicazione e dati, è possibile risparmiare tempo e budget per riprogettare la soluzione esistente. È invece possibile concentrarsi sulla migrazione di tutte le soluzioni ad Azure e sulla risoluzione di alcune ottimizzazioni delle prestazioni che la piattaforma Azure potrebbe richiedere.

Passaggi successivi