Scegliere l'opzione di MySQL Server più adatta in Azure

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

Importante

Il server singolo del Database di Azure per MySQL è in fase di ritiro. È consigliabile eseguire l'aggiornamento al server flessibile del Database di Azure per MySQL. Per altre informazioni sulla migrazione a Database di Azure per MySQL - Server flessibile, vedere Cosa succede a Database di Azure per MySQL - Server singolo?

Con Azure, i carichi di lavoro del server MySQL possono essere eseguiti in un'infrastruttura di macchina virtuale come servizio (IaaS) ospitata o come piattaforma come servizio (PaaS) ospitata. PaaS dispone di due opzioni di distribuzione e sono presenti diversi 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, eseguire backup, effettuare azioni di sicurezza, monitoraggio e dimensionamento oppure se si vuole delegare queste operazioni ad Azure.

Ai fini della decisione è opportuno considerare 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 distribuito come servizio (DBaaS) ospitato nella piattaforma cloud di Azure, che rientra nella categoria dei 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. MySQL come servizio prevede un pagamento in base al consumo con la possibilità di aumentare o diminuire il numero di istanze per un maggiore controllo e senza interruzioni. Database di Azure per MySQL basato su MySQL Community Edition è disponibile in due modalità di distribuzione:

    • Server flessibile è un servizio di database pronto per la produzione e completamente gestito, progettato per un controllo più granulare e una maggiore flessibilità rispetto alle funzioni di gestione e alle impostazioni di configurazione del database. L'architettura del server flessibile consente agli utenti di scegliere la disponibilità elevata all'interno di una singola zona di disponibilità e tra più zone di disponibilità. I server flessibili forniscono controlli di ottimizzazione dei costi migliori con la possibilità di arrestare/avviare il server e il livello di calcolo della possibilità di burst, una soluzione 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 diverse 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 Server singolo è progettata per gestire la maggior parte delle funzioni di gestione di database, ad esempio l'applicazione di patch, i backup, la disponibilità elevata e la sicurezza con configurazione e controllo minimi dell'utente. 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 diverse aree di Azure. I server singoli sono più adatti solo per le applicazioni esistenti che stiano già utilizzando i server singoli. È consigliabile scegliere Server flessibile per tutti i nuovi sviluppi o le nuove migrazioni.

  • MySQL in VM di Azure Tale opzione rientra nella categoria di settore IaaS. Con questo servizio è possibile eseguire il server MySQL 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 unico
Database di Azure per MySQL
Server flessibile
MySQL in macchine virtuali di Azure
Generali
Disponibilità generale Generalmente disponibile Generalmente disponibile Generalmente disponibile
Contratto di servizio Disponibilità SLA 99,99% 99,99% di utilizzo delle zone di disponibilità 99,99% di utilizzo delle zone di disponibilità
SO sottostante Windows Linux Gestiti dall'utente
MySQL Edition Community Edition Community Edition Community o Enterprise Edition
Supporto delle versioni SQL 5.6 (ritirata), 5.7 e 8.0 5.7 e 8.0 Qualsiasi versione
Selezione della zona di disponibilità per la condivisione delle applicazioni No
Nome utente nella stringa di connessione <user_name>@server_name. Ad esempio, mysqlusr@mypgServer Solo nome utente. Ad esempio, mysqlusr Solo nome utente. Ad esempio, mysqlusr
Dimensionamento e calcolo delle risorse di archiviazione
Livello di calcolo Piani Basic, Per utilizzo generico, Ottimizzata per la memoria Possibilità di burst, Per utilizzo generico, Ottimizzata per la memoria Possibilità di burst, Per utilizzo generico, Ottimizzata 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 TiB
Dimensionamento delle risorse di archiviazione Supportata Supportato Non supportato
Dimensionamento automatico delle risorse di 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 possibilità di burst a basso costo Non supportato Supportata Supportata
Rete/Sicurezza
Connettività di rete - Endpoint pubblici con firewall del server.
- Accesso privato con supporto per il collegamento privato
- Endpoint pubblici con firewall del server.
- Accesso privato con supporto per il collegamento privato
- Accesso privato con integrazione della rete virtuale
- Endpoint pubblici con firewall del server.
- Accesso privato con supporto per il 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.3, 1.2 Supportato con TLS v1.2, 1.1 e 1.0
Crittografia dei dati inattivi Supportate con chiavi gestite dal cliente (BYOK) Supportate con chiavi gestite dal servizio Non supportato
Autenticazione Microsoft Entra Supportata Supportato Non supportato
Supporto di Microsoft Defender per il cloud No
Controllo server Supportata Supportata Gestiti 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 di MySQL sul posto Supportate dalla versione 5.6 alla versione 5.7 Supportato dalla versione 5.7 alla versione 8.0 Gestiti dall'utente
Controllo della manutenzione Gestita dal sistema Gestita dal cliente Gestiti dall'utente
Finestra di manutenzione In qualsiasi momento entro una finestra di 15 ore Finestra di un’ora Gestiti dall'utente
Notifica di manutenzione pianificata Tre giorni Cinque giorni Gestiti dall'utente
Disponibilità elevata
Disponibilità elevata Disponibilità elevata incorporata (senza standby con livello di accesso frequente) Disponibilità elevata incorporata (senza standby con livello di accesso frequente), stessa zona e disponibilità elevata con ridondanza della zona con standby con livello di accesso frequente Gestiti dall'utente
Ridondanza della zona Non supportato Supportata Supportata
Posizionamento della zona di standby Non supportato Supportata Supportata
Failover automatico Sì (fa girare un altro server) Gestiti dall'utente
Failover forzato avviato dall'utente. No Gestiti dall'utente
Failover trasparente dell'applicazione Gestiti dall'utente
Replica
Supporto per le repliche in lettura Gestiti dall'utente
Numero di repliche in lettura supportate 5 10 Gestiti dall'utente
Modalità di replica Asincrona Asincrona Gestiti dall'utente
Supporto Gtid per le repliche in lettura Supportata Supportata Gestiti dall'utente
Supporto tra aree geografiche (replica geografica) Gestiti dall'utente
Scenari ibridi Supportato con replica dei dati in ingresso Supportato con replica dei dati in ingresso Gestiti dall'utente
Supporto Gtdi per la replica dei dati in ingresso Supportata Supportata Gestiti dall'utente
Replica dei dati in uscita Non supportato Supportata Supportata
Backup e ripristino
Backup automatizzati No
Conservazione dei backup 7-35 giorni 1-35 giorni Gestiti dall'utente
Backup con conservazione a lungo termine Gestiti dall'utente Gestiti dall'utente Gestiti dall'utente
Esportazione di backup Supportato tramite backup logici Supportato tramite backup logici Supportata
Possibilità di ripristino temporizzato in un punto temporale qualsiasi entro il periodo di conservazione. Gestiti 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) Gestiti 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 Gestiti dall'utente
Failover automatico No No No
Può usare lo stesso endpoint in lettura/scrittura No Non supportato No
Monitoraggio
Integrazione e avvisi di Monitoraggio di Azure Supportata Supportata Gestiti dall'utente
Monitoraggio delle operazioni del database Supportata Supportata Gestiti dall'utente
Analisi delle prestazioni della query Supportata Supportato (con Workbooks) Gestiti dall'utente
Log del server Supportata Supportato (con log di diagnostica) Gestiti dall'utente
Log di controllo Supportata Supportato Supportata
Log degli errori Non supportato Supportata Supportata
Supporto di Azure Advisor Supportata Supportato Non supportato
Plug-in
validate_password Non supportato In anteprima Supportata
caching_sha2_password Non supportato In anteprima Supportata
Produttività degli 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
GitHub Actions Supportata Supportata Gestiti 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 in 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 automaticamente configura, esegue patch e aggiorna il software del database. Queste azioni automatiche riducono i costi amministrativi. Database di Azure per MySQL offre anche funzionalità di backup automatizzate. Le funzionalità di backup predefinite consentono di ottenere una significativa riduzione dei costi, specialmente per numerosi 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 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 VM, è possibile usare le opzioni di disponibilità elevata, ad esempio replica di MySQL disponibili 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 consigli sulle prestazioni

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

  • Con Database di Azure per MySQL è possibile continuare ad 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. Con una macchina virtuale, si decide quando eseguire l'aggiornamento o l'upgrade del sistema operativo e del software del database e quali patch applicare. Si sceglie inoltre quando installare software aggiuntivi, ad esempio un'applicazione antivirus. Sono disponibili alcune funzionalità automatizzate che semplificano notevolmente la disponibilità elevata, il backup e l'applicazione di patch. È 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 i fattori critici sono la produttività degli sviluppatori e un time-to-market rapido per le nuove soluzioni. Con funzionalità a livello di codice come DBA, il servizio si adatta ad architetti e sviluppatori di cloud perché riduce la necessità di gestire il sistema operativo e il database sottostanti.

  • Quando si vuole risparmiare tempo e costi di acquisizione per un nuovo hardware locale, MySQL in macchine virtuali di Azure è la soluzione ideale per le applicazioni che richiedono un controllo granulare e la personalizzazione del motore MySQL non supportato 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 la presentazione, l'applicazione e i livelli dati, si risparmia il tempo e i costi legati a una nuova progettazione dell'architettura della 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