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.