Opzioni di distribuzione di Azure SQL

Completato

Nell'ambito della piattaforma Azure SQL esistono numerose opzioni di distribuzione e scelte disponibili. Queste opzioni offrono la flessibilità necessaria per ottenere pagare esattamente ciò di cui si ha bisogno.

In questa unità vengono illustrate alcune considerazioni necessarie quando si scelgono diverse opzioni di distribuzione di Azure SQL. Verranno inoltre fornite informazioni sulle specifiche tecniche per ognuna di queste opzioni di distribuzione. Le opzioni di distribuzione illustrate qui includono SQL Server nelle macchine virtuali, Istanza gestita di SQL di Azure, il database SQL di Azure, i pool di istanze gestite di SQL di Azure e i pool di database elastici del database SQL di Azure.

Diagramma della struttura a ombrello delle offerte di Azure SQL.

SQL Server in Macchine virtuali di Azure

SQL Server in una macchina virtuale è una versione di SQL Server eseguita in una macchina virtuale di Azure. Si tratta solo di SQL Server, quindi tutte le competenze devono essere trasferite direttamente, anche se Azure può automatizzare i backup e le patch di sicurezza. SQL Server in una macchina virtuale di Azure è noto come infrastruttura distribuita come servizio (IaaS). L'utente è responsabile dell'aggiornamento e dell'applicazione di patch al sistema operativo e a SQL Server (oltre alle patch di sicurezza critiche per SQL Server), ma ha accesso alle funzionalità complete di SQL Server.

È necessario tenere presenti alcune considerazioni per la distribuzione e la gestione ottimale di SQL Server nelle macchine virtuali:

  • Distribuire versioni specifiche di SQL Server e del sistema operativo da immagini della raccolta di Azure preinstallate. Se si installa automaticamente SQL Server in una macchina virtuale di Azure, è possibile sfruttare la flessibilità delle licenze offerta dall'estensione SQL Server IaaS Agent e abilitare i backup e gli aggiornamenti automatici.

  • Prendere in considerazione le dimensioni delle macchine virtuali ottimizzate per la memoria o ottimizzate per l'archiviazione per ottenere prestazioni ottimali.

  • Usare la configurazione di archiviazione corretta e sfruttare la memorizzazione nella cache di lettura dell'archivio BLOB di Azure.

  • Integrare le macchine virtuali nelle reti locali usando reti virtuali virtuale di Azure.

  • Sfruttare i vantaggi dei backup automatizzati, dei backup nell'archivio BLOB di Azure e dell'integrazione con Backup di Azure.

  • Le istanze del cluster di failover Always On sono supportate con la condivisione file Premium di Azure.

  • I gruppi di disponibilità Always On, incluso il cloud di controllo, sono supportati.

Le aziende di tutto il mondo usano SQL Server nelle macchine virtuali. Un esempio è Allscripts, un produttore leader di settore di software per la sanità, che fornisce i propri prodotti a studi medici, ospedali, società sanitarie e industrie farmaceutiche. Per poter trasformare le proprie applicazioni con una certa frequenza e ospitarle in modo sicuro e affidabile, Allscripts ha scelto di passare ad Azure in tempi brevi. In sole tre settimane la società, usando Azure Site Recovery, ha eseguito la migrazione ad Azure di decine di applicazioni acquisite in esecuzione su circa 1.000 macchine virtuali.

Diagramma che illustra quando scegliere SQL Server in una macchina virtuale di Azure.

IaaS e PaaS

SQL Server in una macchina virtuale è considerata un'infrastruttura distribuita come servizio (IaaS). Le altre opzioni di distribuzione nella piattaforma SQL di Azure, in Istanza gestita di SQL di Azure e nel database SQL di Azure, sono distribuzioni di piattaforma distribuita come servizio (PaaS). Queste opzioni di distribuzione PaaS di SQL di Azure includono un motore di database completamente gestito che automatizza la maggior parte delle funzioni di gestione del database, ad esempio l'aggiornamento, l'applicazione di patch, i backup e il monitoraggio. Ecco alcune funzionalità chiave di Istanza gestita di SQL e del database SQL:

  • Continuità aziendale, che consente alle aziende di continuare a operare in caso di interruzione.

  • Disponibilità elevata, che garantisce l'operatività dei database per il 99,99% del tempo. Non è necessario preoccuparsi della manutenzione o dei tempi di inattività.

  • Backup automatici, che vengono creati e usano l'archiviazione con ridondanza geografica e accesso in lettura (RA-GRS) di Azure per offrire la ridondanza geografica.

  • Conservazione backup a lungo termine, che consente di archiviare database completi specifici per un massimo di 10 anni.

  • Replica geografica, che crea repliche leggibili del database nello stesso data center (area geografica) o in uno diverso.

  • Scalabilità, che consente di aggiungere facilmente altre risorse (CPU, memoria, archiviazione) senza effettuare un lungo provisioning.

  • Sicurezza di rete, che consente di proteggere i dati in rete. Queste funzionalità includono i firewall per limitare la connettività, il collegamento privato di Azure per garantire che i dati non siano esposti a Internet e l'integrazione con le reti virtuali per la connettività agli ambienti locali.

  • Sicurezza avanzata, che rileva minacce e vulnerabilità nei database e consente di proteggere i dati.

  • Ottimizzazione automatica, che analizza il carico di lavoro. Fornisce suggerimenti che consentono di ottimizzare le prestazioni delle applicazioni aggiungendo indici, rimuovendo gli indici inutilizzati e risolvendo automaticamente i problemi del piano di query.

  • Funzionalità di monitoraggio predefinite, che forniscono informazioni dettagliate sulle prestazioni dei database e del carico di lavoro, oltre a essere utili per risolvere i problemi relativi alle prestazioni.

  • Intelligenza incorporata, che identifica automaticamente i potenziali problemi del carico di lavoro e offre suggerimenti per risolverli.

Servizi di database versionless

Un'altra importante differenza tra IaaS e PaaS è costituita da SQL senza versione. A differenza della soluzione IaaS, associata a una versione specifica di SQL Server, il database SQL e Istanza gestita di SQL sono senza versione. Il "ramo" principale della codebase del motore di SQL Server supporta SQL Server 2019, il database SQL e Istanza gestita di SQL.

Anche se le versioni di SQL Server vengono rilasciate a intervalli regolari, i servizi PaaS consentono a Microsoft di aggiornare continuamente i database e le istanze di SQL. Microsoft implementa le correzioni e le funzionalità in base alle esigenze. Gli utenti finali del servizio non hanno alcun controllo su questi aggiornamenti e il risultato di @@VERSION non è allineato a una versione specifica di SQL Server. SQL senza versione consente tuttavia di applicare senza problemi patch sia per il sistema operativo sottostante che per SQL Server e Microsoft renderà disponibili i bit più recenti.

Man mano che vengono sviluppate nuove funzionalità, ad alcuni clienti viene concesso l'accesso a funzionalità specifiche, prima che siano disponibili pubblicamente. Queste nuove funzionalità diventano quindi disponibili nelle anteprime pubbliche. Le anteprime pubbliche consentono a chiunque di accedere alle nuove funzionalità, ma in genere il supporto è limitato e spesso i prezzi sono scontati.

Istanza gestita di SQL

Istanza gestita di SQL è un'opzione di distribuzione PaaS di SQL di Azure. Offre un'istanza di SQL Server, ma rimuove gran parte del sovraccarico dovuto alla gestione di una macchina virtuale. La maggior parte delle funzionalità disponibili in SQL Server sono disponibili in Istanza gestita di SQL. Questa opzione è ideale per i clienti che vogliono usare funzionalità con ambito di istanza e vogliono passare ad Azure senza riprogettare le applicazioni. Le funzionalità con ambito di istanza sono associate a un'istanza di SQL Server, diversamente dalle funzionalità associate a un database in un'istanza di SQL Server.

Le funzionalità con ambito di istanza di Istanza gestita di SQL includono SQL Server Agent, Service Broker, Common Language Runtime (CLR), Posta elettronica database, server collegati, transazioni distribuite (anteprima) e Machine Learning Services. Istanza gestita di SQL consente di accedere alle funzionalità con ambito di istanza, ma non è necessario preoccuparsi né avere accesso al sistema operativo o all'infrastruttura sottostante.

Diagramma che illustra quando scegliere Istanza gestita di SQL di Azure.

Si esaminerà ora un altro scenario di settore, relativo a Komatsu. Komatsu è un'azienda che produce e vende attrezzature pesanti per l'edilizia. L'azienda aveva più applicazioni mainframe per tipi di dati diversi. Komatsu voleva consolidare queste applicazioni per ottenere una panoramica generale. Komatsu voleva anche ridurre il sovraccarico. Poiché l'azienda usa un'ampia superficie delle funzionalità di SQL Server, i responsabili delle decisioni IT hanno scelto di passare a Istanza gestita di SQL di Azure. Sono riusciti a spostare circa 1,5 terabyte di dati senza problemi e a ottenere diversi vantaggi come l'applicazione automatica di patch e gli aggiornamenti della versione, i backup automatizzati, la disponibilità elevata e la riduzione del sovraccarico di gestione. Dopo la migrazione, Komatsu ha registrato una riduzione dei costi del 49% circa e un miglioramento delle prestazioni del 25-30% circa.

Database SQL

Il database SQL è un'opzione di distribuzione PaaS di SQL di Azure che astrae sia il sistema operativo che l'istanza di SQL Server. Questa opzione di distribuzione consente semplicemente di ottenere un database e di iniziare a sviluppare applicazioni. Il database SQL è anche l'unica opzione di distribuzione che supporta scenari che richiedono uno spazio di archiviazione database senza limiti (iperscalabilità) e la scalabilità automatica per i carichi di lavoro imprevedibili (serverless). Il database SQL ha il contratto di servizio con la disponibilità più elevata del settore. Fornisce altre funzionalità intelligenti di monitoraggio e prestazioni, in parte perché è Microsoft a gestire le istanze.

Diagramma che illustra quando scegliere il database SQL di Azure.

AccuWeather costituisce un ottimo esempio dell'uso del database SQL. La società analizza ed esegue previsioni sui fenomeni meteorologici da oltre 55 anni. La società ha voluto accedere ad Azure per le sue funzionalità per Big Data, Machine Learning e intelligenza artificiale. AccuWeather vuole concentrarsi sulla creazione di nuovi modelli e applicazioni, non sulla gestione dei database. La società ha scelto di usare il database SQL con altri servizi, ad esempio Azure Data Factory e Azure Machine Learning, per distribuire in modo rapido e semplice nuove applicazioni interne per eseguire stime relative a vendite e clienti.

Pool di database elastico

Si sono appresi i concetti legati alle tre opzioni di distribuzione principali all'interno di SQL di Azure: macchine virtuali, istanze gestite e database SQL. Per il database SQL e l'istanza gestita di SQL sono disponibili altre opzioni in presenza di più istanze o database. Queste opzioni sono denominate pool di database elastici. I pool di database elastici consentono di condividere le risorse tra più istanze e database e di ottimizzare i costi.

I pool elastici di database SQL consentono di ospitare più database all'interno di un singolo set di risorse del database SQL sottoposte a provisioning. Questa opzione è ideale per un'applicazione o un provider SaaS (Software as a Service) dal momento che consente di gestire e monitorare le prestazioni in modo semplificato per molti database.

I pool di istanza gestita di SQL consentono di ospitare più istanze gestite e condividere risorse. È possibile effettuare il pre-provisioning delle risorse di calcolo. In questo modo è possibile ridurre il tempo di distribuzione complessivo per semplificare le migrazioni. In un pool di istanze è anche possibile ospitare istanze gestite di dimensioni inferiori rispetto a una sola istanza gestita. Questa funzionalità è attualmente disponibile in anteprima pubblica.

Paychex costituisce un valido esempio di una società che usa i pool di database elastici del database SQL. Paychex è una società di gestione delle risorse umane al servizio di oltre 650.000 aziende negli Stati Uniti e in Europa. Paychex necessitava di un modo per gestire separatamente gli orari e la gestione dei pagamenti per ognuno dei clienti, in modo da ridurre i costi. La società ha scelto i pool di database elastici del database SQL, che hanno consentito di semplificare la gestione e di abilitare la condivisione di risorse tra database distinti per ridurre i costi.

Opzioni di distribuzione di Azure SQL

L'immagine seguente riepiloga le opzioni di distribuzione per SQL di Azure. Successivamente, verranno illustrate la distribuzione e la configurazione di SQL di Azure confrontandole con la distribuzione e la configurazione di SQL Server.

Diagramma che mostra le opzioni di distribuzione di SQL di Azure.

Verifica delle conoscenze

1.

Si consideri questo scenario: si vuole eseguire la migrazione al cloud usando un'applicazione di terze parti che richiede l'accesso al sistema operativo. Qual è l'opzione di distribuzione di SQL di Azure più semplice da usare?

2.

Si consideri questo scenario: si vuole eseguire la migrazione al cloud e rimuovere alcune delle esperienze di gestione associate a SQL Server, ma l'applicazione usa le funzionalità CLR e Service Broker di SQL Server. Qual è l'opzione di distribuzione di SQL di Azure più semplice da usare?