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 | Sì | Sì |
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 | Sì | Sì | 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) | Sì | Gestiti dall'utente |
Failover forzato avviato dall'utente. | No | Sì | Gestiti dall'utente |
Failover trasparente dell'applicazione | Sì | Sì | Gestiti dall'utente |
Replica | |||
Supporto per le repliche in lettura | Sì | Sì | 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) | Sì | Sì | 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 | Sì | Sì | 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. | Sì | Sì | Gestiti dall'utente |
Punto di ripristino rapido | No | Sì | No |
Possibilità di eseguire il ripristino in una zona diversa | Non supportato | Sì | Sì |
Possibilità di eseguire il ripristino in una rete virtuale diversa | No | Sì | Sì |
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 | Sì | Sì | 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
- Vedere Prezzi di Database di Azure per MySQL.
- Iniziare creando il primo server.