Il cloud e Azure
Sempre più aziende scelgono di utilizzare la tecnologia cloud, che si sta rivelando una soluzione ottimale sia per risparmiare sui costi di gestione delle infrastrutture database che per garantire innovazione e digitalizzazione in azienda.
Scegliere la giusta soluzione consente infatti di risparmiare tempo e costi in azienda, con l’enorme vantaggio di poter sfruttare al massimo la scalabilità dei sistemi, ovvero aumentare e diminuire le risorse anche in tempo reale, a seconda delle effettive necessità dell’azienda. In ogni caso, la migrazione al cloud e la scelta del servizio che si utilizzerà vanno valutate attentamente per evitare sprechi, pagando solo quanto serve per quanto serve, ma anche per evitare problemi ed interruzioni del servizio durante la migrazione.
Iaas, Paas e Saas
Iaas, Paas e Saas sono tre acronimi che indicano diverse tipologie di servizi cloud. In particolare, indicano una maggiore o minore incidenza del provider cloud nella gestione delle rispettive piattaforme. Facendo riferimento a SQL Server, mentre nelle installazioni on-premises, ovvero in locale, ogni aspetto relativo ai database viene gestito internamente, ovvero da locale, a partire dal database server fino ai dati e alle applicazioni, nella famiglia Azure SQL, a seconda del tipo di servizio scelto, diversi aspetti vengono gestiti direttamente da Microsoft. Uno dei principali vantaggi delle soluzioni Azure SQL è che viene sempre mantenuta come base il motore di database di SQL Server, quindi per utilizzare SQL Server su Azure non vengono richieste nuove competenze rispetto all’utilizzo on-premises.
Ora andiamo a vedere nel dettaglio quali aspetti vengono gestiti dal provider cloud e quali invece restano in capo all’azienda per ciascuna tipologia di servizi cloud Iaas, Paas e Saas di Microsoft Azure.
IaaS – SQL Server in Azure Virtual Machine
Si tratta dell’acronimo di Infrastructure As A Service e corrisponde nel nostro caso al servizio SQL Server in Azure Virtual Machine. Questo significa che Microsoft prende in gestione gli aspetti relativi all’infrastruttura, lasciando il resto, in particolare il sistema operativo e il dimensionamento delle risorse, in carico all’utente.
Sono a carico di Azure:
- La gestione del datacenter.
- L’hardware.
- La virtualizzazione.
In questo modo, l’azienda può evitare di avere in sede server e datacenter fisici, delegando tutta la parte relativa alla manutenzione hardware. Questa soluzione garantisce la piena compatibilità con SQL Server on-premises, perciò può essere un ottimo punto di partenza per la migrazione su cloud.
Con questa soluzione l’utente continua ad occuparsi di tutte quelle attività tipiche della gestione di un’istanza SQL Server: updates, backup dei dati, HA/DR, eccetera.
Per SQL Server in Azure Virtual Machine Microsoft predispone delle immagini già pre-configurate secondo le migliori best practices , che consentono un’installazione rapida per diversi sistemi operativi e per diverse versioni ed edizioni di SQL Server. Rappresenta la soluzione più semplice a livello di compatibilità per la migrazione di applicazioni esistenti in Azure senza modifiche. Questo particolare processo di migrazione viene definito Lift & Shift.
Inoltre, Azure VM è l’unica soluzione che permette piena disponibilità di alcune funzioni:
- Funzionalità che richiedono accesso al File System (Filestream, Semantic Search, Database Snapshot).
- Replication, Linked Server, Extended/OLE Stored procedure, Policy Based Management.
- Disponibilità di altri componenti: SSIS, SSAS, SSRS, SQL Server Agent.
Come per gli altri servizi di Azure, anche questo storage garantisce high availability e performances ottimizzate, oltre ad un elevato livello di sicurezza dei dati e protezione dalle minacce.
Scegliendo di portare SQL Server su macchina virtuale di Azure rimangono quindi valide tutte le competenze e conoscenze relative a SQL Server on-premises. In questo modo non è necessario fare lunghi corsi di formazione ed attendere mesi prima di essere operativi, in quanto le istanze SQL Server possono essere spostate in cloud così come sono, senza venire modificate.
Un’opzione molto interessante nel passaggio a SQL Server in Azure Virtual Machine Microsoft è la possibilità di utilizzare le proprie licenze SQL Server on-premises con Software Assurance su cloud, grazie al programma Azure Hybrid Benefit. Sono anche disponibili una serie di opzioni, dalle istanze riservate ai prezzi speciali per lo sviluppo ed i test, che consentono di ottimizzare i costi, consentendo quindi un notevole risparmio di denaro.
Per effettuare una migrazione sicura, è importante affidarsi ad un DBA esperto, che sarà in grado di utilizzare i numerosi strumenti per la migrazione messi a disposizione da Microsoft, come Azure Migrate e il Servizio Migrazione. In questo modo sarà possibile effettuare un passaggio ben programmato e realizzato in tempi brevi, evitando interruzioni dei servizi che possano causare problemi ai processi aziendali.
SQL Server on virtual machine può essere una soluzione vantaggiosa per portare facilmente in cloud l’infrastruttura SQL Server aziendale, senza dover ricostruire tutto da capo. Sono disponibili numerose soluzioni di macchine virtuali ospitate in cloud, ma il servizio di Azure garantisce non solo scalabilità e flessibilità, ma anche la piena compatibilità con SQL Server, dato che entrambi i servizi appartengono a Microsoft Corporation.
Pricing per SQL Server in Azure Virtual Machine
Le tipologie di princing disponibili per questo servizio sono:
- Pay-as-you-go (a consumo): implica che il costo al secondo associato all’esecuzione della Virtual Machine di Azure include anche il costo della licenza di SQL Server, per cui non è necessario acquistare una licenza a parte.
- Azure Hybrid Benefit: consente di utilizzare la propria licenza SQL Server on-premises su una Virtual Machine di Azure per SQL Server. L’utente non riceve addebiti per l’uso della licenza SQL Server, in quanto risulta a tutti gli effetti già acquistata, ma si assume il costo della risorsa cloud sottostante (VM e SO, operazioni di I/O). Il meccanismo Azure Hybrid Benefit può essere utilizzato solo a partire da licenze on-premises dotate di Software Assurance.
- Replica a disponibilità elevata/ripristino: se si dispone di Software Assurance, è disponibile l’interessante opzione che consente di implementare piani di replica a disponibilità elevata con SQL Server, senza sostenere i costi di licenza aggiuntivi per l'istanza di ripristino di emergenza passiva.
PaaS – Azure SQL Managed Instance
PaaS è l’acronimo di Platform as a Service ed indica un livello maggiore di assegnazione di aspetti e responsabilità al cloud provider. In Azure sono presenti due diverse soluzioni PaaS, di cui l’ultima arrivata prende il nome di Azure SQL Managed Instance. Sin dal nome viene indicato molto chiaramente come Microsoft si faccia carico di ogni aspetto relativo all’istanza di SQL Server, all’interno della quale si trovano poi i database, che vengono gestiti dall’utente.
In questa soluzione spettano ad Azure:
- La gestione del datacenter.
- L’hardware.
- La virtualizzazione.
- Il sistema operativo.
- Il provisioning, le patch e la scalabilità dei database.
- Backup, DR e high availability.
Si tratta di un servizio di istanza gestita intelligente e liberamente scalabile. Costituisce una soluzione eccellente per trasferire da on-premises a cloud e modernizzare le proprie applicazioni SQL Server pre-esistenti senza stravolgere quanto già realizzato.
Azure SQL Managed Instance rappresenta l’ultima soluzione, in ordine di tempo, proposta da Microsoft nell’ambito della famiglia di servizi Azure SQL.
Questa soluzione mantiene effettivamente tutti i vantaggi di una soluzione PaaS:
- Istanza completamente gestita.
- Scalabilità up/down semplice e veloce.
- HA/DR inclusi.
- Compatibilità quasi al 100% con le funzionalità On-Premise.
- SQL Server Agent, Backup/Restore, Replication, CDC, CLR, Broker, etc.
Anche se si tratta a tutti gli effetti di un servizio PaaS, Azure SQL Managed Instance è posizionata all’interno della propria rete virtuale, con lo scopo di dare un maggior controllo dal punto di vista sicurezza.
Rappresenta un punto di svolta che ha aperto definitivamente le porte del mondo PaaS ai processi di Lift & Shift, ovvero la migrazione veloce ed indolore su cloud di applicazioni già esistenti e funzionanti on-premises.
Pricing per Azure SQL Managed Instance
Il modello di pricing per questa soluzione PaaS è:
- vCore-Based: basato sulla misurazione dei core virtuali e del livello computazionale richiesto dall’istanza.
- Azure Hybrid Benefit: si tratta della possibilità di utilizzare la propria licenza SQL Server on-premises con Software Assurance anche sui servizi Azure SQL Managed Instance, come abbiamo già visto per SQL Server in Azure Virtual Machine.
PaaS – Azure SQL Database
L’altro servizio PaaS di Microsoft Azure dedicato a SQL Server è un servizio di database relazionale, scalabile e intelligente è stato creato appositamente per il cloud e per il supporto di applicazioni in cloud. Questa soluzione è dotata di funzionalità automatizzate basate su intelligenza artificiale che ottimizzano le prestazioni e la durabilità. Le risorse di calcolo serverless e le opzioni di archiviazione Hyperscale dimensionano automaticamente le risorse on demand: in questo modo l’utente non deve preoccuparsi delle dimensioni delle risorse di archiviazione o della potenza di calcolo.
Le principali caratteristiche di Azure SQL Database sono:
- Hardware, sistema operativo e software gestiti da Microsoft.
- Backup automatico completamente gestito (full, differenziale, log).
- Alta disponibilità completamente gestita (modalità diverse in base a livello di servizio).
- Diversi modelli di servizio:
- Modello DTU: Basic, Standard, Premium.
- Modello vCore: General Purpose, Business Critical.
- Scale Up/Down per database.
Azure SQL Database offre 2 modalità principali per il deployment:
- Database singolo: molto simile ad un database indipendente di SQL Server con uno specifico set di risorse. Per la scalabilità sono previste soluzioni:
a. Hyperscale: livello di servizio che supporta la scalabilità del database sino a 100TB, backup e restore estremamente veloci.
b. Serverless: livello computazionale che permette di mettere in pausa, a certe condizioni, un database e risparmiare nei consumi (autoscaling). - Pool elastico: una raccolta di database con un set condiviso di risorse. Queste risorse condivise tra più database possono essere DTU-Based o vCore-Based (questi modelli di pricing vengono spiegati nel paragrafo successivo) e permettono un «autoscale» a caldo dei database entro dei range predefiniti.
Pricing per Azure SQL Database
Per questa soluzione PaaS i modelli di princing disponibili sono:
- DTU-Based: basato sulla misurazione delle risorse computazionali richieste dal database.
- vCore-Based: basato sulla misurazione dei core virtuali e del livello computazionale richiesto.
- Azure Hybrid Benefit: si tratta della possibilità di utilizzare la propria licenza SQL Server on-premises con Software Assurance anche sui servizi Azure SQL Database.
I modelli di pricing di Azure SQL
Vediamo ora di approfondire le caratteristiche dei diversi modelli di pricincing della famiglia Azure SQL:
- Modello basato su DTU (Database Transaction Unit): è un metodo di misurazione delle risorse computazionali richieste dal database. Le DTU si basano su una misura combinata di CPU, memoria, letture e scritture, bilanciati per carichi di lavoro comuni. Questo modello di pricing è attualmente disponibile solo per SQL Azure Database.
- Modello basato su vCORE (Virtual Cores): è un metodo di misurazione delle risorse computazionali che riprende il concetto dei cores delle licenze On-Premise. Si tratta di un modello di pricing che permette molta più flessibilità rispetto al modello DTU-Based. Quando si valuta il modello vCore-Based vanno considerati 2 concetti fondamentali:
- Livello computazionale «Provisioned»: Azure SQL assegna al database delle risorse computazionali prestabilite per un prezzo orario fisso.
- Livello computazionale «Serverless»: il database viene considerato come un componente serverless con funzionalità di auto-scaling (capacità di scalare in base all’effettiva necessità delle risorse) e un costo di utilizzo al secondo.
Azure Hybrid Benefit
Come abbiamo già accennato, un importante vantaggio nell’utilizzo del modello di pricing basato su vCore è dato anche dal fatto che, se applicato, è consentito l’utilizzo della propria licenza SQL Server On-Premise dotata di Software Assurance su servizi SQL Azure Database o SQL Azure Managed Instance. Si tratta del programma «Azure Hybrid Benefit» che permette di ottenere risparmi fino al 55% sul costo dei vCore utilizzando licenze esistenti:
- Consente di ottenere 180 giorni di diritto di utilizzo doppio della licenza, sia in locale che su Azure, per favorire processi di migrazione.
- Consente di applicare a SQL Serve lo scambio da 1 a 4 vCore: per ogni core di SQL Server Enterprise Edition si ottiene 4 vCore di Azure SQL Managed Instance oppure 4 vCore del livello di servizio Business Critical di Azure SQL Database oppure 4 vCore di SQL Server Standard Edition su Azure SQL Virtual Machine.
SaaS
Saas è l’acronimo di Software as a Service. Attualmente non esiste una versione di Azure SQL con questo tipo di servizio, a cui appartengono una pletora di applicazioni che vengono utilizzate ogni giorno. Per rimanere nell’ambito del mondo Microsoft, possiamo citare, tra gli altri, Office 365 e Dynamics 365.
I vantaggi di scegliere applicazioni SaaS sono numerosi: possibilità di accedere anche ad applicazioni complesse, pagamento a consumo, utilizzo di software che non richiede un client, possibilità di accesso da qualsiasi postazione.
Conclusioni sulla migrazione ad Azure
Non esiste una risposta univoca alla domanda “Quale soluzione Azure devo scegliere per portare il mio SQL Server su cloud?”. A seconda delle caratteristiche richieste dall’infrastruttura aziendale, delle performance necessarie e di altri fattori come la disponibilità di figure in grado di effettuare la manutenzione dell’infrastruttura, sarà più conveniente una soluzione sulle altre. Per aiutarti nella scelta abbiamo realizzato un servizio specializzato di consulenza alla migrazione su cloud, contattaci per avere più informazioni.
di Alice Sella e Matteo Dal Bianco, pubblicato il 14 aprile 2021