Seit über 10 Jahren hat sich der “Microsoft BI Stack” als integrierte, stabile und günstige Bussines Intelligence Lösung etabliert und wird in zahllosen Unternehmen eingesetzt.

Nach 15 Jahren fast unveränderter Technologie ist es Zeit an eine Erneuerung zu denken, es wartet die Cloud mit Modernität, Skalierbarkeit und Kosteneinsparung.

Wie bekomme ich mein “MS BI” in die Cloud?

Es liegt auf der Hand, Microsoft BI in die Microsoft Cloud, das sollte ja das einfachste sein.

Wie geht das und was hat das mit einem abhebenden Burger zu tun?

Das wollen wir hier erläutern…

Der Burger

Es ist ein liebevoller Kosename für das Gebilde aus allen integrierten Services die für die MS BI-Gesamtlösung eingesetzt werden können.

MS BI Stack

Die wesentlichen Bestandteile die meist eingesetzt werden:

  • MS SQL Server (MSSQL): Der Datenbankserver
  • Integration Services (SSIS): Das ETL-Tool zur Beladung und Transformation
  • Analysis Services (SSAS): Der Analyse-Cube als Basis des Reportings

Zuätzlich als Reportingwerkzeug

  • Reporting Services (SSRS)
    oder
  • Excel

Manchmal auch

  • Master Data Services (MDS): Für Datenqualität und Stammdatenwartung

Und all diese Komponenten sind integraler Bestandteil des MS SQL Servers, also automatisch zur Verfügung und auch mit den Lizenzen nutzbar.

Die Tools

Auch nicht unerblich die Entwicklungstools, ebenfalls Microsoft:

  • Visual Studio (VS)
  • SQL Management Studio (SSMS)
  • Die Sprachen T-SQL und MDX

Es sind nicht nur alle Komponenten integriert, auch die Entwicklung war graphisch und mit sehr wenig Code damals schon fortschrittlich und sehr flexibel.

Die ETL Prozesse mit vielen Möglichkeiten

Der Analye Cube mit Datenmodell, Dimensionsmapping und Measures.

Also alles in allem eine runde und innovative Gesamtlösung, mit der man mit wenig Programmierung effizient, sehr günstig und recht rasch auch komplexe Projekte umsetzen kann.
Es ist nur ein wenig in die Jahre gekommen.

Warum denn überhaupt in die Cloud?

Kosten
Nicht nur die Anschaffungskosten der Hardware, auch der Betrieb (Updates, Miete, Energie, Personal) kann große Kosten verursachen, die in der Cloud entfallen.

Skalierung
Es muss die Hardware nicht auf die Spitzenauslastung dimensioniert werden, sondern kann je nach Bedarf jederzeit angepasst werden, was sich auch direkt auf die Kosten auswirkt.

Verfügbarkeit
Redundante Systeme, automatische Replikation, mehrere Geo-Zonen, automatische Failover und Backups erlauben einen ausfallsicheren Betrieb.

Innovation
Gerüstet für neue Anforderungen wie “Streaming”, “Data Sience”, “Datalake”, ob als Erweiterung der Systemlandschaft oder als Experiment und Wissensaufbau für kurze Zeit.

Agilität
Jederzeit kann die Gesamtarchitektur erweitert und angepasst werden, neue Technologien können sehr einfach verprobt werden, was eine rasche Reaktion auf neue Martksituationen erlaubt.

Eine gute und eine schlechte Nachricht

Die gute Nachricht:

Eine BI-Lösung kann vollständig in der Azure Cloud aufgebaut und betrieben werden.

Die schlechte Nachricht:

Von den vier klassischen Komponenten gibt es nur eine in der Cloud!

CheckMSSQL (Datenbank)

No Check SSIS (Beladung/Transformation)

No Check SSAS Multidimensional (Analyse Cube)

No Check SSRS (Reporting)

Die gar nicht so schlechte Nachricht:

Es kann die bestehende Technologie auch in der Cloud betrieben werden:

Lift & Shift

Jetzt hebt der Burger ab und landet in der Cloud.

Damit nicht all die mühevollen und seit langer Zeit stabil laufenden Entwicklungen und Prozesse neu erstellt werden müssen, gibt es ein Migrations-Szenario in der die Technologien beibehalten werden – es wird die on-premise Lösung in der Cloud betrieben.

Datenbank (SQL)

Azure SQL Managed Instance
Es ist ein ganz spezieller Datenbankservice in der Cloud, der fast identisch zu einem on-prem SQL Server 2019 ist, eine VM von Azure gehostet.
Es können damit die gewohnten Dienste genutzt werden wie “SQL Server Agent”, “SSISDB”, “Linked Server”.
Nicht zu verwechseln mit “Azure SQL Server”, der ein “echtes” Cloud-Service ist.

Azure SQL Server
Wenn die speziellen on-prem Features nicht notwendig sind, ist das vorgesehene Service die bessere Wahl mit mehr echten Cloud-Features und zukunftssicher.

ETL (SSIS)

Die bestehenden Pakete können beibehalten werden.

Sie können in einer SSISDB (Managed Instance) oder auch auf einem Azure BLOB Storage liegen.
Ausgeführt werden die Pakete allerdings auf einem Service der “Azure Data Factory”, dafür gibt es eine eigens verfügbare “Azure SSIS Integration Runtime”.

Es wird entweder nur die “Integration Runtime” als Laufzeitumgebung genützt und die Steuerung wie bisher über den “SQL Server Agent” betrieben oder man nutzt die “Data Factory” zur Orchestrierung.

Analyse Cube (SSAS)

Das multidimensionale Modell gibt es in der Cloud nicht!

Hier gibt es nur “Tabular”.

Das bedeutet, wenn das Modell nicht schon zuvor “Tabular” war, einen kompletten Neuaufbau eines Modells, mit all seinen Unterschieden und auch die Berechnungen (MDX) müssen neu, bzw. anders gelöst werden (DAX).

Das Tabuar Modell läuft dann auf einem “Azure Analysis Services” (AAS) oder eventuell auf Power BI Premium, was im Prinzip technologisch gleich ist.

Soll jedenfalls das multidimensionale Modell beibehalten werden, bleibt nur noch die Alternative mit einer virtuellen Maschine in Azure, auf dieser läuft genauso wie on-prem SSAS auf einem SQL-Server, der entsprechend in das Azure vnet integriert wird.

Reporting (SSRS)

SSRS gibt es in der Cloud nicht.

Das moderne Reporting heißt “Power BI” und kann direkt an das AAS-Modell andocken, weitere Quellen integrieren oder überhaupt das Modell ebenfalls Teil von Power BI sein (“Power BI Premium”).

Soll das sehr veraltete SSRS trotzdem weiter betrieben werden, bleibt auch hier nur eine virtuelle Maschine in Azure.

Excel als Frontend kommt zwar in Frage, entspricht aber auch nicht mehr einem modernen Reporting und kann im Bedarfsfall auch aus Power BI heraus verwendet werden (“Analyze in Excel”).

Azure Cloud BI

Warum gibt es die gleichen Services nicht einfach in der Cloud?

Cloud-Services haben ganz andere Kriterien und somit auch andere Technologien und Features.
Eine echte Cloud-Lösung sieht ganz anders aus, hat dafür aber alle genannten Vorteile, weshalb man ja in die Cloud migrieren möchte.

Hier eine beispielhafte Architektur:

Azure BI mit Azure SQL und Power BI Premium

Diese Referenzarchitektur hat diese wesentlichen Komponenten:

  • Ingestion (Staging): Datenanlieferung in ein BLOB Storage oder auch direkt in eine SQL-Datenbank.
  • Data Warehouse: Azure SQL Server
  • Ladeprozesse/Transformationen: Azure Data Factory
  • Analysemodell: Azure Analysis Services oder integriert in Power BI Premium
  • Reporting: Power BI

Im wesentlichen sind also die Schichten und auch Prozesse fast gleich wie on-premise, nur die Technik anders.

Lösungen

Was gibt es nun für Lösungen?

Migration mit on-prem Technologien

Soll möglichst alles genauso beibehalten werden, so müssen auch die Technologien so bestehen bleiben und diese in der Cloud betrieben werden.

  • Datenbank (MSSQL): Azure SQL Managed Instance
  • ETL (SSIS): Bestehende SSIS-Pakete auf Azure SQL MI mit Azure Data Factory Integration Runtime
  • Analyse Cube (SSAS): Sofern kein Tabular-Modell vorliegt bleibt nur der Betrieb von SSAS (inkl. SQL-Server) auf einer Azure VM
  • Reporting (SSRS): Ebenfalls nur als Azure VM realisierbar.

Pros:

Plus geringer Aufwand/Kosten

Plus bekannte vorhandene Technologie

Plus Skillset für Weiterentwicklung und Betrieb bleibt fast gleich

Cons:

Minus SSIS wird es zwar noch länger geben, ist aber keine Cloud-Technologie!

Minus SSAS multidimensional ist ausgereift und beliebt, wird aber irgendwann verdrängt von Tabular

Minus SSRS war schon vor 10 Jahren veraltet und entspricht längst nicht mehr den Anforderungen (weder im Development, noch beim Enduser)

Minus Langsam durch DB-Zugriff

Minus Betrieb mit VMs im vNet und Gateways wird eher komplizierter und wartungsintensiver in der Cloud

Minus Skalierung nur sehr begrenzt möglich

Minus Ev. Lizenzkosten von mehrfachen SQL-Servern

Minus CI/CD Development und Deployment kaum möglich

Bestehender ETL mit modernem Analyse-Reporting

Die Datenbasis und -struktur wird übernommen, die SSIS-Pakete für den ETL bleiben im Wesentlichen gleich.

Für das Reporting wird aus der relationalen Datenbank ein neues Tabular Model designt und auf Azure betrieben, dies dient als Datenbasis für Power BI als Reporting-Tool.

(Falls notwendig, kann zusätzlich ein DrillDown zur relationalen Datenbank angedacht werden)
(Alternativ zu AAS könnte auch Power BI Premium in Frage kommen)

Pros:

Plus geringer Aufwand/Kosten bei DB und ETL

Plus bekannte vorhandene Technologie

Plus Schnelle Performance durch In-Memory (AAS)

Plus Tabular ist optimiert für Analyse-Abfragen

Plus Skillset für Weiterentwicklung und Betrieb bleibt für ETL gleich

Plus Betrieb kann großteils skaliert werden

Cons:

Minus SSIS wird es zwar noch länger geben, ist aber keine Cloud-Technologie

Minus Zusatzaufwand für Analysemodell und neues Reporting

Minus Neue Skills für Tabular, DAX, Power BI (muss ja kein Nachteil sein)

Minus CI/CD Development und Deployment nur sehr begrenzt möglich

Nachhaltige Cloud-Lösung

Komplette Cloud-Lösung mit den dafür vorgesehenen Azure Services.

Zukünftige Integration von weiteren Architekturen (Data Lake, Data Science, Streaming, etc.).

Pros:

Plus Nachhaltige moderne Cloudlösung

Plus Schnelle Performance durch In-Memory

Plus Tabular ist optimiert für Analyse-Abfragen

Plus Zukunftssicher für Erweiterungen: Data Lake, Data Science, Streaming, Lambda-Architektur

Plus Integrierte Sicherheit zwischen allen Azure-Services (DB, AAS, ADF, PBI)

Plus CI/CD Development und Deployment über integriertes Azure DevOps und GIT

Plus Flexibler und kostensparender Betrieb durch Skalierung

Cons:

Minus Höherer Migrationsaufwand

Minus Zusatzaufwand für neue Technologien bis auf Datenbank

Minus Höherer Aufwand, falls komplexe Logik in SSIS und nicht in DB

Minus Neue Skills für ADF, Tabular, DAX, Power BI (muss ja kein Nachteil sein)

Projektszenario

Aufwand

Wenn eine nachhaltige und flexible Cloud-Lösung angestrebt wird, dann kann es länger dauern bis eine Migration abgeschlossen ist.

Datenbank:
Meist kein großes Problem, denn es ist wieder eine SQL-Datenbank und auch T-SQL ist vorhanden.

ETL:
Insbesondere der Umbau des ETL kann rasch gehen, wenn die Pakete sehr einfach sind, aber recht aufwändig werden, wenn viel Logik in SSIS enthalten ist, dazu kommt ein ganz neues Tool, die ADF.

Cube:
Das Analysemodell ist meist nicht so kritisch, allerdings gibt es einige Aspekte bei “multidimensional” die es in “Tabular” nicht gibt, sehr viele und koplexe MDX-Berechnungen können es auch erschweren und grundsätzlich ist die Denkweise in “Tabular” anders, bietet aber auch neue Vorteile.

Reporting:
Eine Erneuerung ist ohnehin sinnvoll, Power BI ist ein modernes performantes Tool, das den heutigen Key-User Ansprüchen entspricht.
Die Reports werden also komplett neu gestaltet, aber auch inhaltlich beurteilt, interaktives Reporting und Self-Service funktioniert eben anders.
Es ist ein häufiger “Fehler”, die bisherigen Reports einfach nachzubauen, besser ist es, nicht die bestehenden Reports zu analysieren, sondern zu erheben was die Fachanwender genau benötigen an Funktion und Inhalt und daraus das Modell und Reports abzuleiten.

Projekt in zwei Phasen

Um rascher in die Cloud und in Betrieb zu kommen, ist es denkbar eine Migration auf zwei Teile durchzuführen, wobei der erste Teil deutlich früher in Betrieb gehen kann.

Zuerst werden Datenbank und ETL migriert mit dem bestehendem SSIS.
Neu erstellt wird nur das Tabular-Modell und die Power BI Reports.

In einer zweiten Phase, während der Betrieb bereits läuft, kann die Umstellung des eventuell aufwändigeren ETL vorgenommen werden, die Business-Schichten können unverändert bleiben.

Conclusio

Abschließend kann man festhalten, dass eine einfache Migration von MS BI-Lösungen in die Cloud nicht vorhanden ist, aber auch nur begrenzt Sinn macht, denn um die Vorteile und Aspekte der Cloud zu nutzen und in Zukunft auszubauen, braucht es andere Konzepte, Technologien und Tools, daher ist es auch eine andere, eine neue Lösung.

Die Migration in die Cloud mit bewährten on-premise Technologien macht durchaus Sinn, aber nicht in Hinblick auf Technologie oder Zukuftsausbau, sondern nur aus kurz- bis mittelfristigen Kosten- bzw. Zeitüberlegungen.

Teile Deine Erfahrungen mit einem Kommentar unten!