In deel l van dit artikel legde ik al uit hoe je een logisch datawarehouse kunt implementeren in de cloud op het Microsoft Azure platform. Microsoft Azure biedt een groot aantal services voor de realisatie van data en analytics oplossingen in de cloud. In deel ll beschreef ik vervolgens uitgebreid wat de belangrijkste services van Azure voor de implementatie van de Connect- en Combine-laag zijn op dit moment, geprojecteerd op de referentiearchitectuur van het logisch data warehouse.

In dit laatste deel ga ik in detail in op de Publish-laag van de LDW-architectuur. Ik leg uit hoe je met Microsoft Azure informatie beschikbaar stelt aan afnemers zoals interne en externe gebruikers, applicaties en API’s. Ook sta ik stil bij de mogelijkheden van de Service-laag.

Publish

In de publish-laag wordt data vanuit de integrate-laag in de juiste vorm en met de juiste inhoud klaargezet voor gebruikers, applicaties en services. Dit gebeurt in (logische) data marts, waarin data kan worden geaggregeerd en business rules die specifiek gelden voor de informatievraag worden toegepast. Voor verschillende informatievragen of services kun je aparte data marts definiëren.

Afhankelijk van jouw situatie kan het nodig of zelfs wenselijk zijn een ‘kubus’ (ook wel analysis model genoemd) op te bouwen. Hierin wordt data geprepareerd voor analysetools. Een kubus bevat in principe gedupliceerde data en wordt op vaste momenten ververst. Data is dus niet altijd up-to-date, maar een kubus biedt wel optimale performance. Microsoft Azure ondersteunt wel de mogelijkheid om een live-verbinding met de onderliggende data te realiseren.

Het voordeel van de cloud is dat je per situatie de beste oplossing kan kiezen. Zo kan je data plaatsen in een SQL-database als gebruikers analyses willen uitvoeren aan de hand van query’s. Of je laadt de data direct in een PowerBI-dashboard voor gebruikers die alleen geïnteresseerd zijn in KPI-waardes. Microsoft Azure maakt het eenvoudig om snel in te spelen op de behoeftes van je gebruikers, zonder gebonden te zijn aan één oplossing.

Uitgifte van data

Met Azure heb je diverse mogelijkheden voor de ‘uitgifte’ van data, door data vanuit de integrate-laag te publiceren naar datasets, tabellen of kubussen, afhankelijk van het doel (rapportage, analyse, data science etc.). Dit kan in allerlei bestandsformaten. Laten we ze eens op een rijtje zetten.

PowerBI zorgt ervoor dat je eenvoudig meerdere dashboards ontwikkelt op dezelfde dataset. Je hoeft dus maar één keer relaties te definiëren en data te verversen om meerdere dashboards te voorzien van de juiste informatie. Azure biedt allerlei mogelijkheden om PowerBI datasets te prepareren. PowerBI heeft bovendien uitgebreide mogelijkheden om connecties te maken met data in verschillende componenten van het Azure platform, bijvoorbeeld via Azure Data Lake of direct vanuit een Logic App of de Event Hub.

Azure HDInsight is een cloud service waarmee eenvoudig, snel en rendabel enorme hoeveelheden gegevens verwerkt kunnen worden in populaire open source frameworks als Hadoop, Spark, R en Hive. Met HDInsight kun je krachtige big data oplossingen neerzetten voor data scientists, waarin zij met een voor hen bekende technologie aan de slag kunnen. Door een HDInsight-cluster aan te sluiten op Azure Data Lake ontstaat een zeer krachtige big data omgeving.

Azure Analysis Services biedt je de ideale manier om voorbewerkte data aan te bieden aan PowerBI, maar bijvoorbeeld ook aan Excel. Door data te laden in een tabular model wordt die voorbereid voor Online Analytical Processing (OLAP). Deze service is eenvoudig schaalbaar, aan- en uit te zetten en integreert volledig met Azure Active Directory. Data kun je eenvoudig laden in Analysis Services vanuit allerlei Azure componenten. Bovendien biedt Analysis Services de mogelijkheid voor een live connectie met bijvoorbeeld SQL DWH. Tools als Qlik, Tableau en Cognos zijn eenvoudig te integreren met Analysis Services, zodat je gebruikers kunnen blijven werken met de tools waar ze aan gewend zijn.

Azure Data Lake zorgt ervoor dat je op grote schaal programma’s kunt ontwikkelen voor datatransformatie en -verwerking met U-SQL, R & Python en .NET. Het is de ideale omgeving voor data scienctists, want het Azure Data Lake functioneert als centrale hub van alle ruwe source data. Data scientist kunnen direct aan de slag met brondata dankzij de standaard integratie met de verschillende omgevingen die binnen Azure worden aangeboden zoals Azure Machine Learning Workbench of Azure Databricks.

Services

De services die gebruik maken van het logisch data warehouse zijn vaak divers en uitgebreid. Het Azure platform biedt zelf met PowerBI, Azure Machine Learning Workbench of Azure Databricks uitgebreide mogelijkheden voor rapportage, dashboarding, analyse en data science. De sterke ontkoppeling tussen gegevensbronnen en gegevensgebruik in het logisch data warehouse maakt het echter ook mogelijk om op een beheersbare manier andere tools en technologieën in te zetten zonder dat er chaos ontstaat. Wat je gebruikt hangt vooral af van de kennis en ervaring die je in huis hebt en in welke mate je bestaande toepassingen wil hergebruiken.

Science

Data science speelt een steeds grotere rol binnen organisaties en Microsoft Azure biedt hiervoor verschillende mogelijkheden. Ik zet ze op een rij, oplopend in functionaliteit en complexiteit van boven naar onder:

  • Azure Machine Learning Workbench
  • Azure Databricks
  • Azure HDInsight

De mogelijkheden verschillen sterk per service. Azure Machine Learning Workbench is vooral gericht op het opzetten en trainen van standaardmodellen. Azure Databricks is een nieuwe service binnen Azure en biedt veel mogelijkheden die je met HDInsight ook hebt. Databricks is standaard compleet geïntegreerd met het Azure platform. Met HDInsight heb je de volledige controle over het beheer van je machines en bepaal je zelf wat voor tools je erop installeert. Dat is bij Azure Databricks beperkter. Databricks biedt wel eenvoudigere beheerfuncties voor afdelingen die geen diepe specialisatie hebben in Hadoop-omgevingen.

Aan de slag

In drie artikelen heb ik uitgelegd welke mogelijkheden Microsoft Azure biedt om een logisch data warehouse in de cloud te ontwikkelen. Azure maakt het mogelijk om binnen één platform alle gestructureerde, ongestructureerde en zelfs streaming data om te zetten in waardevolle informatie. Tijd dus om de voordelen op het gebied van kennis(opbouw), kosten en beheer te benutten. Mijn advies is om altijd klein te beginnen en langzaamaan op te schalen als dat nodig wordt. Maar ook af te schalen waar mogelijk. Het is verleidelijk onderdelen van je architectuur op te schalen om meer reken- of opslagcapaciteit tot je beschikking te hebben, maar vergeet niet dat dat een flinke rekening tot gevolg kan hebben. Maak daarom bijvoorbeeld goed gebruik van Runbooks (in Azure Automation Accounts) die je omgeving na werktijd stilleggen en weer aanzetten voor aanvang van de nieuwe werkdag. Zo is je logisch data warehouse klaar voor gebruik als dat nodig is, zonder dat je overbodige kosten maakt. En nu? Aan de slag!

Hoe ga jij een snelle, schaalbare en flexibele data-architectuur in de cloud realiseren?