Continuous Integration und Continuous Delivery für Microsoft Business Intelligence Lösungen

//
Blog, Data & Analytics

Für das erste Zusammentreffen des Jahres stand am 11.01.2018 bei der PASS Regionalgruppe Rheinland das Thema Continuous Integration (CI) und Continuous Delivery (CD) auf der Agenda. Ein Thema, welches in der Softwareentwicklung bereits etabliert und nicht mehr wegzudenken ist, jedoch im Bereich der Entwicklung von Business-Intelligence-Lösungen eher schleppend an Bedeutung gewinnt.

 

Nach einem kurzen Einstieg in die Begrifflichkeiten und die allgemeinen Vorzüge von Continuous Integration und Continuous Delivery, zeigte der Vortragende, Dr. Benjamin Kettner, eindrucksvoll, wie sich mit Hilfe der Visual Studio Team Services (VSTS) ein CI/CD-Workflow für Microsoft SQL Server Integration Services (SSIS) Projekte umsetzen lässt. Der grundlegende Workflow konnte mit geringem Aufwand innerhalb weniger Minuten erzeugt werden. Für die zentralen Arbeitsschritte zur Erzeugung von Builds und zur Erzeugung von Releases für das Deployment der SSIS-Pakete musste jedoch auf den Einsatz von Powershell-Skripten zurückgegriffen werden, da die Auswahl an vordefinierten Templates stark limitiert und auf den Bereich der Softwareentwicklung zugeschnitten ist. Entsprechende Templates zum Build und Release von Microsoft-Business-Intelligence-Projekttypen (Datenbank, Integration Services, Analysis Services, Reporting Services) sind leider noch nicht verfügbar, der Umfang und die Komplexität der vorgestellten Powershell-Skripte erschienen jedoch überschaubar und somit eine akzeptable Lösung zu sein.

Die Vorteile von CI/CD im Business-Intelligence-Kontext waren schnell ersichtlich. Über das Version Control System (VCS) lässt sich jederzeit nachvollziehen, wer welche Änderungen im Laufe der Zeit durchgeführt hat. Über die Historie der durchgeführten Builds und Releases kann zudem jederzeit eingesehen werden, welcher Entwicklungsstand, zu welchem Zeitpunkt auf den unterschiedlichen Entwicklungs-, Test, und Produktivumgebungen gültig war/ist. Alte Entwicklungsstände lassen sich leicht wiederherstellen, Fehlermeldungen erfolgloser Builds/Releases werden entsprechend geloggt und Testfälle lassen sich einbinden und als Teil des Builds automatisiert ausführen.

Dr. Kettner betonte, dass mit der Einführung von CI/CD manuelle Tätigkeiten und somit potenzielle Fehlerquellen innerhalb des Build- und Release-Prozesses weiter reduziert werden konnten und der Ablauf sowie die Verantwortlichkeiten (Wer darf, welche Entwicklungsstände, wohin [Entwicklung, Test, Integration, Produktion] releasen/deployen?) im Prozess klarer definiert und umgesetzt werden konnten.

Offen blieb die Frage, wie realistisch bzw. aufwendig die CI-/CD-Einführung für sämtliche Microsoft-Business-Intelligence- Komponenten (Datenbank-, SSIS-, SSAS-, SSRS-Projekte) ist. In Bezug auf die Einbindung von Datenbankprojekten in den CI-/CD-Workflow wies der Vortragende darauf hin, dass sich diese deutlich schwieriger gestaltet und dort ein wesentlich größerer Programmieraufwand notwendig ist. Dr. Kettner kündigte an, in seinem Vortrag auf der kommenden SQL Server Konferenz in Darmstadt vom 26. bis 28. Februar näher auf diese Problematik einzugehen.

Zurück