Come ottimizzare la gestione ed i costi delle macchine virtuali Azure con a bordo SQL Server

Per le macchine virtuali in ambiente Azure sulle quali è in esecuzione SQL Server è stata introdotta una nuova modalità di gestione che rende più semplice le attività di manutenzione necessarie per aumentare la sicurezza, ottenere benefici in termini di costi ed ottimizzare i deployment. In questo articolo viene riportato come attivare questa nuova funzionalità e vengono esplorati i benefici che è possibile ottenere.

Azure mette a disposizione una ampia gamma di servizi SQL database completamente gestiti, moderni e sicuri in grado di supportare differenti scenari, come il re-hosting, la modernizzazione dei workload esistenti di SQL Server e lo sviluppo di nuove applicazioni cloud.

Figura 1 – Famiglia dei servizi SQL

Nonostante l’adozione dei servizi gestiti porti ad avere elevati benefici in termini di costi, gestione e scalabilità, spesso in ambiente Azure viene tuttora richiesta l’attivazione di macchine virtuali IaaS con installato SQL Server. Questo scenario è frequente anche quando si affrontano migrazioni “lift and shift” di macchine virtuali dall’ambiente on-premises.

Figura 2 – Effort di amministrazione negli scenari di Cloud migration

Al fine di ottimizzare ed automatizzare le attività di gestione e di amministrazione è possibile attivare la nuova estensione SQL Server IaaS Agent (SqlIaasExtension) sulle macchine virtuali Azure con installato SQL Server. Grazie alla registrazione di questa estensione dal portale Azure sarà possibile accedere al gruppo di risorse “SQL virtual machines” oltre che il classico “Virtual machines”.

L’adozione di questa estensione è completamente gratuita e la raccolta dei dati effettuata è finalizzata esclusivamente ad offrire nuove funzionalità dal portale Azure. I dati raccolti non saranno utilizzati da Microsoft per effettuare controlli sulle licenze senza il previo consenso del cliente.

Come attivare questo nuovo metodo di gestione?

Il primo step necessario per utilizzare l’estensione SQL Server IaaS Agent è effettuare la registrazione del resource provider Microsoft.SqlVirtualMachine sulla subscription specifica. Questo provider offre all’estensione la possibilità di creare risorse all’interno di quella specifica sottoscrizione.

Figura 3 – Registrazione del resource provider

Completata questa operazione è opportuno scegliere la modalità di gestione che si vuole adottare, tra le seguenti:

  • Lightweight mode: in questa modalità vengono copiati i file binari dell’estensione nella macchina virtuale, ma non viene installato nessun agente e non viene riavviato il servizio SQL Server in esecuzione sulla VM. Adottando questa modalità è possibile solamente modificare la tipologia di licenza e l’edizione di SQL Server, oltre ad avere un set limitato di opzioni in termini di gestione. Si tratta della modalità di gestione predefinita quando si utilizza la funzione di registrazione automatica che è possibile attivare dal portale Azure oppure tramite registrazione manuale.

Figura 4 – Registrazione automatica dal portale Azure

Figura 5 – Selezione della subscription durante la fase di registrazione automatica dal portale Azure

L’adozione di questa modalità non ha alcun impatto sull’utilizzo delle risorse della macchina virtuale in termini di memoria e CPU ed è consigliato attivare questa modalità prima della modalità di gestione completa (full mode).

  • Full mode: in questa modalità è prevista l’installazione del SQL IaaS Agent a bordo della macchina virtuale e viene fornita un’esperienza di gestione completa. L’attivazione di questa modalità comporta il riavvio del servizio SQL Server. La modalità completa installa nello specifico due servizi Windows che, per esperienza diretta, possono avere un impatto sull’utilizzo della memoria e della CPU non sempre trascurabile.
  • NoAgent Mode: si tratta della modalità dedicata a installazioni di SQL Server 2008 e SQL Server 2008 R2 a bordo di sistemi Windows Server 2008. Per questa modalità non è previsto alcun impatto sull’utilizzo della memoria oppure della CPU e non è necessario il riavvio di SQL Server.

Le macchine virtuali con SQL Server che hanno registrato l’estensione in modalità “lightweight” possono eseguire l’aggiornamento alla modalità “full” tramite il portale di Azure, riga di comando Azure oppure Azure PowerShell. Non è prevista nessuna procedura di downgrade, ma per passare dalla modalità “full” alla modalità “lightweight” è necessario annullare sulla VM la registrazione dell’estensione SQL IaaS Agent.

Nel caso di attivazione di una macchine virtuali con SQL Server utilizzando le immagini disponibili nel Marketplace Azure, l’estensione SQL Server IaaS Agent viene registrata automaticamente se sulla subscription è attivo il resource provider specifico.

Per maggiori dettagli sul processo di registrazione e sui comandi che è possibile utilizzare si può fare riferimento a questo documento Microsoft.

Funzionalità offerte

L’estensione SQL Server IaaS Agent consente di poter usufruire, direttamente dal portale Azure, dei vantaggi in seguito riportati per le macchine virtuali che ospitano SQL Server:

  • Management dal portale Azure: sarà possibile visualizzare e gestire specifiche funzionalità relative a SQL di tutte le macchine virtuali con a bordo SQL Server, in un unico punto centralizzato nel portale Azure.

Figura 6 – Management di SQL Server tramite l’estensione SQL Server IaaS Agent

  • Gestione dei backup: sarà possibile schedulare l’esecuzione dei backup per i database selezionando varie opzioni come la crittografia dei backup, l’impostazione del periodo di conservazione, il backup dei database di sistema e la configurazione di una pianificazione manuale oppure automatica. Questa funzionalità risulta utile per la protezione di SQL Server quando non si desidera adottare una soluzione specifica di backup, ma è sufficiente eseguire il backup dei database presenti sull’istanza su uno storage account.

Figura 7 – Gestione dei backup di SQL Server tramite l’estensione SQL Server IaaS Agent

  • Gestione del patching: sarà consentito configurare una finestra di manutenzione durante la quale possono essere installati gli aggiornamenti di sicurezza, provenienti da Windows Update e classificati come critici oppure importanti, di Windows e di SQL Server.

Figura 8 – Gestione del patching tramite l’estensione SQL Server IaaS Agent

  • Aspetti di sicurezza e integrazione con Azure Key Vault: sarà possibile gestire la porta per collegarsi all’istanza di SQL Server. Inoltre, sarà consentito abilitare l’autenticazione SQL, specificando un determinato login. Se la SKU di SQL Server lo supporta, è altresì possibile installare e configurare l’integrazione con Azure Key Vault, per utilizzare le funzionalità di crittografia dei dati quali Transparent Database Encryption, Column Level Encryption e Always Encrypted.

Figura 9 – Gestione degli aspetti di sicurezza e integrazione con Azure Key Vault tramite l’estensione SQL Server IaaS Agent

  • Gestione del licensing: sarà possibile cambiare agilmente le modalità di licenziamento di SQL Server, potendo così ottenere un risparmio diretto sui costi.

Figura 10 – Gestione del licensing di SQL Server tramite l’estensione SQL Server IaaS Agent

  • Gestione flessibile della versione e dell’edition: nel caso ci sia la necessità di modificare la versione o l’edizione di SQL Server, è possibile aggiornare i metadati all’interno del portale Azure senza dover ridistribuire l’intera VM di SQL Server.

Figura 11 – Gestione dell’edition di SQL Server tramite l’estensione SQL Server IaaS Agent

  • Attivazione della funzionalità R Services (Advanced analytics): se il sistema viene utilizzato in ambito Machine Learning viene fornita la possibilità di installare questa funzionalità, durante il setup di SQL Server, per consentire l’esecuzione di script R sulla macchina virtuale SQL Server.

Figura 12 – Attivazione della funzionalità R Services tramite l’estensione SQL Server IaaS Agent

  • Configurazione della funzionalità di Always On availability group: direttamente dal portale Azure è possibile attivare meccanismi di alta disponibilità e disaster recovery configurando la funzionalità di Always On availability group.

Figura 13 – Attivazione della funzionalità Always On availability group tramite l’estensione SQL Server IaaS Agent

Conclusioni

Grazie all’adozione di questa recente estensione SQL Server IaaS Agent, l’esecuzione di SQL Server a bordo di una macchina virtuale Azure permette di poter usufruire di diverse funzionalità aggiuntive e di avere un’esperienza di gestione ottimale, simile al servizio gestito SQL Server. Tutte queste funzionalità consentono inoltre di avere una maggiore facilità d’uso e importanti vantaggi nella gestione di SQL Server rispetto alle implementazioni su macchine virtuali on-premise.

Please follow and like us: