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 | Sì | Sì |
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 | Sì | Sì | 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) | Sì | Gestito dall'utente |
Failover forzato avviato dall'utente | No | Sì | Gestito dall'utente |
Failover dell'applicazione trasparente | Sì | Sì | Gestito dall'utente |
Replica | |||
Supporto per le repliche in lettura | Sì | Sì | 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) | Sì | 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 | Sì | Sì | 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 | Sì | Sì | Gestito 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) | Gestito 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 | 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
- Vedere Database di Azure per MySQL prezzi.
- Iniziare creando il primo server.