Illustrare le opzioni IaaS per distribuire SQL Server in Azure
Per molte applicazioni è necessaria una macchina virtuale che esegue SQL Server. Di seguito sono riportati alcuni dei motivi per cui è necessaria questa opzione:
Versioni precedenti di SQL Server: se un'applicazione richiede una versione precedente di SQL Server per il supporto del fornitore, l'esecuzione all'interno di una macchina virtuale rappresenta la scelta ottimale perché consente all'applicazione di essere supportata da tale fornitore.
Uso di altri servizi SQL Server: mentre Analysis Services e, in parte, Integration Services (mediante l'uso di Azure Data Factory) sono disponibili come offerte PaaS, molti utenti sfruttano al massimo le licenze possedute eseguendo SQL Server Analysis Services, Integration Services o Reporting Services nello stesso computer del motore di database.
Incompatibilità generale delle applicazioni: questo motivo può avere diverse sfaccettature. Ad esempio, il database SQL di Azure non supporta l'esecuzione di query tra database, mentre l'istanza gestita supporta questa funzionalità. Per alcune applicazioni può essere necessaria la presenza di servizi aggiuntivi in un percorso condiviso con l'istanza di database in un modo non compatibile con un'offerta PaaS.
L'infrastruttura distribuita come servizio (IaaS) consente all'amministratore di avere un accesso più granulare a impostazioni specifiche dell'infrastruttura sottostante rispetto alle altre offerte di Azure. Mentre la piattaforma Azure gestisce il server e l'hardware di rete sottostanti, è comunque possibile accedere all'archiviazione virtuale, alla configurazione della rete virtuale e a qualsiasi altro software che è possibile installare all'interno della macchina virtuale, incluso Microsoft SQL Server.
L'immagine precedente illustra il maggiore controllo che si ha con l'opzione IaaS rispetto alle altre offerte di Azure SQL. Mentre le opzioni di configurazione esatte variano da un'offerta di servizio all'altra, nelle offerte SaaS in genere l'amministratore è responsabile solo della sicurezza degli utenti ed eventualmente della gestione dei dati. Quando si usano servizi PaaS, il sistema operativo e altre applicazioni software vengono gestiti dal provider di servizi cloud. Un valido esempio è costituito dalla piattaforma di database di Azure, in cui il sistema operativo e il sistema RDBMS vengono installati e configurati da Microsoft, consentendo all'utente di iniziare a creare rapidamente applicazioni di database. Le soluzioni IaaS sono le più aperte. L'utente è responsabile dell'applicazione di patch al sistema operativo, nonché della configurazione ottimale delle opzioni di rete e archiviazione. Con una distribuzione IaaS, l'utente è anche responsabile della configurazione del software.
Per le soluzioni IaaS in esecuzione in Azure, Microsoft gestisce tutte le risorse al di sotto del sistema operativo, inclusi i server fisici, l'archiviazione e la rete fisica. L'amministratore del database è responsabile della configurazione delle istanze di SQL Server in esecuzione nel sistema operativo.
Alcune applicazioni potrebbero non essere adatte ad altre offerte di Azure, ad esempio il database SQL di Azure, perché richiedono condizioni operative specifiche. Queste condizioni possono includere una combinazione specifica di SQL Server e versioni di Windows per scopi di supporto del fornitore o software aggiuntivo che deve essere installato insieme a SQL Server. SQL Server abbinato alla piattaforma IaaS di Azure offre le opzioni di controllo necessarie per molte organizzazioni, sia per funzionalità specifiche come CLR o la replica, sia per l'uso dell'autenticazione di Active Directory (anziché Microsoft Entra ID). Un altro requisito consiste nel fatto che alcune applicazioni installano il software insieme a SQL Server, che richiede l'accesso diretto al sistema operativo sottostante. L'accesso diretto al sistema operativo non è supportato in un modello PaaS. Queste organizzazioni e le relative applicazioni possono ottenere i vantaggi del passaggio a un servizio cloud senza perdere le funzionalità critiche necessarie per l'organizzazione.
Estensione Agente IaaS di SQL Server
Quando si distribuisce una macchina virtuale di SQL Server da Azure Marketplace, durante il processo viene installata l'estensione IaaS Agent.
Le estensioni sono costituite da codice eseguito nella post-distribuzione della macchina virtuale, in genere per effettuare configurazioni post-distribuzione. Alcuni esempi sono l'installazione di funzionalità antivirus e l'installazione di una funzionalità di Windows. L'estensione SQL Server IaaS Agent fornisce le seguenti funzionalità principali che possono ridurre il sovraccarico amministrativo.
- Backup automatizzato
- Applicazione automatica delle patch
- Integrazione di Azure Key Vault
- Integrazione del portale Defender per il cloud
- Visualizzazione dell’utilizzo dischi nel portale
- Licenze flessibili
- Edizione o versione flessibile
- Valutazione delle procedure consigliate di SQL
Oltre a queste funzionalità, l'estensione consente di visualizzare informazioni sulla configurazione e sull'utilizzo dello spazio di archiviazione di SQL Server.
Modelli di licenza di SQL Server
Quando si usa l'offerta IaaS di Azure, sono disponibili opzioni diverse per concedere in licenza SQL Server.
Se non si partecipa al programma Microsoft Software Assurance (SA), è possibile distribuire un'immagine da Azure Marketplace contenente un'istanza di SQL Server preconfigurata e pagare al minuto per l'uso di SQL Server. Questa opzione è denominata modello con pagamento in base al consumo e il costo della licenza di SQL Server è incluso nel costo della macchina virtuale.
Se si partecipa al programma Microsoft Software Assurance (SA), la licenza di SQL Server viene concessa con maggiore flessibilità:
È possibile usare il metodo precedente con pagamento al minuto distribuendo un'immagine di macchina virtuale contenente un'istanza di SQL Server da Azure Marketplace.
È possibile usare la modalità BYOL (Bring Your Own License) quando si distribuisce la macchina virtuale che non contiene un'istanza di SQL Server preconfigurata. Questa opzione è possibile quando è già stata acquistata una licenza di SQL Server valida per l'infrastruttura locale. Questa licenza può essere applicata alla macchina virtuale per assicurarsi di avere la licenza corretta. È necessario segnalare l'utilizzo delle licenze a Microsoft tramite il modulo di verifica Mobilità delle licenze entro 10 giorni dall'implementazione della macchina virtuale.
Se si sceglie questo metodo, è possibile installare manualmente SQL Server tramite i supporti ottenuti oppure è possibile scegliere di caricare un'immagine di macchina virtuale in Azure.
Oltre alle opzioni di licenza flessibili per SQL Server, possono essere sfruttate anche le opzioni di licenza di Windows Server. Tali opzioni sono conosciute come Vantaggio Azure Hybrid (AHB). Analogamente all'applicazione di una licenza di SQL Server già acquistata, è possibile sfruttare le licenze di Windows Server che si possiedono già.
La prenotazione di una macchina virtuale per un periodo di tempo da uno a tre anni rappresenta un'altra opzione di risparmio sui costi. Questo impegno non richiede pagamenti anticipati e può essere fatturato mensilmente. L'uso dell'opzione di prenotazione può risultare utile se si è certi che i carichi di lavoro saranno permanenti. Il risparmio sui costi può essere considerevole, specialmente per le macchine virtuali di maggiori dimensioni.
Famiglie di macchine virtuali
Quando si esegue la distribuzione in una macchina virtuale di Azure, sono disponibili diverse serie, o "famiglie", di macchine virtuali delle dimensioni che è possibile selezionare. Ogni serie è una combinazione di memoria, CPU e spazio di archiviazione che soddisfa determinati requisiti. Ad esempio, nelle serie ottimizzate per il calcolo il rapporto tra CPU e memoria è più elevato. La disponibilità di più opzioni consente di selezionare una configurazione hardware appropriata per il carico di lavoro previsto. Per ciascuna delle sei serie seguenti sono disponibili varie dimensioni, i cui dettagli sono descritti in modo esaustivo nel portale di Azure quando si sceglie l'opzione per selezionare le dimensioni della macchina virtuale.
Utilizzo generico: queste macchine virtuali offrono una rapporto bilanciato tra CPU e memoria. Questa classe di macchine virtuali è ideale per attività di test e sviluppo, per server di database di piccole e medie dimensioni e per server Web con una quantità di traffico medio-bassa.
Con ottimizzazione per il calcolo: le macchine virtuali con ottimizzazione per il calcolo offrono un rapporto elevato tra CPU e memoria e sono adatte per server Web con una quantità di traffico media, appliance di rete, processi batch e server applicazioni. Queste macchine virtuali possono anche supportare carichi di lavoro di Machine Learning, che non possono sfruttare i vantaggi offerti dalle macchine virtuali basate su GPU.
Ottimizzate per la memoria: queste macchine virtuali offrono un rapporto elevato tra memoria e CPU. Queste macchine virtuali includono un'ampia gamma di opzioni di CPU e memoria (fino a 4 TB di RAM) e sono particolarmente adatte per la maggior parte dei carichi di lavoro del database.
Ottimizzate per l'archiviazione: le macchine virtuali ottimizzate per l'archiviazione offrono archiviazione NVMe veloce e locale di tipo temporaneo. Sono i candidati ideali per lo scale-out dei carichi di lavoro dati, ad esempio Cassandra. È possibile usare queste macchine con SQL Server. Tuttavia, poiché l'archiviazione è temporanea, è necessario configurare la protezione dei dati usando funzionalità come Gruppi di disponibilità Always On o Log shipping.
GPU: le macchine virtuali di Azure con GPU sono destinate a due tipi principali di carichi di lavoro, ovvero le operazioni di elaborazione grafica come il rendering e l'elaborazione video, ma anche a carichi di lavoro di Machine Learning paralleli massivi che possono trarre vantaggio dalle GPU.
Calcolo con prestazioni elevate: i carichi di lavoro di calcolo con prestazioni elevate supportano le applicazioni che consentono una scalabilità elevata della capacità fino a migliaia di core CPU. Il supporto è garantito da una CPU con prestazioni elevate e una rete di accesso diretto alla memoria remota (RDMA) che fornisce comunicazioni a bassa latenza tra le macchine virtuali.
Attraverso il portale di Azure è possibile visualizzare le opzioni di dimensionamento di ogni serie nel modo più semplice. Nel riquadro per la creazione di una macchina virtuale è possibile fare clic sull'opzione "Seleziona dimensioni" per visualizzare un elenco.
L'immagine precedente mostra solo un set limitato di serie e dimensioni possibili. Per ogni opzione è possibile visualizzare il numero di CPU virtuali, la quantità di RAM, il numero di dischi dati, il numero massimo di operazioni di I/O al secondo, la capacità di archiviazione temporanea fornita e l'eventuale supporto per l'archiviazione Premium.
Per altre informazioni sulle procedure consigliate per le dimensioni della macchina virtuale, vedere Procedure consigliate per SQL Server in macchine virtuali di Azure.
Azure Marketplace
Azure Marketplace è essenzialmente una posizione centralizzata che offre la possibilità di creare risorse di Azure in base a un modello predefinito. Ad esempio, è possibile creare rapidamente un'istanza di SQL Server 2019 in Windows Server 2019 con pochi clic del mouse specificando alcune informazioni di base, ad esempio il nome della macchina virtuale e alcune informazioni di configurazione di SQL Server. Successivamente, Azure Resource Manager avvia la creazione della macchina virtuale, che in pochi minuti diventa operativa.
Di seguito è illustrato il riquadro di SQL Server 2019 in Windows Server 2019 in Azure Marketplace. Questo riquadro offre la possibilità di preimpostare configurazioni che supportano carichi di lavoro OLTP o data warehouse e consente di specificare le opzioni di archiviazione, applicazione di patch e backup.
Lo svantaggio dell'uso del portale per creare risorse di Azure consiste nel fatto che non si tratta di un processo facilmente ripetibile. Tuttavia, è facile iniziare a usare il portale, dove è possibile ottenere rapidamente risorse operative.
Configurazione di SQL Server
Quando si esegue il provisioning di SQL Server in una macchina virtuale di Azure, è anche possibile configurare impostazioni di SQL Server specifiche, come sicurezza e rete, preferenze di autenticazione SQL, impostazioni dell'istanza di SQL e altre opzioni. Queste opzioni sono disponibili nella scheda Impostazioni SQL Server, come illustrato nell'immagine seguente.
Per altre informazioni sulle impostazioni di SQL Server disponibili durante la creazione di una macchina virtuale, vedere Effettuare il provisioning di SQL Server nella macchina virtuale di Azure (portale di Azure).