Azure IaaS: Implementare un’infrastruttura RDS

Microsoft Azure

Autore: Ermanno Goletto

 

Con la novità introdotta il 1 primo gennaio 2014 riguardante gli RDS CAL Extended Rights per le RDS CAL coperte da Software Assurance è stata di fatto aperta la possibilità di implementare l’infrastruttura RDS in Microsoft Azure anche per aziende che non forniscono servizio di hosting.

 

In questo articolo vedremo come implementare un’infrastruttura RDS in Microsoft Azure e analizzeremo perché per le piccole infrastrutture può essere più conveniente un approccio Cloud anziché On Premisis.

 

Architettura di un’infrastruttura RDS su Microsoft Azure

Come detto precedentemente in questo articolo faremo riferimento ad un’infrastruttura di piccole dimensioni di 5 utenti con esigenze base quali la necessità di gestire file, un DB per il gestionale (ad esempio appoggiato su SQL Server Express) e ovviamente di esporre le applicazioni tramite un server colo ruolo Remote Desktop Session Host. Ovvero uno scenari molto comune nella realtà italiana che si applica a piccole aziende familiari, piccoli studi di professionisti o piccoli uffici della pubblica amministrazione.

 

Di seguito lo schema dell’infrastruttura basata su due macchine virtuali una dedicata ad Active Directory e gestione file e una dedicata ai ruoli RD Web Access, RD Connection Broker e RD Session Host ed al DBMS.

 

In Windows Server 2012 R2 in realtà sarebbe possibile installare tutto su una macchina virtuale perché, al contrario di Windows Server 2012, il ruolo RD Connection Broker è supportato anche insieme al ruolo Active Directory Domain Services (a riguardo si vedano Windows Server 2012: Active Directory e ruoli RDS e What’s New in Remote Desktop Services for Windows Server 2012 R2), ma nell’ottica di creare fin da subito un’infrastruttura scalabile e sicure è consigliabile utilizzare due macchine virtuali. Inoltre dal momento che non è consigliabile installare SQL Server su di un domain controller a maggior ragione conviene strutturare l’infrastruttura su almeno due macchine virtuali (a riguardo si veda Can I install SQL Server on a domain controller?).

 

2014-07-15-RDSAzure-01

 

Per quanto riguarda il taglio disponibile delle macchine virtuali si faccia rifermento al link Dettagli prezzi – Macchine virtuali, nello schema riportato si è scelto di utilizzare macchine virtuali Standard e non Basic in quanto le prime non includono il bilanciamento del carico e la scalabilità automatica al contrario delle Standard che consentono anche un maggior numero di IOPS sul disco dedicato al sistema operativo e a quello temporaneo inclusi (per maggiori dettagli si veda Virtual Machine and Cloud Service Sizes for Azure).

 

Per quanto riguarda il licensing si tenga conto che il prezzo delle macchine virtuali create tramite la gallery di Azure, ovvero utilizzando uno dei template resi disponibili come ad esempio Windows Server 2012 R2 Standard, comprende già il costo della licenza del sistema operativo e delle CAL necessarie. Quindi volendo realizzare un’infrastruttura RDS occorre conteggiare a parte solo il costo delle RDS CAL coperte dalla Software Assurance che fornisce gli RDS CAL Extended Rights per il loro utilizzo su di un provider di servizi condivisi come ad esempio Microsoft Azure.

 

Per stimare i costi mensili dei servizi necessari su Azure si utilizzeranno i prezzi in vigore al momento della stesura dell’articolo (giugno 2014) per l’area Europa Occidendale espressi in Euro (i prezzi non includono le imposte, i costi mensili sono stimati sulla base di un su un utilizzo di 31×24=744 ore al mese mentre i costi annuali considerando 365×24=8.760 ore all’anno).

 

Per quanto riguarda lo storage in uno scenario per una piccola infrastruttura è ragionevole pensare che sulla macchina virtuale A1 dedicata ad Active Directory e File server vi sia un disco da 250 GB per i file e i profili utente, mentre sulla macchina virtuale A5 dedicata ai servizi RDS e a SQL Server è ragionevole assegnare un disco da 75 GB per i file di data base. Per quanto riguarda la gestione dei profili utente è consigliabile utilizzare i profili roaming mantenendoli sulla machina virtuale A1 in modo da semplificare il backup dei file utente e la configurazione nel caso che in futuro sia necessario aggiungere per scalabilità un ulteriore server RD Session Host.

 

Per il costo dello storage, i cui prezzi sono riportati nel seguente Dettagli prezzi di archiviazione, di seguito si farà riferimento a storage di tipo BLOB di pagine e dischi ridondato localmente (LRS) che può essere connesso sotto forma di VHD alla macchina virtuale. Si noti che viene conteggiato solamente lo spazio realmente occupato nei VHD e tariffato in base all’utilizzo medio giornaliero come riportato nella seguente FAQ contenuta al link indicato precedentemente Dettagli prezzi di archiviazione:

 

-Se lo spazio di archiviazione viene utilizzato solo alcuni giorni al mese, il costo viene ripartito in modo proporzionale? Sì. La capacità di archiviazione viene fatturata in unità della quantità media giornaliera di dati archiviati (in GB) su un periodo mensile. Se, ad esempio, sono stati utilizzati 10 GB di spazio di archiviazione nella prima metà del mese e nessuno nella seconda, verrà addebitato un utilizzo medio di 5 GB di spazio di archiviazione.

 

Quindi un corretto conteggio del costo dello storage deve fare riferimento a quello che può essere l’utilizzo mensile sulla base dell’archiviazione media giornaliera, nello scenario in esame si ipotizzeranno 27 giorni lavorativi al mese. Al costo dello storage vanno aggiunti anche i costi relativi alle transazioni (operazioni di lettura che di scrittura).Per la gestioni dello storage nelle macchine virtuali si vedano How to Attach a Data Disk to a Virtual Machine e Creating VM VHDs in Windows Azure.

 

Lo spazio di archiviazione dedicato ai backup può essere implementato mediante il servizio Azure Backup nativamente integrato in Windows 2012/R2, per i costi del servizio si veda Dettagli dei prezzi di backup.

 

I costi relativi al traffico di rete sono disponibili al seguente Dettagli prezzi dei trasferimenti di dati in cui viene indicato che vengono conteggiati solo i dati in uscita dai datacenter di Microsoft Azure, mentre quelli in ingresso sono gratuiti.

 

Il traffico RDP può essere stimato in circa 30 KBytes/sec per sessione con RDP 7.0 in base ai dati forniti al seguente Remote Desktop Protocol Performance Improvements in Windows Server 2008 R2 and Windows 7, mentre grazie alle novità introdotte in Windows Server 2012 e Windows Server 2012 R2 possiamo aspettarci in media una riduzione di almeno 50% del traffico e ipotizzare 15 KBytes/sec per sessione con RDP 8/8.1 (a riguardo si vedano RemoteFX Adaptive Graphics in Windows Server 2012 and Windows 8 e Why Server 2012 R2? – Remote Desktop Sessions and Virtual Desktop Infrastructure). Quindi ipotizzando 5 sessioni di 8 ore al giorno per 27 giorni al mese si può stimare per eccesso un traffico al mese di circa 60 GB.

 

Di seguito una tabella riepilogativa dei costi mensili nell’ipotesi di utilizzare le tariffe a consumo:

 

Servizio Tariffa Costo mensile
Macchina virtuale A1 Standard 1 core, 1.75 GB Ram, 127 GB per disco OS, 70 GB per disco temporaneo, supporta fino a 2 data disk da 1 TB ciascuno con un massimo di 500 IOPS per disco 0,068/ora 50,592
Utilizzo giornaliero di 100 MB di storage con ridondanza locale (LRS) per il file server e i profili utente (2,7 GB/mese) 0,038/GB per mese 0,1026
Macchina virtuale A5 Standard 2 core, 14 GB Ram, 127 GB per disco OS, 135 GB per disco temporaneo, supporta fino a 4 data disk da 1 TB ciascuno con un massimo di 500 IOPS per disco 0,254/ora 188,976
Utilizzo giornaliero di 25 MB di storage con ridondanza locale (LRS) per i file di database (0,675 GB/mese) 0,038/GB per mese 0,02565
Transazioni di archiviazione complessive (100.000/giorno pari a circa 2.700.000/mese) 0,004/ 100.000 transazioni 0,108
Spazio di archiviazione backup (30 GB/mese) 0,21/GB per mese (5GB gratuiti) 6,3
Trasferimento dati su rete (60 GB/mese) 0,09/GB 5,4
Totale arrotondato per eccesso 252

 

Di seguito una tabella riepilogativa dei costi annuali ipotizzando una tariffa a 12 mesi con pagamento anticipato:

 

Servizio Tariffa Costo annuale
Macchina virtuale A1 Standard 1 core, 1.75 GB Ram, 127 GB per disco OS, 70 GB per disco temporaneo, supporta fino a 2 data disk da 1 TB ciascuno con un massimo di 500 IOPS per disco 0,046/ora 402,96
Utilizzo giornaliero di 100 MB di storage con ridondanza locale (LRS) per il file server e i profili utente (2,7 GB/mese) 0,038/GB per mese 1,2312
Macchina virtuale A5 Standard 2 core, 14 GB Ram, 127 GB per disco OS, 135 GB per disco temporaneo, supporta fino a 4 data disk da 1 TB ciascuno con un massimo di 500 IOPS per disco 0,173/ora 1.515,48
Utilizzo giornaliero di 25 MB di storage con ridondanza locale (LRS) per i file di database (0,675 GB/mese) 0,038/GB per mese 0,3078
Transazioni di archiviazione complessive (100.000/giorno pari a circa 2.700.000/mese) 0,004per 100.000transazioni 1,296
Spazio di archiviazione backup (30 GB/mese) 0,142/GBper mese(5GB gratuiti) 42,6
Trasferimento dati su rete (60 GB/mese) 0,07/GB(5GB gratuiti) 46,2
Totale arrotondato per eccesso   2.011

 

A questi costi come detto precedentemente occorre aggiungere il costo di 5 RDS CAL coperte da Software Assurance il cui importo preciso è difficilmente quantificabile perché dipende molto dalla politiche commerciali adottate dl rivenditore, ma che potremmo stimare sui 550 Euro da spalmare poi sul periodo di attività dell’infrastruttura.

 

Vantaggi dell’implementazione dell’infrastruttura su Microsoft Azure

Dato per scontato che l’azienda abbia una connettività idonea e ridondata, che per altro è comunque un prerequistito anche nel caso si implementi On Premisis l’infrastruttura RDS se questa deve poi essere disponibile esternamente, l’adozione delle tecnologie Cloud offerte da Microsoft Azure presenta una serie di vantaggi.

 

In primis nel caso di piccole infrastrutture non risulta necessario affrontare i costi di una sala server che seppur minimale avrebbe necessitato di:

 

-Un server con un processore almeno quad core, almeno 16 GB di RAM, minimo due dischi da 500 GB in RAID 1 (anche se sarebbe meglio utilizzarne 4 in Raid 10), almeno due schede di rete, doppio alimentatore

– Un contratto di assistenza a copertura di eventuali rotture hardware con tempi di intervento i 4 o 8 ore di almeno tre anni.

– Un gruppo di continuità per il server

– Un device per la gestione dei backup con i relativi supporti (per esempio RDX)

 

Inoltre ai costi del puro hardware occorre aggiungere le seguenti voci di spesa:

 

– Una licenza di Windows Server 2012 R2 Standard

– 5 licenze CAL Windows Server 2012

– 5 licenze RDS CAL Windows Server 2012

– Il costo della corrente elettrica per alimentare il server e se necessario climatizzare la server room. Considerando una tariffa per kWh di circa 0,22 Euro per un server con alimentatore da 0,5 kW la spesa annuale in corrente elettrica di un server (escluso l’assorbimento dell’eventuale condizionamento e del gruppo di continuità) risulta di 0,5 kW x 24 ore x 365 giorni x 0,22 Euro = 963,6 Euro

 

A differenza dell’implementazione su Microsoft Azure non è necessario coprire le RDS CAL con la Software Assurance.

 

Per quanto riguarda il costo del licensing occorre però precisare che i sistemi operativi offerti tramite macchine virtuali in Microsoft Azure possono essere aggiornati quanto si desidera creando nuove macchine virtuali con gli ultimi OS su cui migrare i dati. In un’infrastruttura On Premisis se le licenze di OS, CAL e RDS CAL non sono coperte da Software Assurance non sarà possibile usufruire degli ultimi rilasci dei sistemi operativi a meno di non riacqustare le licenze. Inoltre per poter gestire una migrazione On Premisis occorre avere dello storage disponibile e un hardware che possa supportare eventuali maggiori requisiti di future versioni di OS e questo si traduce in un investimento maggiore sull’hardware.

 

Altra considerazione che occorre fare è che in Microsoft Azure la disponibilità del sistema è garantita essere del 99,95% per le macchine virtuali e del 99,99% per tutti gli atri servizi (a riguardo si veda Contratti di servizio), questo significa che potenzialmente il sistema può non essere disponibile per 4,38 ore all’anno. In una infrastruttura On Premisis anche ridondando dischi, alimentatori, schede di rete vi saranno componenti non ridondati (CPU, RAM, Main Board) con il rischio che il sistema possa essere indisponibile nella migliore delle ipotesi per almeno il minino del tempo d’intervento previsto dal contratto di assistenza ogni volta che si presenta un guasto hardware.

 

Sul lungo periodo (dopo tre anni) occorre anche valutare che i costi di un’infrastruttura Cloud si riducono sia per una probabile riduzione dei costi dei servizi (avvenuta per esempio a maggio 2014 a riguardo si veda Announcing Reduced Pricing on Storage) sia perché l’invecchiamento di un’infrastruttura On Premisis comporta nuovi investimenti hardware e/o software.

 

Inoltre valutando la scalabilità delle due soluzioni Microsoft Azure permette di fatto passare in base all’esigenza su servizi di livello superiore e questo è molto importante soprattutto per quanto riguarda il sizing e il numero delle macchine virtuali e lo storage. Si pensi alla necessità di avere maggior capacità computazionale che può essere gestita tramite una farm di server RD Session Host che può essere modulata economicamente tenendo attive solo il/i server RD Session Host necessari. Infatti in Microsoft Azure il costo delle macchine virtuali è relativo solo al loro periodo di attività, in altre parole le macchine virtuali allocate ma non attive non vengono addebitate (a riguardo si vedano le FAQ in Dettagli prezzi – Macchine virtuali).

 

Volendo fare una stima approssimativa del costo dell’infrastruttura On Premisis descritta precedentemente basandoci sui configuratori dei vari vendor hardware ipotizzando di acquistare in OEM le licenze necessarie potremmo determinate in circa 5.000 Euro il costo dell’hardware e del software (cifra che può ovviamente variare da vendor a vendor sulla base delle varie offerte in essere sul periodo). Quindi aggiungendo il costo dell’energia elettrica calcolato precedentemente in tre anni un’infrastruttura On Premisis costa all’incirca 7.890 Euro equivalenti a circa 2.630 Euro annuali.

 

Conclusioni

In base alle considerazioni e ai calcoli illustrati precedentemente appare evidente che realizzare l’infrastruttura dello scenario descritto su Microsoft Azure, risulta avere un costo annuale minore rispetto all’implementazione On Premisis offrendo molto di più in termini di dinamicità, scalabilità e disponibilità.

 

Inoltre considerando che, come detto precedentemente, il costo delle macchine virtuali non attive non viene addebitato nell’ipotesi più che plausibile di poter spegnere le macchine virtuali per circa tre ore al giorno (ad esempio dalle 2 alle 5 di notte) si avrebbe un risparmio di 1/8 sul costo. Volendo quantificare il costo sulla base di questa ipotesi avrebbe che:

 

– Il costo mensile per eccesso con tariffe a consumo dell’infrastruttura risulterebbe di 223 Euro (con un risparmio di 29 Euro)

– Il costo annuale per eccesso con tariffa a 12 mesi con pagamento anticipato dell’infrastruttura risulterebbe di circa 1.772 Euro (con un risparmio di 239 Euro)

 

Ma la vera forza di un’infrastruttura su Microsoft Azure è la sua dinamicità in termini di capacità computazionale, storage, network e anche economica, infatti è possibile modulare tutto questi aspetti in base alle proprie necessità di fatto giorno per giorno, cosa ovviamente impossibile per un’infrastruttura On Premisis che viene strutturata per durare almeno tre anni (ma in generale molto di più) sulla base di dello storico e delle previsioni sui requisti dell’infrastruttura.