Archivi categoria: Azure Governance

Azure Governance: come gestire ed ottimizzare i costi del cloud

Una delle principali caratteristiche del cloud è la possibilità di creare e distribuire risorse in modo estremamente agile e veloce. Utilizzare soluzioni ottimizzate per ridurre al minimo i costi ed avere sempre sotto controllo le spese da sostenere per le risorse create in ambiente cloud è un aspetto di fondamentale importanza. In questo articolo vengono riepilogati i principi e gli strumenti che è opportuno tenere in considerazione per gestire ed ottimizzare i costi del cloud.

Il processo di ottimizzazione dei costi cloud è sicuramente un tema molto sentito da diversi clienti, al punto che per il quarto anno consecutivo, risulta essere la principale iniziativa cloud in base al rapporto di Flexera:

Figura 1 – Iniziative cloud top per l’anno 2020

Principi per gestire al meglio i costi

Per ottenere una posizione di successo nella gestione dei costi del cloud è bene tenere in considerazione i principi in seguito riportati.

Progettazione

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 determinare 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.

Visibilità

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.

Responsabilità

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.

Ottimizzazione

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.

Iterazione

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 responsabile processo di governance dell’ambiente cloud.

Quali soluzioni usare?

In fase di progettazione è utile avere una stima il più possibile precisa relativa ai costi che si devono sostenere nell’adottare soluzione in ambito Azure. Per fare queste stime è possibile utilizzare i seguenti strumenti:

La soluzione Azure Cost Management + Billing offre un set completo di funzionalità di gestione dei costi cloud ed è utile in particolare per:

  • Monitorare e analizzare la fattura di Azure.
  • Impostare budget e avvisi di spesa.
  • Assegnare i costi ai team e per i vari progetti.

Figura 2 – Azure Cost Management + Billing: analisi dei costi

Dopo aver compreso le spese attuali e future in ambito cloud è possibile lavorare per ottimizzare i costi dei workload presenti in Azure. In questo ambito gli strumenti Microsoft che è possibile utilizzare sono:

  • Azure Advisor: si tratta di una soluzione totalmente gratuita ed inclusa in Azure che consente facilmente di ottimizzare le risorse presenti nei propri deployment, offrendo delle raccomandazioni specifiche per diverse categorie, tra le quali i costi. Azure Advisor fornisce delle indicazioni per massimizzare il ritorno economico degli investimenti in Azure. Questa soluzione può essere utile ad esempio per identificare le risorse inutilizzate oppure per individuare opportunità per dimensionare in modo migliore i servizi.

Figura 3 – Azure Advisor: esempio di raccomandazione

Politiche per ottimizzare i costi

Indipendentemente dagli strumenti utilizzati, per ottimizzare i costi di Azure è possibile adottare le seguenti politiche:

  • 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.
  • Dimensionare in modo opportuno le risorse consolidando i carichi di lavoro e intervenendo sulle risorse sottoutilizzate.
  • Per le risorse in ambiente Azure che ne viene fatto un uso continuativo è possibile valutare l’attivazione delle Azure 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. 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).
  • Per la riduzione dei costi Azure è inoltre possibile adottare l’Azure Hybrid Benefit, che consente di risparmiare fino al 40% sul costo delle macchine virtuali Windows Server che vengono implementate su Azure. Il risparmio è dato dal fatto che Microsoft consente di pagare solamente i costi di infrastruttura Azure, mentre il licensing per Windows Server viene coperto dal contratto di Software Assurance. Questo benefit è applicabile sia alla versione Standard che Datacenter ed è usufruibile per Windows Server 200 R2 o successivi.

Figura 4 – Struttura dei costi per una VM Windows

L’Azure Hybrid Benefit può essere utilizzato anche per Azure SQL Database e per i SQL Server installati su macchine virtuali Azure. Questi vantaggi facilitano la migrazione verso soluzioni nel cloud 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.

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).

Figura 5 – Percentuali di possibili risparmi adottando RIs ed Azure Hybrid Benefit

  • Per gli ambienti di test e sviluppo è possibile utilizzare delle subscription di DevTest, che permettono di ottenere degli sconti considerevoli sulle tariffe di Azure. Queste subscription è possibile attivarle nell’ambito di un contratto di Enterprise Agreement.
  • Valutare l’adozione di nuove tecnologie serverless e applicare miglioramenti nelle architetture esistenti.

Conclusioni

L’utilizzo di un approccio metodico alla gestione dei costi e l’adozione dei giusti strumenti, sono elementi fondamentali per affrontare le sfide dei costi del cloud. I vari elementi esaminati in questo articolo permettono di ridurre le spese e massimizzare l’investimento nel cloud.

Please follow and like us:

Azure Arc: nuove funzionalità per gestire sistemi in ambienti ibridi

La complessità degli ambienti IT è in continua espansione al punto da avere realtà con applicazioni basate su diverse tecnologie, attive su infrastrutture eterogenee e che magari utilizzano soluzioni in differenti cloud pubblici. L’esigenza molto sentita dai clienti è di poter adottare una soluzione che, in modo centralizzato, consenta di inventariare, organizzare e applicare delle policy di controllo sulle proprie risorse IT ovunque si trovino. La risposta di Microsoft a questa esigenza è Azure Arc, la soluzione che coinvolge diverse tecnologie con l’obiettivo di sviluppare nuovi scenari ibridi, dove i servizi e i principi di gestione di Azure vengono estesi a qualsiasi infrastruttura. In questo articolo vengono riportate le nuove funzionalità che sono state recentemente introdotte per estendere la capacità di gestione degli ambienti ibridi.

I server abilitati per la soluzione Azure Arc possono già beneficiare di diverse funzionalità legate ad Azure Resource Manager come Tags, Policies e RBAC, oltre che ad alcune funzionalità relative ad Azure Management.

Figura 1 – Azure Management per tutte le risorse IT

Grazie al nuovo aggiornamento che è stato recentemente annunciato è possibile utilizzare nuove estensioni, chiamate Azure Arc Extensions, per ampliare le funzionalità ed estendere ulteriormente le pratiche di gestione e di governance di Azure anche ad ambienti differenti. Questo consente di adottare sempre più soluzioni tipicamente cloud, come tecniche DevOps (infrastructure as code), anche per gli ambienti on-premises.

Azure Arc Extensions

Le Azure Arc Extensions sono delle applicazioni che consentono di effettuare delle configurazioni e di eseguire dei task di automazione post-deployment. Queste estensioni possono essere eseguite direttamente da riga di comando Azure, da PowerShell oppure dal portale di Azure.

Al momento sono disponibili le seguenti Azure Arc Extensions che possono essere distribuite sui server abilitati per Azure Arc.

Custom Script Extension per sistemi Windows e Linux

Grazie a questa estensione è possibile eseguire dei task post provisioning della macchina per effettuare delle personalizzazioni dell’ambiente. Aggiungendo questa estensione è infatti possibile scaricare degli script personalizzati, ad esempio da Azure Storage, ed eseguirli direttamente sulla macchina.

Figura 2 – Custom Script Extension, per sistemi Windows abilitati per Azure Arc, dal portale Azure

Durante il deployment della Custom Script Extension è possibile aggiungere il file che contiene lo script da eseguire e opzionalmente i relativi parametri. Per i Sistemi Linux si tratta di uno script shell (.sh), mentre per Windows di uno script Powershell (.ps1).

Desired State Configuration extension su sistemi Windows e Ubuntu (DSCForLinux)

Desired State Configuration (DSC) è una piattaforma di gestione che è possibile utilizzare per gestire l’infrastruttura IT e di sviluppo in ottica di “configuration as code”.

DSC per Windows fornisce nuovi cmdlet di Windows PowerShell e risorse che è possibile utilizzare per specificare in modo dichiarativo come si desidera configurare l’ambiente software. Fornisce inoltre uno strumento utile per mantenere e gestire le configurazioni esistenti. Questa extension funziona come l’estensione per le macchine virtuali in Azure, ma è progettata per essere distribuita sui server abilitati per Azure Arc.

Figura 3 – PowerShell Desired State Configuration, per sistemi Windows abilitati per Azure Arc, dal portale Azure

L’estensione DSCForLinux consente di installare l’OMI agent e il DSC agent sui sistemi Ubuntu abilitati per Azure Arc. L’extension DSC permette di effettuare le seguenti azioni:

  • Registrare la VM ad un Azure Automation account per estrarre (pull) delle configurazioni (Register ExtensionAction).
  • Distribuire delle configurazioni MOF (Push ExtensionAction).
  • Applicare la configurazione meta MOF alla VM per configurare un pull server al fine di estrarre la configurazione del nodo (Pull ExtensionAction).
  • Installare moduli DSC personalizzati (Install ExtensionAction).
  • Rimuovere moduli DSC personalizzati (Remove ExtensionAction).

 

OMS Agent for Linux – Microsoft Monitoring Agent

L’installazione di questo agente consente raccogliere i dati di monitor dal sistema operativo guest e dai workload applicativi dei sistemi e di inviarli a un workspace di Log Analytics. Questo agente viene utilizzato da diverse soluzioni di management di Azure, tra le quali Azure Monitor, Azure Security Center, ed Azure Sentinel. Sebbene oggi sia possibile monitorare VMs non di Azure anche senza Azure Arc, l’utilizzo di questa estensione consente di rilevare e gestire automaticamente gli agenti nelle VMs. Una volta integrati, i server abilitati ad Azure Arc si adatteranno perfettamente alle viste esistenti del portale Azure insieme alle macchine virtuali presenti in Azure e agli Azure scale sets.

Dopo aver distribuito l’agente di Azure Arc sui sistemi è possibile installare il Microsoft Monitoring Agent (MMA) usando questa extension, semplicemente aggiungendo l’ID del workspace di Log Analytics e la relativa key.

Figura 4 – Microsoft Monitoring Agent extension per Azure Arc dal portale Azure

Grazie alla disponibilità di queste nuove extension, i server abilitati per Azure Arc dispongono anche di funzionalità come Update Management, Inventory, Change Tracking e monitor.

Update Management

La soluzione di Update Management consente di avere una visibilità complessiva sulla compliance degli update sia per sistemi Windows che Linux. Tramite il pannello di ricerca è possibile identificare velocemente gli update mancati ed è prevista la possibilità di schedulare dei deployment per l’installazione degli update all’interno di una specifica finestra di manutenzione.

Inventory

Questa funzionalità consente di recuperare informazioni di inventario relative a: software installati, files, chiavi Windows Registry, Servizi Windows e Daemons Linux.

Change Tracking

La funzionalità di Change Tracking consente di monitorare le modifiche apportate ai sistemi relativamente a Daemons, File, Registry, Software e Servizi Windows. Tale funzionalità può risultare molto utile per diagnosticare problemi specifici e per abilitare segnalazioni a fronte di cambiamenti non attesi.

Conclusioni

Grazie alla disponibilità di queste nuove extension è possibile usufruire di funzionalità maggiori, in ambito governance e management tipiche di Azure, anche per gli ambienti hybrid cloud. Si tratta di una importante evoluzione di questa soluzione, al momento ancora in preview, che è destinata presto ad arricchirsi ulteriormente con nuove importanti funzionalità.

Please follow and like us:

Azure Monitor: come abilitare il servizio di monitor delle macchine virtuali tramite Azure Policy

In Azure Monitor è stato reso disponibile il servizio che consente di effettuare il monitor delle macchine virtuali, chiamato Azure Monitor for VMs. Questo servizio permette di analizzare i dati di performance dei sistemi ed effettua una mappa che consente di identificare tutte le dipendenze delle macchine virtuali e dei relativi processi. Il metodo consigliato per abilitare questa soluzione per differenti sistemi è tramite l’adozione delle Azure Policy.  In questo articolo viene riportata la procedura da seguire per effettuarne l’attivazione utilizzando questo metodo, riprendendo vari concetti relativi alla governance di Azure.

Caratteristiche principali di Azure Monitor for VMs

Azure Monitor for VMs può essere utilizzato su macchine virtuali Windows e Linux, indipendentemente dall’ambiente in cui esse risiedono (Azure, on-premises oppure presso altri cloud provider) e contempla i seguenti ambiti:

  • Performance: vengono riportati i dati principali di performance, provenienti dal sistema operativo guest. Nella soluzione sono presenti potenti funzionalità di aggregazione dei dati e di filtering che consentono di affrontare la sfida di monitorare le performance per un numero molto elevato di sistemi. In questo modo è possibile monitorare agilmente lo stato di utilizzo delle risorse di tutte le VMs ed individuare facilmente quelle che presentano problematiche di performance.
  • Maps: viene generata una mappa con le interconnessioni presenti tra vari componenti che risiedono su sistemi differenti. Le mappe mostrano come le VMs ed i processi interagiscono tra loro e possono identificare eventuali dipendenze da servizi di terze parti. La soluzione permette anche di controllare eventuali errori di connessione, conteggia le connessioni in tempo reale, i byte di rete inviati e ricevuti dai processi e le latenze riscontrare a livello di servizio.

L’abilitazione tramite Azure Policy

Le Azure Policy permettono di applicare e forzare su larga scala dei criteri di compliance e le relative azioni di remediation. Per abilitare questa funzionalità in modo automatico sulle macchine virtuali presenti nell’ambiente Azure ed ottenere un livello elevato di compliance è consigliato quindi utilizzare le Azure Policy. Tramite le Azure Policy è infatti possibile:

  • Effettuare il deployment dell’agente di Log Analytics e del Dependency agent.
  • Avere un report sullo stato di compliance.
  • Avviare delle azioni di remediation per le VMs non compliant.

Un requisito da verificare prima di procedere con l’attivazione è la presenza della soluzione VMInsights nel workspace di Azure Monitor Log Analytics che verrà utilizzato per archiviare i dati di monitor.

Figura 1 – Configurazione del workspace di log Analytics

Selezionando il workspace desiderato viene scatenata l’installazione della solution VM Insights che permette di collezionare i performance counters e le metriche di tutte le macchine virtuali connesse a tale workspace.

Per attivare Azure Monitor for VMs tramite policy basta selezionare il relativo riquadro di onboarding nella schermata principale della soluzione.

Figura 2 – Selezione di Azure Policy come metodo di abilitazione

Nel blade seguente verrà riportato lo stato di copertura del servizio e sarà fornita la possibilità di assegnare le Policy per la relativa attivazione.

Figura 3 – Assegnazione dell’Initiative a livello di Management Group

Gli Azure Management Groups, consentono di organizzare differenti subscriptions in contenitori logici, sui quali definire, porre in essere e verificare le politiche di governo necessarie.

Le Initiatives, che sono un insieme di più Azure Policy, possono essere assegnate a livello di Resource Group, Subscription oppure di Management Group. Si ha inoltre la possibilità di escludere determinate risorse dall’applicazione delle policy.

A questo proposito le policy di abilitazione di Azure Monitor for VMs sono raggruppate in un’unica “initiative”, chiamata “Enable Azure Monitor for VMs” che comprende le seguenti policy:

  • Audit Dependency agent deployment – VM image (OS) unlisted
  • Audit Log Analytics agent deployment – VM image (OS) unlisted
  • Deploy Dependency agent for Linux VMs
  • Deploy Dependency agent for Windows VMs
  • Deploy Log Analytics agent for Linux VMs
  • Deploy Log Analytics agent for Windows VMs

Tale Initiative è consigliato assegnarla a livello di Management Group.

Figura 4 – Configurazione dell’associazione

Tra i parametri è richiesto di specificare il workspace di Log Analytics ed opzionalmente è possibile specificare eventuali task di remediation.

In seguito all’assegnazione è possibile valutare lo stato di compliance nel dettaglio e se lo si ritiene necessario applicare delle azioni di remediation.

Figura 5 – Verifica sullo stato di compliance dell’Initiative

Completato il processo di abilitazione sarà possibile analizzare i dati di performance dei sistemi e le mappa create per identificare tutte le dipendenze delle macchine virtuali e dei relativi processi.

Figura 6 – Performance raccolte per i sistemi

Figura 7 – Mappa con le interconnessioni presenti tra vari sistemi

Figura 8 – Mappa che riporta i dettagli delle connessioni

Un metodo efficace per renderle facilmente consultabili questi dati e per analizzarli in modo semplice è l’utilizzo dei Workbooks, documenti interattivi che consentono di interpretare al meglio le informazioni e fare analisi approfondite. In questo documento Microsoft è possibile consultare la lista dei relativi Workbook inclusi in Azure Monitor for VMs e come crearne dei propri personalizzati.

Conclusioni

In questo articolo si è dimostrato come è possibile abilitare la soluzione Azure Monitor for VMs grazie all’adozione delle Azure Policy in modo semplice, rapido ed efficace. La soluzione riporta informazioni molto utili che tipicamente devono essere raccolte su diversi sistemi presenti nel proprio ambiente. Aumentando la complessità e la quantità di servizi su Azure diventa indispensabile adottare degli strumenti come Azure Policy, per avere delle politiche efficaci di governance. Inoltre, con l’introduzione di Azure Arc si potranno estendere queste pratiche di gestione e di governance di Azure anche ad ambienti differenti, facilitando in questo modo l’implementazione di funzionalità presenti in Azure su tutti i componenti dell’infrastruttura.

Please follow and like us:

Azure Governance: panoramica di Azure Blueprints

L’IT governance permette di realizzare un processo attraverso il quale è possibile garantire alle realtà aziendali un utilizzo efficiente delle proprie risorse IT, con l’obiettivo di poter raggiungere in modo efficace i propri obiettivi. La Governance dell’ambiente Azure è resa possibile da una serie di servizi appositamente progettati per consentire una gestione ed un costante controllo delle varie risorse Azure su vasta scala. Tra questi strumenti troviamo Azure Blueprints che permette di effettuare il design e la creazione di nuovi componenti in Azure, nel rispetto totale delle specifiche e degli standard aziendali. In questo articolo viene riportata una panoramica della soluzione per fornire gli elementi necessari per il relativo utilizzo.

Azure Blueprints consente ai Cloud Architect e ai Cloud Engineer, responsabili di realizzare architetture in Azure, di definire ed implementare in modo ripetibile un insieme di risorse Azure, con la certezza di aderire agli standard, ai modelli e ai requisiti definiti aziendalmente. Azure Blueprints permette inoltre di effettuare il rilascio di nuovi ambienti in modo rapido, adottando componenti integrati e accelerando i tempi di sviluppo e di consegna degli stessi.

I principali punti di forza della soluzione Azure Blueprints posso essere così sintetizzati.

Semplifica la creazione degli ambienti Azure

  • Centralizza la creazione di nuovi ambienti Azure tramite template.
  • Consente di aggiungere risorse, policy e ruoli.
  • Permette di tenere traccia degli aggiornamenti dei progetti tramite il controllo delle versioni.

Azure Blueprints tramite un modello dichiarativo permette di orchestrare la distribuzione di vari templates di risorse e di altri artifacts Azure. Il servizio Azure Blueprints è basato e supportato da Azure Cosmos DB. Gli oggetti blueprint vengono replicati in più region di Azure, ottenendo così una bassa latenza, un’elevata disponibilità e accesso coerente agli stessi, indipendentemente dalla region in cui vengono distribuite le risorse.

Permette di rispettare la compliance

  • Consente agli sviluppatori di creare ambienti completamente governati attraverso metodologie self-service.
  • Fornisce la possibilità di creare in modo centralizzato più ambienti e subscription Azure.
  • Permette di sfruttare l’integrazione con le Azure Policy e con il ciclo di vita di DevOps.

Consente di controllare i lock sulle risorse

  • Assicura che le risorse di base non possano essere modificate.
  • Gestisce i lock in modo centralizzato.
  • Permette di aggiornare le risorse bloccate tramite delle variazioni alla definizione del modello blueprint.

Come utilizzare Azure BluePrints

Si riportano le fasi da seguire per adottare la soluzione Azure Blueprints.

Figura 1 – Come funziona Azure Blueprint

Il primo step prevedere la creazione di un blueprint che può essere fatta tramite portale Azure, PowerShell oppure REST API.

Figura 2 – Schermata iniziale di Bluprints dal portale Azure

Avviando il processo di creazione dal portale Azure c’è la possibilità di partire da un blueprint vuoto oppure di utilizzare alcuni esempi disponibili.

Figura 3 – Creazione del blueprint dal portale Azure

Il blueprint è composto da differenti artifacts come: Role Assignments, Policy Assignments, Azure Resource Manager templates e Resource Group. Terminata la creazione è necessario pubblicare il blueprint (al termine della creazione sarà nello stato di draft) specificando il versioning. Azure Blueprints risulta uno strumento molto utile per le aziende che utilizzano il modello di infrastructure as code in quanto contempla i processi di continuous integration e continuous deployment.

Solo dopo aver pubblicato il blueprint è possibile assegnarlo a una o più subscription Azure, specificando la tipologia di lock secondo i seguenti stati:

  • Don’t Lock: significa che le risorse create da Blueprints non saranno protette.
  • Do Not Delete: significa che le risorse possono essere modificate, ma non rimosse.
  • Read Only: l’assegnazione risulta in locked e le derivanti risorse non potranno essere modificate o rimosse, nemmeno dagli owner della subscription. In questo caso è bene specificare che non tutte le risorse Azure supportano il lock e che l’assegnazione del blocco può richiedere fino a 30 minuti per essere effettivo.

Figura 4 – Assegnazione del blueprint

Durante l’assegnazione del Blueprint verranno inoltre richiesti i parametri previsti per effettuare il deployment delle risorse.

Figura 5 – Esempio di richiesta dei parametri del blueprint

Un aspetto interessante della soluzione Azure Blueprints è dato dal fatto che i blueprint creati mantengono una relazione con le risorse assegnate e possono essere monitorati e controllati, cosa non possibile utilizzando i semplici template ARM e le policy.

Conclusioni

Azure Blueprints è un servizio che offre a coloro che si occupano di realizzare architetture in Azure la capacità di definire un set di risorse in modo facilmente ripetibile, conforme agli standard aziendali e ai requisiti dell’organizzazione. Adottando dei blueprint è possibile creare e distribuire rapidamente nuovi ambienti, contemplando una serie di componenti integrati. Questo permette non solo di distribuire ambienti consistenti, ma di farlo in modo agile, consentendo alle organizzazioni di accelerare lo sviluppo e la consegna delle soluzioni in Azure.

Please follow and like us:

Azure Arc: un nuovo approccio agli ambienti ibridi

L’impiego di architetture ibride nelle realtà aziendali è sempre più preponderante, in quanto consentono di continuare a trarre vantaggio dagli investimenti fatti nel proprio ambiente on-premises e, allo stesso tempo, utilizzare l’innovazione introdotta dal cloud. L’adozione di soluzioni ibride risulta vincente se tiene conto anche di una politica condivisa per la distribuzione, la gestione e la messa sicurezza dei componenti. Senza coerenza nella gestione dei differenti ambienti, i costi e la complessità rischiano di crescere in modo esponenziale. Microsoft ha deciso di rispondere a questa esigenza con la soluzione Azure Arc, che coinvolge una serie di tecnologie con l’obiettivo di sviluppare nuovi scenari ibridi, dove i servizi e i principi di gestione di Azure vengono estesi a qualsiasi infrastruttura. In questo articolo viene presentato l’approccio adottato da Azure Arc per gli ambienti ibridi.

La complessità degli ambienti IT è in continua espansione al punto da riscontrare realtà con applicazioni basate su diverse tecnologie, attive su infrastrutture eterogenee e magari che adottano soluzioni in differenti cloud pubblici. L’esigenza molto sentita dai clienti è di poter adottare una soluzione che in modo centralizzato consenta di inventariare, organizzare e applicare delle policy di controllo sulle proprie risorse IT ovunque si trovino.

Il principio che sta alla base di Azure Arc è quello di estendere le pratiche di gestione e di governance di Azure anche ad ambienti differenti e di adottare soluzioni tipicamente cloud, come tecniche DevOps (infrastructure as code), anche per gli ambienti on-premises.

Figura 1 – Panoramica di Azure Arc

Per ottenere questo risultato Microsoft ha deciso di estensione il modello Azure Resource Manager per poter supportare anche ambienti ibridi, facilitando in questo modo l’implementazione delle funzionalità di security presenti in Azure su tutti i componenti dell’infrastruttura.

Figura 2 – Azure Management per tutte le risorse

Azure Arc consiste in un insieme di differenti tecnologie e di componenti che permette di:

  • Gestire le applicazioni in ambienti Kubernetes: viene fornita la possibilità di effettuare il deploy e la configurazione delle applicazioni Kubernetes in modo omogeneo su tutti gli ambienti, adottando le moderne tecniche DevOps.
  • Consentire l’esecuzione degli Azure data services su qualsiasi infrastruttura: il tutto si basa sull’adozione di Kubernetes e permette di rispettare più facilmente i criteri di compliance, di migliorare la sicurezza dei dati e di avere una notevole flessibilità in fase di deploy. Al momento i servizi contemplati sono Azure SQL Database e Azure Database for PostgreSQL.
  • Organizzare, gestire e governare tutti i sistemi server: Azure Arc estende infatti le possibilità offerte in ambito governance e management da Azure anche alle macchine fisiche e ai sistemi virtuali presenti in ambienti differenti. Tale soluzione è chiamata nello specifico Azure Arc for servers.

Figura 3 – Tecnologie di Azure Arc

Azure Arc prevede l’utilizzo di Resource Provider specifici per Azure Resource Manager ed è necessaria l’installazione degli agenti di Azure Arc.

Accedendo al portale si può notare come Azure Arc for Servers sia già attualmente disponibile in preview pubblica, mentre è necessario effettuare una registrazione per gestire in preview gli ambienti Kubernetes e i data services.

Figura 4 – Azure Arc nel portale Azure

Grazie all’adozione di Azure Arc che introduce una visione complessiva, è possibile raggiungere, per le proprie architetture ibride, i seguenti obiettivi, difficilmente perseguibili diversamente:

  • Standardizzazione delle operazioni
  • Organizzazione delle risorse
  • Sicurezza
  • Controllo dei costi
  • Business Continuity
  • Rispetto delle normative e della compliance aziendale

Figura 5 – Cloud-native governance con Azure Arc

Conclusioni

Azure Arc è stato recentemente annunciato e nonostante si trovi ancora in una fase embrionale, ritengo che possa evolvere notevolmente al punto da rivoluzionare la gestione e lo sviluppo degli ambienti ibridi. Per mantenersi aggiornati su come si svilupperà questa soluzione è possibile registrarsi a questa pagina.

Please follow and like us:

Come controllare l’esecuzione delle applicazioni tramite Azure Security Center

Azure Security Center mette a disposizione diversi meccanismi per prevenire le minacce di sicurezza e per ridurre le superfici di attacco del proprio ambiente. Uno di questi meccanismi è l’Adaptive Application Controls, una soluzione in grado di controllare quali applicazioni vengono eseguite sui sistemi. Azure Security Center utilizza il motore di machine learning per analizzare le applicazioni in esecuzione sulle macchine virtuali e sfrutta l’intelligenza artificiale per mettere a disposizione una lista di applicazioni consentite. In questo articolo vengono riportati i benefici che si possono ottenere adottando questa soluzione e come effettuare la configurazione.

Adottando questa soluzione, disponibile utilizzando il tier Standard di Azure Security Center, è possibile effettuare le seguenti operazioni:

  • Essere avvisati a fronte di tentativi di esecuzione di applicazioni malevole, che potenzialmente potrebbero non essere individuate da soluzioni antimalware. Per i sistemi Windows presenti su Azure è possibile anche applicare dei blocchi di esecuzione.
  • Rispettare la compliance aziendale, permettendo l’esecuzione solo di software regolarmente licenziato.
  • Evitare l’utilizzo di software non voluto oppure obsoleto all’interno della propria infrastruttura.
  • Controllare l’accesso ai dati sensibili che avviene utilizzando specifiche applicazioni.

Figura 1 – Azure Security Center Free vs Standard tier

Adaptive application controls può essere utilizzato sui sistemi indipendentemente dalla loro location geografica. Al momento per i sistemi non dislocati in Azure e per le VMs Linux, è supportata solamente la modalità di audit.

Questa funzionalità può essere attivata direttamente dal portale Azure accedendo al Security Center.

Figura 2 – Adaptive application controls nella sezione “Advanced cloud defense” di Security Center

Security Center utilizza un algoritmo proprietario per la creazione automatica di gruppi di macchine con caratteristiche simili, per facilitare l’applicazione delle policy di Application Control.

Dall’interfaccia di gestione i gruppi sono divisi in tre tipologie:

  • Configured: lista i gruppi contenenti VMs dove è configurata questa funzionalità.
  • Recommended: sono presenti i gruppi di sistemi dove è raccomandata l’abilitazione del controllo applicativo. Security Center utilizza meccanismi di machine learning per identificare le VMs sulle quali vengono eseguiti regolarmente sempre gli stessi applicativi, e pertanto risultano delle buone candidate per abilitare il controllo applicativo.
  • Unconfigured: elenco dei gruppi che contengono le VMs per le quali non sono presenti raccomandazioni specifiche riguardanti il controllo applicativo. Per esempio, VMs che eseguono sistematicamente applicative differenti.

Figura 3 – Tipologie di gruppi

Cliccando sui gruppi di macchine virtuali sarà possibile gestire le Application control rules, che permetteranno di creare delle regole in grado di valutare l’esecuzione delle applicazioni.

Figura 4 – Configurazione delle Application control rules

Per ogni singola regola si selezionano le macchine sulle quali applicarla e le applicazioni che si intende consentire. Per ogni applicazione vengono riportate le informazioni di dettaglio, in particolare, nella colonna “Expoitable” viene indicato se si tratta di una applicazione che può potenzialmente essere utilizzata in modo malevolo per bypassare la lista delle applicazioni consentite. Per questa tipologia di applicazioni è opportuno prestare molta attenzione prima di consentirle.

Questa configurazione, per i sistemi Windows, comporta la creazione di specifiche regole di Applocker, tramite le quali viene governata l’esecuzione delle applicazioni.

Di default, Security Center abilita il controllo applicativo in modalità Audit, limitandosi a controllare l’attività nelle macchine virtuali protette senza applicare nessun blocco sull’esecuzione delle applicazioni. Per ogni singolo gruppo, dopo aver verificato che la configurazione effettuata non comporta malfunzionamenti sui workload presenti sui sistemi, è possibile portare il controllo applicativo in modalità Enforce, purché siano macchine virtuali Windows in ambiente Azure, per bloccare l’esecuzione delle applicazioni non espressamente consentite. Sempre dalla stessa interfaccia è possibile cambiare il nome del gruppo dei sistemi.

Figura 5 – Cambio del nome e della modalità di protezione

Al termine di questa configurazione saranno riportate, nel pannello principale di Security Center, le notifiche riguardanti potenziali violazioni nell’esecuzione delle applicazioni rispetto a quanto consentito.

Figura 6 – Notifiche di violazione dell’esecuzione delle applicazioni in Securiy Center

Figura 7 – Lista completa delle violazioni riscontrate

Figura 8 – Esempio di segnalazione

Conclusioni

La funzionalità di Adaptive application controls consente con pochi passaggi di abilitare in modo rapido un controllo approfondito sulle applicazioni che vengono eseguite sui propri sistemi. La configurazione risulta semplice e intuitiva, soprattutto grazie alla funzionalità che permette di raggruppare i sistemi che hanno caratteristiche simili per quanto riguarda l’esecuzione degli applicativi. Si tratta pertanto di un importante meccanismo che consente di prevenire potenziali minacce di sicurezza e di ridurre al minimo le superfici di attacco del proprio ambiente. Sommato alle ulteriori funzionalità, Adaptive application controls contribuisce a rendere Security Center una soluzione completa per la protezione dei propri workload.

Please follow and like us:

Azure Data Share: il servizio per condividere in modo sicuro i dati

Microsoft ha recentemente annunciato la disponibilità del nuovo servizio gestito Azure Data Share, appositamente ideato per la condivisione di dati tra differenti organizzazioni. Azure Data Share consente di condividere e combinare i dati in modo semplice, al fine di garantire una collaborazione aziendale efficace tra differenti realtà, nel rispetto della sicurezza e della governance. In questo articolo vengono approfonditi i principi di funzionamento e viene riportata la procedura da seguire per la relativa configurazione.

Ad oggi le soluzioni più comunemente utilizzate per lo scambio e la condivisione dei dati aziendali si basano su File Transfer Protocol (FTP) oppure su Web API custom, le quali oltre a richiedere di dover gestire un’infrastruttura specifica, non sono in grado di aderire agli standard aziendali in termini di sicurezza e governance. Inoltre, queste soluzioni non risultano idonee per lo scambio di grossi volumi di dati. Azure Data Share è invece un servizio totalmente gestito nato con l’obiettivo di semplificare, rendere sicuro e controllato il processo di condivisione dei dati tra realtà aziendali differenti. Non è richiesta la configurazione di nessuna infrastruttura specifica e il servizio può scalare rapidamente per far fronte ad esigenze di condivisione di grandi quantitativi di dati. Anche l’aspetto sicurezza è fondamentale per un servizio di questo tipo ed Azure Data Share sfrutta le principali misure di sicurezza intrinseche in Azure per la protezione dei dati.

Attivazione del servizio

L’attivazione del servizio Azure Data Share deve essere fatta in primis da chi deve condividere i dati, secondo la seguente modalità.

Figura 1 – Avvio del processo di creazione

Figura 2 – Parametri richiesti dal processo di creazione

Il deployment è molto rapido e dopo aver attivato il servizio è possibile iniziare il processo di condivisione dei dati.

Utilizzo della soluzione

Azure Data Share ha un’interfaccia intuitiva, può essere utilizzato direttamente dal portale Azure, e con pochi semplici passaggi è possibile scegliere quali dati condividere e con chi condividerli.

Figura 3 – Avvio del processo di condivisione

Figura 4 – Definizione nome e dettagli della share

Risulta possibile governare l’uso dei dati associando specifici termini di utilizzo ad ogni condivisione che viene creata. Per consentire la ricezione dei dati, i destinatari dovranno accettare le condizioni di utilizzo specificate.

Figura 5 – Aggiunta Dataset e selezione della tipologia

Per la condivisione dei dati ad oggi è possibile utilizzare come Dataset Azure Blob Storage ed Azure Data Lake Storage, ma a breve saranno introdotti anche nuovi data source di Azure.

Figura 6 – Selezione del container che contiene i dati da condividere

Figura 7 – Aggiunta dell’indirizzo mail della persona con cui condividere i file

Il servizio prevede anche la possibilità di schedulare la condivisione di nuovi contenuti o delle modifiche apportate, mantenendo sempre il controllo completo di qualsiasi condivisione.

Figura 8 – Schedulazione degli snapshots

Figura 9 – Review e creazione della share

Il destinatario riceverà al termine del processo di creazione della condivisione una notifica tramite mail.

Figura 10 – Invito ricevuto tramite mail dalla persona alla quale si vuole inviare dati

Figura 11 – Invito di Data Share dal portale Azure

Colui che riceve i dati condivisi dovrà disporre di un servizio Azure Data Share per poter consultare i dati condivisi.

Figura 12 – Accettazione invito di Data Share

In seguito all’accettazione dell’invito è necessario specificare il target, nel caso specifico lo storage account, sul quale far confluire i dati ricevuti. Tali contenuti si può scegliere se mantenerli sincronizzati secondo lo scheduling specificato dal mittente.

Figura 13 – Configurazione dello storage account target

Figura 14 – Dettaglio di una condivisione ricevuta

Nelle condivisioni ricevute viene inoltre fornita la possibilità di forzare manualmente il trigger di una snapshot (completa oppure incrementale).

Conclusioni

In un mondo in cui la quantità, la tipologia e la varietà dei dati è in costante crescita, è necessario disporre di servizi che consentano alle organizzazioni di collaborare tra di loro condividendo dati di qualsiasi tipologia e dimensione. Grazie al servizio Azure Data Share è possibile condividere dati, tra realtà aziendali differenti, in modo semplice, sicuro e rispettando le politiche di governance. L’aggiunta di nuovi Dataset per la condivisione dei dati, prevista nel breve periodo, renderà questo servizio ancora più completo ed efficace.

Please follow and like us:

Azure Governance: introduzione ad Azure Resource Graph

L’Azure Governance è possibile grazie ad una serie di servizi appositamente progettati per consentire una gestione ed un costante controllo delle varie risorse Azure su vasta scala. Tra questi servizi troviamo Resource Graph, un potente strumento che da command-line consente rapidamente di ottenere dettagli riguardanti i differenti artifacts di Azure. Utilizzando Resource Graph è possibile recuperare informazioni che in precedenza richiedevano necessariamente la creazione di script complessi ed iterativi. In questo articolo vengono riportate le caratteristiche della soluzione e come è possibile utilizzarla per scoprire i dettagli delle risorse Azure su larga scala.

Caratteristiche del servizio

In presenza di ambienti Azure complessi che vedono la presenza di molte subscription, mantenere una visibilità complessiva di tutte le risorse Azure può risultare complesso senza l’adozione di strumenti appositamente sviluppati. Queste le esigenze che tipicamente si devono affrontare:

  • Possibilità di visualizzare le risorse Azure e le rispettive proprietà in modo trasversale tra differenti subscription.
  • Poter eseguire in modo efficiente delle query sulle risorse impostando dei filtri, dei raggruppamenti e imponendo un preciso ordinamento sulle rispettive proprietà.
  • Esplorare iterativamente le differenti risorse.
  • Valutare l’impatto dato dall’applicazione di policy su un numero elevato di risorse cloud.

Il servizio Azure Resource Graph consente, grazie all’utilizzo di un linguaggio efficiente e performante di effettuare le seguenti azioni:

  • Eseguire query sulle risorse applicando filtri, raggruppamenti e ordinamenti complessi.
  • Esplorare iterativamente le risorse in base ai requisiti di governance.
  • Valutare l’impatto dato dall’applicazione delle policy in un vasto ambiente cloud.
  • Dettagliare le modifiche che vengono apportate alle proprietà delle risorse Azure. Recentemente è stata infatti introdotta la possibilità di visualizzare gli ultimi 14 giorni di cronologia relativa alle modifiche apportate alle risorse, per individuare quali proprietà sono state modificate e quando. Questa funzionalità risulta particolarmente utile in fase di troubleshooting, per individuare eventuali eventi di modifica in una specifica fascia oraria. Inoltre, risulta funzionale per comprendere le proprietà che sono state modificate quando una risorsa ha cambiato lo stato di compliance, in modo da valutare l’adozione di Azure Policy per gestire opportunamente tali proprietà. Per maggiori informazioni a riguardo è possibile consultare la documentazione ufficiale Microsoft.

Tutte queste azioni garantiscono aspetti importanti per poter governare al meglio il proprio ambiente Azure.

Quando una risorsa di Azure viene aggiornata, Resource Graph viene notificato da Resource Manager della relativa modifica ed aggiorna di conseguenza il suo database. Resource Graph esegue inoltre regolarmente una scansione completa delle risorse per garantire che i suoi dati siano aggiornati nel caso di mancate notifiche oppure di aggiornamenti che avvengono al di fuori di Resource Manager.

Come utilizzare Resource Graph

Le query di Azure Resource Graph sono basate sul linguaggio Kusto, utilizzato anche da Azure Data Explorer, Application Insights ed Azure Log Analytics. Per maggiori dettagli sull’utilizzo del linguaggio di query di Azure Resource Graph è possibile consultare la documentazione ufficiale Microsoft, che riporta come è strutturato e quali sono gli operatori e le funzionalità supportate.

Resource Graph supporta l’Azure CLIAzure PowerShell e Azure SDK per .NET. L’esecuzione di query Resource Graph richiede nell’Azure CLI environment l’aggiunta della relativa extension, mentre in Azure PowerShell è necessaria l’installazione del modulo Resource Graph. Le query sono comunque sempre strutturate in modo identico, indipendentemente da dove vengono eseguite.

L’utilizzo di Resource Graph richiede che l’utente con il quale vengono eseguite le query disponga di permessi almeno in lettura, tramite Role-based access control (RBAC), sulle risorse che si intende interrogare. Nel caso non siano presenti almeno i permessi di lettura su determinate risorse, le interrogazioni non restituiranno i risultati relativi ad esse.

Il servizio Azure Resource Graph viene utilizzato anche quando si effettuano delle ricerche nella search bar del portale Azure, nel nuovo elenco delle risorse (‘All resources’) e nella change history delle Azure Policy.

Figura 1 – Experience di ‘All resources’ che utilizza Azure Resource Graph

Query di esempio

Si riportano alcuni esempi di query Resource Graph ed il relativo risultato.

Figura 2 – Query per contare le risorse per tipologia (Resource Type)

Figura 3 – Query per contare le risorse in base alla location geografica

Le query Azure Resource Graph hanno il grosso vantaggio che oltre a poter ottenere il risultato desiderato in modo semplice, sono anche molto performanti:

Figura 4 – Tempo di esecuzione della query per contare le risorse in base alla location

Se si volesse ottenere questo risultato utilizzando il classico metodo PowerShell in ambienti Azure complessi, bisognerebbe collegarsi alla singola subscription Azure, ricercare le informazioni necessarie e passare alla subscription successiva. Questo approccio era l’unico possibile fino all’arrivo di Resource Graph, ma risultava essere più laborioso e molto meno performante.

Figura 5 – Elenco delle VMs con l’OS disk non Managed

Conclusioni

Azure Resource Graph permette di esplorare e analizzare in modo rapido ed efficace le risorse Azure, consentendo di mantenere una visibilità totale anche sugli ambienti Azure particolarmente complessi, costituiti da diverse subscription, ciascuna delle quali con un numero elevato di elementi. Particolarmente utile la funzionalità che consente di consultare la cronologia delle modifiche apportate alle risorse Azure. Azure Resource Graph è uno strumento che consente di apportare un contributo significativo per la governance del proprio ambiente Azure.

Please follow and like us:

Azure Governance: come organizzare le risorse utilizzando gli Azure Management Groups

In presenza di ambienti con un numero elevato di subscription Azure è necessario avere un livello di astrazione differente per poter gestire in modo efficace gli accessi, le policy e la compliance. A questo scopo sono stati introdotti gli Azure Management Groups, che consentono di organizzare differenti subscriptions in contenitori logici, sui quali definire, porre in essere e verificare le politiche di governo necessarie. In questo articolo vengono esaminati nel dettaglio i relativi concetti e vengono riportate delle indicazioni per organizzare al meglio le risorse Azure al fine di facilitare il processo di governance.

Per organizzare in modo efficace le risorse Azure è fondamentale definire una gerarchia di management groups e di subscriptions sulla quale è possibile applicare le Azure Policy, il servizio che consente di creare, assegnare e gestire dei criteri di controllo. L’utilizzo dei Management Group è inoltre utile per gestire in modo efficace l’assegnazione dei permessi tramite role-based access control (RBAC), a fini di delega amministrativa.

Figura 1 – Esempio di gerarchia di Management Groups

Ogni risorsa Azure è contenuta all’interno di una specifica Azure Subscription, la quale è associata ad un solo tenant Azure Active Directory, ed eredita i permessi impostati a tale livello.

Al momento, un vincolo da tenere in considerazione, è che un Management Group può contenere più subscriptions purché le stesse facciano parte dello stesso tenant Azure Active Directory.  Detto in altri termini, i Management Groups risiedono all’interno di un tenant e non possono contenere subscriptions di tenant diversi. I security principal utilizzabili sui management group possono provenire solo dal tenant di riferimento per il management group.

Figura 2 –  Relazione tra Azure AD e la struttura organizzativa

Le risorse Azure appartenenti a una subscription sono contenute a loro volta in Resource Groups. I resource groups sono contenitori di risorse che, a fini amministrativi, consentono di ottenere i seguenti vantaggi:

  • Facilitano la delega amministrativa in quanto le risorse contenute ereditano i permessi a livello di resource group.
  • Sui resorce group si possono assegnare dei tag, anche se questi non vengono in automatico ereditati dalle risorse, ma è opportuno prevedere dei meccanismi specifici se lo si ritiene necessario.

Figura 3 – Relazione tra i livelli della struttura organizzativa

Le Azure Policy possono essere assegnate a livello di Subscription oppure di Management Group e possono essere definite eccezioni per Resource Group. A questo proposito si consiglia quando possibile, di organizzare le policy in “initiative” e assegnarle a livello di Management Group.

Il Management Group root è al livello top e contiene tutti Management Groups configurati e le varie subscriptions Azure. Il root Management Group non può essere rimosso o spostato. La struttura può essere creata con al massimo sei livelli di profondità, senza considerare il Root level e il livello della subscription. Ogni Management Group può avere più figli, ma è supportato un solo parent per ogni Management Group e per ogni subscription.

In assenza di specifici requisiti, Microsoft consiglia di dividere gli ambienti di produzione da quelli di “DevTest”, creando due livelli di management groups. Al management group root di default saranno associate le policy fondamentali, come ad esempio quelle relative alla security. Sui restanti Management Groups saranno invece associate policy specifiche. La gerarchia dei Management Groups permette di avere un modello per il quale le policy che vengono definite a livelli più alti della gerarchia non possono essere sovrascritte dai livelli inferiori.

Figura 4 – Management Group & Subscription Modeling Strategy

Questo approccio consente di gestire ambienti Azure complessi, che vedono la presenza di più subscription. in modo più semplice e flessibile, per le seguenti ragioni:

  • Il concetto di ereditarietà consente con un’unica associazione di applicare i controlli voluti e l’assegnazione dei ruoli su differenti subscriptions.
  • Si ha una gestione centralizzata.
  • Si possono includere ulteriori subscription nella gerarchia, con la consapevolezza che dovranno aderire alle politiche stabilite e che avranno l’assegnazione dei ruoli desiderata.

Conclusioni

I processi di goverance attraverso i quali è possibile garantire a un’organizzazione un utilizzo efficace ed efficiente delle risorse IT, al fine di poter raggiungere i propri obiettivi, non possono esimersi dall’adozione di un modello che consenta di organizzare in modo efficace le risorse Azure. L’utilizzo dei Management Groups, in ambienti con un numero considerevole di subscriptions, diventa quindi fondamentale per far fronte all’esigenza comune di standardizzare, e in alcuni casi imporre, come vengono configurate le differenti risorse nel cloud.

Please follow and like us:

Come individuare e ottimizzare i costi del cloud con Azure Cost Management

Una delle principali caratteristiche del cloud è la possibilità di creare nuove risorse con estrema facilità e rapidità. Allo stesso tempo una sfida importante e fondamentale è riuscire a mantenere sempre sotto controllo le spese da sostenere per le risorse create in ambiente cloud. Lo strumento Azure Cost Management consente di individuare facilmente da quali servizi vengono generati i costi, prevenire spese non necessarie e ottimizzare i costi delle risorse. In questo articolo vengono riportate le caratteristiche della soluzione e vengono fornite le indicazioni per poterla utilizzare al meglio al fine di massimizzare e ottimizzare gli investimenti nelle risorse cloud.

Caratteristiche della soluzione

Azure Cost Management è attivo di default e accessibile dal portale Azure per tutte le subscription Microsoft Enterprise Agreement e Pay-As-You-Go. La disponibilità della soluzione per le subscription CSP (Cloud Solution Providers) è prevista per la seconda metà dell’anno. Azure Cost Management contempla i servizi Azure, comprese le reservations, e i costi dati dall’utilizzo di soluzioni di terze parti provenienti dal Marketplace Azure. Tutti i costi riportati sono basati sui prezzi negoziati e i dati vengono aggiornati con una frequenza di quattro ore.

Azure Cost Management consente di effettuare le seguenti operazioni riguardanti le spese delle risorse cloud.

Monitor delle spese del cloud

Grazie a questa soluzione è possibile fornire, ai vari dipartimenti aziendali coinvolti nell’utilizzo delle risorse cloud, visibilità dei costi delle risorse per le quali sono responsabili. Inoltre, si ha la possibilità di entrare nel dettaglio e visualizzare i trend delle spese con una experience interattiva e molto intuitiva. Dalla sezione Cost analysis è possibile visualizzare i costi, con la possibilità di mettere dei filtri sul periodo temporale ed eventualmente raggrupparli secondo differenti parametri.

Figura 1 – Cost analysis – costi accumulati nell’ultimo mese

Impostando per il periodo selezionato la granularità giornaliera è possibile avere un grafico che riporta con precisione i costi sostenuti giorno per giorno.

Figura 2 – Cost analysis – costi sostenuti giornalmente

Azure Cost Management offre anche la possibilità di esportare i dati in formato Excel oppure in CSV, dopo aver impostato la vista necessaria nella sezione Cost analysis.

Figura 3 – Export dei dati della vista creata in Cost analysis

Il file scaricato riporta i dettagli relativi al contesto utilizzato per la generazione del file:

Figura 4 – Summary del foglio Excel generato

Questa funzionalità può essere utile per effettuare analisi di dettaglio che richiedono un consolidamento di queste informazioni con altri dati.

Nel caso ci sia la necessità di maggiori funzionalità in termini di integrazione e personalizzazione è possibile utilizzare Power BI connectors per la creazione di dashboard specifiche e le APIs di Azure Cost Management per elaborare le informazioni con altre soluzioni.

Assegnazione di responsabilità verso i vari team di progetto

Per sensibilizzare i vari team di progetto ad un adeguato utilizzo delle risorse in termini di spesa, si possono definire dei budget. In questo modo si può ottenere una sensibile ottimizzazione dei costi, senza impattare in termini di agilità nella creazione delle risorse .

Figura 5 – Creazione di un budget

In fase di creazione di un budget si definisce la spesa per un determinato periodo temporale e si possono definire degli alert per avvisare i diretti responsabili quando viene raggiunta una determinata percentuale della soglia prestabilita.

Ottimizzazione delle spese

Nonostante si possa optare per far gestire ai vari team i costi delle risorse Azure assegnando loro un budget, non sempre può essere scontato sapere come ottimizzare l’efficienza delle risorse e ridurre i costi. Azure Cost Management è in grado di fornire delle raccomandazioni specifiche per ottenere dei risparmi.

Figura 6 – Advisor recommendations

Nel caso specifico, per ottimizzare i costi delle risorse Azure, viene consigliato l’acquisto di Virtual Machine Reserved Instances (VM RIs), stimando l’effettivo risparmio annuale che si potrebbe ottenere adottando VM RIs.

Azure Cost Management presto sarà arricchito con una nuova funzionalità (attualmente in public preview) che prevede la gestione delle spese sostenute in AWS, con le stesse caratteristiche mostrate per Azure. Questa integrazione consente di semplificare la gestione dei costi in scenari multi-cloud.

Costo della soluzione

Azure Cost Management è possibile utilizzarlo gratuitamente, in tutte le sue funzionalità, per l’ambiente Azure. Per quanto riguarda la gestione dei costi di AWS è previsto, al rilascio definitivo, un addebito pari all’1% della spesa totale gestita per AWS. Per maggiori dettagli in merito al costo della soluzione è possibile consultare la pagina del pricing di Cost Management.

Conclusioni

Azure Cost Management è un ottimo strumento che consente di mantenere una visibilità totale dei costi e pilotare al meglio le spese delle risorse presenti nel cloud. Grazie alla flessibilità di questo strumento, in costante evoluzione, è possibile ottenere il massimo dai propri investimenti nel cloud in modo semplice e intuitivo.

Please follow and like us: