Vai al contenuto principale

Azure MySQL Flexible Server: architettura, scalabilità e consigli

Scopri come Azure Database for MySQL - Flexible Server alimenta i workflow dati moderni con un’architettura avanzata, ottimizzazione dei costi e integrazione fluida con Azure.
· 12 min leggi

Scopri con l'IA

Azure Database for MySQL Flexible Server è il servizio MySQL gestito di Microsoft, pensato per applicazioni moderne e guidate dai dati che richiedono prestazioni elevate, scalabilità e controllo. Offre un’architettura più personalizzabile rispetto al precedente modello a server singolo, consentendoti una regolazione più fine di compute, storage, zone di disponibilità e finestre di manutenzione.

Per i nuovi progetti su Azure, Microsoft ora consiglia Flexible Server. Offre prestazioni migliorate, scalabilità ottimizzata in termini di costi e configurazioni di alta disponibilità potenziate. Flexible Server fornisce a data scientist e ingegneri il giusto equilibrio tra comodità del gestito e flessibilità operativa, che si tratti di creare pipeline di analytics, supportare carichi transazionali su larga scala o realizzare dashboard in tempo reale.

In questo articolo ti spiegherò l’architettura di Flexible Server, illustrerò le opzioni di scalabilità disponibili e fornirò le best practice per usare il database. Se sei alle prime armi con MySQL, ti consiglio di consultare il nostro Tutorial MySQL per capire come usare il database MySQL per creare database ed eseguire query SQL. 

Concetti chiave di MySQL Flexible Server

Azure Database for MySQL Flexible Server separa compute e storage, permettendoti di scalarli in modo indipendente, così da ottimizzare costi e prestazioni. Di seguito i suoi concetti di base:

Modello di distribuzione

Azure Database for MySQL Flexible Server offre tre livelli di compute pensati per diverse esigenze di carico:

  • Burstable: Progettato per sviluppo a basso costo, test o carichi con domanda CPU bassa che non richiedono capacità di calcolo continua a pieno regime. Usa macchine virtuali burstable serie B e offre un punto di ingresso conveniente per applicazioni nelle fasi iniziali o meno intensive.
  • General Purpose: Adatto alla maggior parte dei carichi critici per il business che richiedono CPU e memoria bilanciate con throughput I/O scalabile. Usa macchine virtuali serie D e supporta applicazioni di produzione come web e mobile app con prestazioni e scalabilità prevedibili.
  • Business Critical: Destinato a carichi database ad alte prestazioni che necessitano di performance in-memory per elaborazione transazionale più rapida, maggiore concorrenza e latenza inferiore. Usa VM serie E ed è ideale per elaborazione dati in tempo reale e carichi transazionali o analitici impegnativi.

Panoramica dell’architettura

Flexible Server fornisce questi due modelli di architettura ad alta disponibilità (HA) per garantire uptime e ridondanza dei dati:

  • Single Availability Zone (AZ): In questo modello compute e storage si trovano nello stesso data center fisico. Questa opzione offre latenza inferiore ma minore ridondanza.
  • High Availability multi-zona: Compute e storage sono distribuiti su diverse AZ all’interno della stessa area di Azure. Questo protegge dai guasti del data center e fornisce failover automatico con downtime minimo.

Flexible Server esegue automaticamente il provisioning e la gestione delle repliche di standby per l’alta disponibilità con failover automatico. Dietro le quinte, Flexible Server fa quanto segue:

  • Backup automatici con ripristino point-in-time (conservazione fino a 35 giorni).
  • Possibilità di pianificare finestre di manutenzione per patch e aggiornamenti.
  • Patching automatico del sistema operativo sottostante e del motore MySQL.
  • Scalabilità elastica e funzionalità di ottimizzazione dei costi, come il livello di compute burstable e la possibilità di arrestare e avviare i server per ridurre i costi.
  • Sicurezza di livello enterprise, inclusa integrazione VNet ed endpoint privati.

Flusso di dati tra client, MySQL Flexible Server e servizi Azure

Flusso di dati tra client, MySQL Flexible Server e servizi Azure. Immagine da OpenAI.

Nel diagramma sopra, abbiamo quanto segue:

  • Client dell’applicazione: Possono essere web app, app mobile o altri servizi in esecuzione su Azure, come Azure App Service, Azure Kubernetes Service, o ambienti esterni. I client si connettono tramite protocolli MySQL standard su TLS/SSL per comunicazioni sicure.
  • MySQL Flexible Server: Il server gestisce l’elaborazione delle query SQL, la gestione delle transazioni e l’accesso allo storage. Gestisce la disponibilità dei dati in modo trasparente con la replica di standby per scenari di failover.
  • Servizi di infrastruttura Azure: Flexible Server si basa sui componenti di infrastruttura di calcolo, archiviazione e rete di Azure, incluse macchine virtuali (VM), dischi di archiviazione premium (con SSD), una Azure Virtual Network per l’isolamento di rete e i servizi Azure Backup che orchestrano i backup.
  • Azure Monitor: Azure Monitor e gli strumenti correlati raccolgono metriche, log e avvisi per supportare l’osservabilità e automatizzare attività di gestione come autoscaling o notifiche di manutenzione.

Funzionalità principali di MySQL Flexible Server

Azure Database for MySQL Flexible Server offre funzionalità che garantiscono controllo ottimizzato, alte prestazioni ed economicità per data scientist e sviluppatori di applicazioni. Vediamone alcune qui sotto:

1. Alta disponibilità

Come visto nell’architettura, Flexible Server offre opzioni HA integrate per ridurre al minimo downtime e perdita di dati. L’HA con ridondanza di zona posiziona la replica di standby in una diversa availability zone, proteggendo da guasti completi della zona e offrendo la SLA di disponibilità più alta. L’HA nella stessa zona, invece, distribuisce le repliche primaria e di standby all’interno della stessa availability zone, offrendo ridondanza con latenza inferiore. 

Come utente, paghi il compute e lo storage sia della primaria che della replica di standby. La standby non è un server attivo per letture o scritture; esiste esclusivamente per un failover rapido.

Pertanto, l’HA con ridondanza di zona è la scelta consigliata per i carichi di produzione che richiedono una SLA del 99,99% e protezione da un’ampia gamma di guasti. L’HA nella stessa zona è un’opzione più economica per ambienti di sviluppo/test o applicazioni in cui la latenza molto bassa è più critica della protezione da un guasto dell’intera zona. 

Da settembre 2025, Microsoft ha introdotto anche un’opzione HA dedicata basata su SLB in anteprima pubblica, fornendo un ulteriore modo opzionale per configurare l’alta disponibilità in scenari specifici.

2. Scalabilità

Flexible Server ti permette di scalare le risorse del database per soddisfare le esigenze del carico con queste funzionalità:

  • Scalabilità del compute: Puoi aumentare o ridurre le risorse di compute tra i livelli Burstable, General Purpose e Business Critical. Questa operazione comporta un breve downtime mentre viene effettuato il provisioning di un nuovo server con la configurazione di compute aggiornata.
  • Crescita automatica dello storage e provisioning IOPS: Lo storage cresce automaticamente fino a 16 TB secondo necessità. Il servizio offre un modello IO dinamico chiamato Autoscale IOPS (paghi in base al consumo), che scala automaticamente gli IOPS in base al consumo del carico.  Per prestazioni prevedibili, puoi anche scegliere i Pre-provisioned IOPS (fissi e prevedibili) per soddisfare requisiti specifici.
  • Read replica: Puoi creare fino a 10 read replica per applicazioni con carichi di lettura elevati. Queste copie asincrone del server primario gestiscono traffico in sola lettura, alleggerendo l’istanza primaria e migliorando le prestazioni dell’applicazione.

3. Ottimizzazione dei costi

Per controllare meglio i costi, Flexible Server offre le seguenti funzionalità:

  • Funzione di arresto/avvio: Puoi arrestare e avviare il server su richiesta. Quando il server è arrestato, paghi solo lo storage, non il compute. È particolarmente utile per ambienti non di produzione che non servono 24/7.
  • Livello Burstable: Il livello di compute Burstable offre un’opzione conveniente per sviluppo, test e altri carichi che non necessitano di elevata capacità di calcolo continua.
  • Istanza riservata: Per carichi di produzione prevedibili, puoi risparmiare fino al 67% sui costi di compute acquistando un’istanza riservata di 1 o 3 anni, che prevede il pagamento anticipato di una quantità specificata di risorse di calcolo.

4. Sicurezza e compliance

Azure MySQL Flexible Server è progettato con le seguenti funzionalità di sicurezza: 

  • Crittografia dei dati a riposo: Tutti i dati sono crittografati a riposo secondo gli standard di settore, inclusi moduli conformi a FIPS 140-2 e crittografia AES a 256 bit.
  • Crittografia dei dati in transito: Le connessioni al server sono protette tramite crittografia TLS 1.2, garantendo la protezione dei dati durante la trasmissione.
  • Endpoint privati e regole firewall: L’integrazione con Azure Virtual Network consente di configurare endpoint privati per un accesso sicuro e privato. Le regole firewall limitano l’accesso ai soli indirizzi IP attendibili.
  • Integrazione con Azure Key Vault: Per maggiore sicurezza e compliance, puoi integrare il tuo server con Azure Key Vault. Questo ti permette di centralizzare e gestire in modo sicuro secret e chiavi di crittografia per il database.

5. Manutenzione automatizzata

Per ridurre l’onere amministrativo, Microsoft ha automatizzato la manutenzione di MySQL Flexible Server nei seguenti modi:

  • Finestre di manutenzione di sistema vs personalizzate: Per controllare quando avvengono gli aggiornamenti, puoi scegliere tra finestre gestite dal sistema o definite da te
  • Aggiornamenti minori e patching: La piattaforma applica automaticamente aggiornamenti minori e patch a MySQL e all’OS sottostante per garantire sicurezza e stabilità senza interventi manuali.
  • Backup automatici e ripristino point-in-time: Il servizio esegue automaticamente backup giornalieri e salva continuamente i log delle transazioni. Puoi ripristinare il server a qualsiasi punto all’interno del periodo di conservazione, configurabile da 1 a 35 giorni. I backup sono archiviati in storage sicuro e con ridondanza locale all’interno della stessa availability zone.

Flexible Server per i workflow di data science

Flexible Server è utile nel fornire soluzioni scalabili per i workflow di data science. In questa sezione, vedremo le diverse applicazioni nell’analisi avanzata e nel monitoraggio delle prestazioni.

Casi d’uso di analytics avanzata

Grazie alla sua scalabilità e all’integrazione con altri servizi Azure, MySQL Flexible Server è adatto a casi d’uso di analytics avanzata come:

  • Read replica per analytics e ML: Per reportistica su larga scala e machine learning, puoi eseguire attività pesanti in lettura come estrazione di feature e scoring del modello sulle read replica. Ciò evita che queste query computazionalmente intensive impattino le prestazioni del server primario, che gestisce il carico OLTP (Online Transaction Processing) principale. Questa architettura garantisce che l’app resti reattiva mentre esegue analytics complesse in background.
  • Integrazione con i servizi Azure: Flexible Server si integra con l’ecosistema Azure. Per esempio, puoi usare Azure Data Factory per progettare pipeline ETL/ELT. Allo stesso modo, puoi collegare Flexible Server ad Azure Synapse Analytics per realizzare data warehousing su larga scala, combinando i dati relazionali con quelli di altre fonti per analytics avanzata.

MySQL Flexible Server per i workflow di data science

MySQL Flexible Server per i workflow di data science. Immagine da OpenAI.

Replicazione Data-In

Flexible Server supporta la replicazione in ingresso per scenari ibridi e di migrazione.

  • Sincronizzazione dati ibrida/multi-cloud: Questa funzionalità consente di replicare i dati da un server MySQL esterno, on-premises o su un altro provider cloud, verso Azure Database for MySQL Flexible Server. È adatta per creare soluzioni dati ibride o sincronizzare dati tra ambienti cloud diversi, garantendo una vista unificata dei dati per applicazioni e analytics.
  • Migrazioni con downtime minimo: Usando la replicazione data-in, puoi impostare una migrazione in cui il server sorgente esterno è la primaria e l’Azure Flexible Server è la replica. L’applicazione continua a funzionare sulla sorgente mentre i dati vengono replicati su Azure. Una volta che l’istanza Azure è completamente sincronizzata, effettui un breve cutover per reindirizzare il traffico dell’applicazione, ottenendo una migrazione con downtime minimo.

Monitoraggio delle prestazioni per ML/Analytics

MySQL Flexible Server fornisce strumenti utili per monitorare e ottimizzare i workflow di data science attraverso i seguenti metodi:

  • Azure Monitor e slow query log: Puoi usare Azure Monitor per visualizzare e analizzare metriche e log del database. Abilitando lo slow query log, puoi identificare le query che impiegano molto a eseguire, potenziali colli di bottiglia per pipeline dati e processi analitici. Puoi quindi usare queste informazioni per ottimizzare le query, ad esempio aggiungendo indici o riscrivendo la logica.
  • Workbook Query Performance Insights: Questo workbook integrato in Azure Monitor fornisce un’analisi intelligente delle prestazioni del database. Ti aiuta a identificare rapidamente le query più lunghe, le loro tendenze di esecuzione e l’utilizzo delle risorse (CPU, memoria e storage). Come data scientist, puoi usare questo strumento per comprendere i pattern di carico e ottimizzare le query usate in processi di machine learning e analytics, garantendo efficienza e riducendo i costi.

Migrazione e onboarding

La migrazione ad Azure Database for MySQL Flexible Server può essere eseguita offline o online, a seconda della tolleranza al downtime della tua applicazione. Esploriamo questi metodi e come scegliere il migliore per le tue esigenze.

Migrazione offline

Le migrazioni offline sono una buona scelta quando puoi permetterti un periodo di downtime, ad esempio per un’applicazione non critica o durante una finestra di manutenzione programmata.

Azure Database Migration Service (DMS) è un servizio completamente gestito che si occupa del processo di migrazione. Per le migrazioni offline, esegue un backup completo del database sorgente e lo ripristina sul Flexible Server di destinazione.

Durante la migrazione di database di grandi dimensioni, puoi usare lo strumento da riga di comando mydumper, che esegue un backup multi-thread. Lo strumento myloader lo ripristina quindi con più connessioni concorrenti. Questo metodo è efficace per migrare database di grandi dimensioni perché può ridurre significativamente il tempo totale di migrazione rispetto a strumenti single-thread tradizionali come mysqldump.

Migrazioni online (downtime minimo)

Quando gestisci dati in un ambiente altamente produttivo, valuta la migrazione online se vuoi ridurre al minimo le interruzioni.

In questo caso, userai la replicazione data-in per impostare Azure Database for MySQL Flexible Server come replica di un server MySQL esterno. I dati vengono replicati su Azure mentre il server sorgente continua a gestire le transazioni. Il downtime risultante è minimo, in genere da pochi secondi a pochi minuti.

Questo metodo funziona in architetture ibride o multi-cloud. Puoi migrare da on-premises, VM, AWS RDS, Google Cloud SQL e persino da vecchie distribuzioni Azure Single Server.

Consigli e best practice

Seguire queste best practice ti aiuterà a garantire una transizione fluida e di successo, indipendentemente dal metodo di migrazione scelto:

  • Pre-check dell’ambiente: Valida connettività di rete e firewall tra sorgente e destinazione e verifica che le porte necessarie siano aperte. Controlla il dimensionamento delle VM Azure se usi VM intermedie e assicurati che la banda tra sorgente e destinazione sia sufficiente.
  • Test in Dev: Esegui sempre una migrazione di prova in un ambiente di sviluppo o staging prima di tentare quella in produzione. Questo ti consente di identificare e correggere eventuali problemi senza impattare l’applicazione live.
  • Versioni MySQL corrette: La versione MySQL del Flexible Server di destinazione deve essere uguale o superiore a quella del server sorgente. Ad esempio, se la sorgente è MySQL 5.7, puoi migrare a un Flexible Server che esegue 5.7 o 8.0, ma non 5.6.
  • Backup e rollback: Esegui sempre backup on-demand prima di migrazioni e aggiornamenti maggiori per avere un piano di rollback quando necessario.

Tieni presente che, a partire dal 1° settembre 2025, tutti i nuovi Flexible Server vengono forniti con la versione più recente di settembre 2025, che include aggiornamenti a MySQL 8.0.42 (per i server 8.0 esistenti), disponibilità generale di MySQL 8.4 e sicurezza migliorata (applicazione di TLS 1.2 e rotazione CA). Puoi verificare la versione del motore corrente con SELECT VERSION().

Per iniziare e prossimi passi

Ora che hai visto le funzionalità di MySQL Flexible Server, ti invito a imparare a usare la piattaforma.

Microsoft offre un account Azure gratuito per 12 mesi con una quota mensile per provare Azure Database for MySQL Flexible Server senza costi. Include 750 ore al mese dell’istanza Burstable B1ms, sufficienti per eseguire un’istanza singola in continuo. Ottieni anche 32 GB di storage e 32 GB di storage per i backup. Questo livello gratuito è ideale per test, apprendimento e sviluppo iniziale prima di effettuare lo scale-up.

Microsoft fornisce anche tutorial quickstart per aiutarti a configurare il primo server in pochi minuti. Puoi consultare la documentazione Quickstart di Azure MySQL Flexible Server per imparare a creare un MySQL Flexible Server, connetterti dalla tua applicazione e integrarti con i servizi Azure.

Puoi anche restare aggiornato su novità, consigli e best practice seguendo il blog Azure Database for MySQL.

Conclusione

Azure Database for MySQL Flexible Server offre una soluzione solida, scalabile e conveniente per i workflow di data science moderni e le applicazioni ad alta scala. Semplifica la gestione del database separando compute e storage, fornendo controllo granulare e integrandosi con l’ampio ecosistema Azure.

L’alta disponibilità del servizio, la scalabilità flessibile e gli strumenti intelligenti di monitoraggio delle prestazioni lo rendono una scelta ideale per applicazioni OLTP e analytics intensive.

Ti invito a esplorare queste funzionalità approfittando dell’offerta gratuita di 12 mesi per vedere come Flexible Server può semplificare le tue operazioni sui dati e aprire nuove possibilità di progetto. E non dimenticare di iscriverti al nostro corso Understanding Microsoft Azure per acquisire l’esperienza necessaria a massimizzare il valore di Azure Flexible Server nel tuo lavoro.

MySQL Flexible Server FAQ

Che cos’è Azure Database for MySQL Flexible Server?

È un servizio di database relazionale completamente gestito basato su MySQL, che fornisce alta disponibilità, scalabilità e sicurezza di livello enterprise su Azure.

In cosa differisce Flexible Server da Single Server?

Flexible Server offre alta disponibilità con ridondanza di zona, finestre di manutenzione personalizzabili, integrazione VNet, livello burstable e funzionalità di ottimizzazione dei costi non presenti in Single Server.

Quali livelli di compute sono disponibili in MySQL Flexible Server?

 Flexible Server supporta i livelli Burstable, General Purpose e Business Critical, consentendo di ottimizzare costi, prestazioni e requisiti di carico.

Qual è la differenza tra High Availability (HA) e Read Replica?

L’HA garantisce che il database sia sempre disponibile mantenendo un server di standby passivo per il failover, per il quale vieni fatturato. Le read replica, invece, sono copie attive e in sola lettura dei tuoi dati usate per scalare carichi intensivi in lettura e vengono fatturate come server separati.

Flexible Server si integra con gli strumenti di analytics?

Sì. Flexible Server si collega nativamente con Azure Data Factory, Synapse Analytics e Power BI per pipeline dati end-to-end.

Allan Ouko

Autore

Allan Ouko

Technical writer di Data Science con esperienza pratica in data analytics, business intelligence e data science. Scrivo contenuti pratici e orientati al settore su SQL, Python, Power BI, Databricks e data engineering, basati su lavoro di analytics reale. La mia scrittura unisce profondità tecnica e impatto sul business, aiutando i professionisti a trasformare i dati in decisioni sicure.

Argomenti

Correlato