Microsoft Azure è una piattaforma cloud che comprende oltre 200 prodotti e servizi che permettono implementazione di nuove soluzioni. Ma com’è possibile orientarsi in questo oceano senza una guida? Vediamo i servizi necessari per trovare la rotta verso l’obiettivo.
Azure è la piattaforma cloud pubblica di Microsoft che offre numerosi servizi di cloud computing. Tramite Azure vengono erogati servizi appartenenti a diverse tipologie, quali risorse di elaborazione, archiviazione, memorizzazione, trasmissione dati e interconnessione di reti, analisi, intelligence/apprendimento automatico, sicurezza e gestione delle identità, monitoraggio e gestione, nonché servizi per lo sviluppo di applicazioni.
I servizi messi a disposizione da Microsoft Azure possono essere classificati in tre aree, a seconda della modalità di erogazione adottata: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) e infine Software as a Service (SaaS).
Sebbene sia possibile iniziare gratuitamente ed avere per 12 mesi molti servizi senza alcun costo, ciascun servizio prevede un pagamento in base al consumo e le modalità con cui ne viene determinato il costo sono specifiche per il servizio stesso; tuttavia sono presenti una sessantina di servizi sempre gratuiti.
Riuscire a capire quali di questi servizi siano utili al fine di creare una nuova architettura non è sempre semplice ed intuitivo. Per rendere chiara la comprensione dell’utilità dei servizi presentati, questi verranno contestualizzati in casi d’uso utili all’implementazione di una nuova architettura di Business Intelligence.
Quali servizi Azure sono necessari per l’implementazione di una nuova architettura BI?
Azure Data Factory
Azure Data Factory è un servizio cloud gestito per gestire operazioni di Extract-Transform-Load (ETL) / Extract-Load-Transform (ELT) dei dati; il servizio è di tipo serverless scale-out e offre un’interfaccia visuale utente code-less che risulta intuitiva e di facile apprendimento, inoltre è dotato di una console unificata per il monitoraggio e la gestione delle connessioni.
Azure SQL DB
Azure SQL DB è un servizio Paas di database relazionale creato per il cloud, sempre aggiornato all’ultima versione e completamente gestito.
Sono disponibili sia Azure SQL DB Single Instance che Azure SQL DB Managed Instance. Con un Azure SQL DB Single Instance, il database è isolato dagli altri ed è caratterizzato da una propria quantità garantita e dedicata di risorse di calcolo quale memoria/archiviazione. Azure SQL DB Managed Instance può, invece, ospitare una collezione di database non isolati rendendo possibile l’utilizzo contemporaneo di informazioni provenienti da diversi database e assicura la disponibilità del dato aggiornato grazie a repliche su altre region. Entrambe le possibilità permettono di scalare dinamicamente le risorse a “tier” più/meno performanti in base alle esigenze dei carichi di lavoro e offrono diverse soluzioni di configurazioni/pricing (es. basate su DTU/vCore/Elastic pool/Serverless per la Single Instance e CPU/vCore/Memory per la Managed Instance).
Azure Automation
Azure Automation offre un servizio per l’automazione e la gestione degli asset per tutte le aree e sottoscrizioni di uno specifico tenant.
Azure Analysis Services
Azure Analysis Services è una piattaforma distribuita come servizio PaaS completamente gestita che fornisce la creazioni di modelli di dati di livello aziendale nel cloud. È possibile usare le funzionalità avanzate di mashup e modellazione per combinare dati da più origini, definire metriche e proteggere i dati in un singolo modello semantico tabulare. Il modello di dati consente agli utenti di eseguire in modo più semplice e rapido analisi di dati ad hoc usando strumenti di analisi quali Power BI ed Excel.
Come gestire le sorgenti dati?
La gestione delle sorgenti dati, nell’implementazione di una nuova architettura, è uno dei primi ostacoli da affrontare. Andiamo a presentare due possibili soluzioni ma sono possibili anche soluzioni ibride. In seguito andremo ad utilizzare esclusivamente Azure SQL DB Single Instance ma tutte le logiche possono essere replicate con una Managed Instance.
Se volessimo creare un’architettura che mantenga attiva un database On-promise esistente, sarebbe necessario andare a predisporre un’istanza di Azure Data Factory per il caricamento dei dati, utilizzando delle pipeline opportune e una di Azure SQL DB (poco performante) per ospitare le tabelle di configurazione.
È possibile però che si decida di voler migrare i dati in cloud e dismettere i propri server fisici; in questo caso sarà necessario andare a creare un’istanza di Azure Data Factory, come in precedenza, collegato con due Azure SQL DB: un database assumerà il ruolo di DWH aziendale mentre l’altro servirà ancora per le tabelle di configurazione e per ospitare tutti i possibili log dei caricamenti (come definito nel primo scenario). Non è necessario adibire due Azure SQL DB distinti per tabelle di configurazione e DWH ma si potrebbe utilizzare anche un solo Azure SQL DB per entrambe le finalità.
Predisposizione della presenza di Azure Analysis Services?
Un altro possibile scenario che si potrebbe affrontare sarebbe quello di valutare se includere o meno nell’architettura il servizio di Azure Analysis Services. Il vantaggio di tale servizio è quello di costruire dei modelli semantici che permettono un aggiornamento indipendente dalle fonti dati e dai dataset di Power BI che alimentano: la costruzione di modelli tabulari aiuta la self-analysis e permette un’ottimizzazione delle prestazioni e della fruibilità del dato.
Se infatti si prevede l’introduzione di Azure Analysis Services, oltre al flusso per la gestione delle sorgenti dati vista in precedenza, sarà necessario andare ad impostare la presenza di un Azure Automation per l’automazione dell’esecuzione delle API verso Azure Analysis Services e/o Power BI. Azure Analysis Services, con il supporto del tool di sviluppo quale Visual Studio, consente la creazione di modelli semantici che permettono la disponibilità del dato per le attività di reportistica su Power BI.
Logic App: servizio gratuito per un’architettura migliore.
Tra i numerosi servizi offerti da Azure, Azure Logic App è un servizio gratuito (disponibile se si possiede una sottoscrizione valida) che permette, ad esempio, di realizzare un sistema di notifica automatica delle attività svolte. Ciò consente di arricchire la propria architettura con un’evoluzione che permetta una gestione tempestiva delle situazioni di crisi come il mancato aggiornamento del dato.
Logic App è una piattaforma cloud che consente di creare ed eseguire flussi di lavoro automatizzati senza l’uso di codice (code-less). Utilizzando il visual designer e scegliendo tra le operazioni precostituite, è possibile creare rapidamente un flusso di lavoro che integra e gestisce app, dati, servizi e sistemi.
Se si volesse introdurre la funzionalità di notifica sarebbe necessario impostare un flusso da Azure Data Factory, Azure Automation e il servizio Azure di Logic App. Attraverso un account mail di servizio (ad esempio Office 365) è pertanto possibile automatizzare l’invio di mail per molteplici casistiche, piuttosto che la realizzazione di piccoli flussi ad hoc per l’arricchimento di report e/o tabelle dei modelli semantici.
Realizziamo soluzioni di Business Intelligence & Advanced Analytics per trasformare semplici dati in informazioni di grande valore strategico.