#Cloud #impresoftgroupnews
Quelle che sono le caratteristiche principali ed i potenziali punti di forza del cloud possono in alcune circostanze nascondere delle insidie se non governate a dovere. La gestione dei costi rientra tra le discipline fondamentali in ambito cloud governance.
In questo articolo vengono riepilogati i principi e le tecniche che è possibile adottare per gestire al meglio e per ridurre al minimo i costi da sostenere per le risorse create in ambiente Azure.
Il processo di ottimizzazione dei costi cloud è sicuramente un tema molto sentito al punto che, per il sesto anno consecutivo, risulta essere la principale iniziativa cloud in base al rapporto di Flexera:
Per gestire al meglio i costi di Azure è importante tenere in considerazione i principi riportati nei paragrafi seguenti.
Solamente grazie ad un processo di progettazione strutturato, che prevede una attenta analisi dei requisiti aziendali, si è nelle condizioni di personalizzare l’utilizzo delle soluzioni in ambiente cloud. Risulta pertanto importante definire l’infrastruttura da implementare e il modo in cui questa viene utilizzata, il tutto tramite un processo di progettazione finalizzato a massimizzare l’efficienza delle risorse dislocate in ambiente Azure.
Dotarsi di strumenti che permettono di avere una visibilità globale e che consentono di ricevere notifiche in merito ai costi di Azure è un aspetto importante da contemplare.
Una buona pratica è attribuire i costi delle risorse cloud, all’interno della propria organizzazione aziendale, per assicurarsi che le persone responsabili siano consapevoli delle spese imputabili al loro gruppo di lavoro. Questo consente di comprendere appieno le spese di Azure dell’organizzazione. Per farlo è opportuno organizzare le risorse Azure per massimizzare la comprensione in merito all’attribuzione dei costi.
Tramite processi di revisione periodica è opportuno agire sulle risorse Azure con l’obiettivo di ridurre la spesa qualora possibile. Grazie al set di informazioni a disposizione è possibile individuare facilmente le risorse sottoutilizzate, rimuovere gli sprechi e massimizzare le opportunità di risparmio sui costi.
Il personale IT è opportuno che sia coinvolto in modo continuativo nei processi iterativi di ottimizzazione dei costi delle risorse Azure, in quanto risulta essere un principio chiave per un processo responsabile di governance dell’ambiente cloud.
Indipendentemente dagli strumenti e dalle soluzioni utilizzate, per ottimizzare i costi di Azure è possibile adottare le seguenti politiche:
1. Spegnere le risorse inutilizzate dal momento che il costo dei vari servizi Azure è calcolato sulla base dell’utilizzo delle risorse. Per le risorse che non necessitano di una esecuzione continua e che permettono, senza perdita di configurazioni o dati, lo spegnimento oppure la sospensione, è possibile adottare una automazione che, basandosi su uno scheduling predefinito, permetta di ottimizzare l’uso e di conseguenza i costi delle stesse.
2. Dimensionare in modo opportuno le risorse consolidando i carichi di lavoro e intervenendo sulle risorse sottoutilizzate.
3. Per le risorse in ambiente Azure che ne viene fatto un uso continuativo è possibile valutare l’attivazione delle Reservations. Le Azure Reservation consentono di ottenere una riduzione dei costi fino al 72% rispetto al prezzo pay-as-you-go, semplicemente impegnandosi nel pagamento, per uno oppure tre anni, per l’utilizzo delle risorse Azure. Il pagamento può avvenire in anticipo oppure su base mensile, senza costi aggiuntivi. L’acquisto di queste reservation può essere fatto direttamente dal portale Azure ed è contemplato per i clienti che dispongono delle seguenti tipologie di subscription: Enterprise agreement, Pay-As-You-Go e Cloud Solution Provider (CSP).
Le Azure Reserved Instances non solo permettono di ottenere un beneficio importante in termini di costi, ma garantiscono anche di riservare risorse computazionali per i propri workloads. Si potrebbe pensare che le risorse in Azure siano pressoché infinite, ma in realtà non è così. Tendenzialmente si ha sempre la possibilità di attingere a nuove risorse, ma in situazioni speciali (vedi ad esempio nel periodo iniziale del COVID-19) queste potrebbero scarseggiare e, solo a fronte del fatto di aver acquistato risorse in questa modalità, si ha la certezza che vengano riservate le risorse necessarie per l’esecuzione dei propri workload.
4. Per ridurre i costi Azure è inoltre possibile valutare l’adozione dell’ Azure Hybrid Benefit. Il risparmio è dato dal fatto che Microsoft consente di pagare solamente i costi di infrastruttura Azure, mentre il licensing per Windows Server oppure per SQL Server viene coperto da un contratto di Software Assurance o a subscription esistente. Questo benefit è applicabile sia alla versione Standard sia alla versione Datacenter di Windows Server .
L’Azure Hybrid Benefit può essere utilizzato anche per Azure SQL Database, per i SQL Server installati a bordo di macchine virtuali Azure e per SQL Managed Instance. Questi vantaggi facilitano la migrazione verso soluzioni nel cloud (180 giorni di diritto di doppio utilizzo) e aiutano a massimizzare gli investimenti già effettuati in termini di licenze SQL Server. Per maggiori informazioni su come è possibile utilizzare l’Azure Hybrid Benefit per SQL Server è possibile consultare le FAQ di questo documento. Inoltre, questo vantaggio si applica anche alle subscription di RedHat e SUSE Linux.
L’Azure Hybrid Benefit può essere utilizzato in concomitanza con le Azure Reserved VM Instance, consentendo di avere risparmi complessivi che possono raggiungere l’80% (nel caso di acquisto di Azure Reserved Instance per 3 anni).
5. Valutare l’adozione di nuove tecnologie serverless e applicare ottimizzazioni nelle architetture andando a selezionare il servizio Azure più adeguato per l’applicazione specifica.
6. Allocare e e de-allocare dinamicamente le risorse per soddisfare le esigenze in termini di prestazioni. In questo caso si parla di “autoscaling” che è il processo di allocazione dinamica delle risorse per soddisfare i requisiti in termini di prestazioni. Con l’aumento del volume di lavoro, un’applicazione potrebbe richiedere risorse aggiuntive per mantenere i livelli di prestazioni desiderati e soddisfare gli SLA (Service Level Agreement). Dal momento in cui la domanda diminuisce e le risorse aggiuntive non sono più necessarie, possono essere deallocate per ridurre al minimo i costi. Il processo di autoscaling sfrutta l’elasticità degli ambienti ospitati nel cloud riducendo al contempo il sovraccarico di gestione.
7. Per gli ambienti di test e sviluppo è possibile valutare l’adozione delle subscription di Dev\Test, che permettono di ottenere degli sconti considerevoli sulle tariffe di Azure. Queste subscription è possibile attivarle nell’ambito di un contratto di Enterprise Agreement.
L’utilizzo di un approccio metodologico alla gestione dei costi del cloud e l’adozione delle giuste tecniche sono aspetti fondamentali che consentono di affrontare al meglio la sfida del governo dei costi. Prendendo in considerazione i principi e le tecniche riportate in in questo articolo, si ha la possibilità di ottimizzare le spese e di massimizzare l’investimento nel cloud.