SAP BI trifft DevOps
Dass sich SAP BI mit DevOps kombinieren lässt, machte zuletzt ein Projekt bei einem Telekommunikationsdienstleister deutlich. Wer sich fachlich auf dem neuesten Stand hält, ist dem Begriff DevOps sicherlich schon begegnet. Prinzipiell geht es bei diesem Ansatz darum, die Zusammenarbeit zwischen Softwareentwicklung (Development) und IT-Betrieb (Operations) zu verbessern. Dazu werden Dev-Tools sowie agile Arbeitsweisen genutzt. Aus Sicht eines Softwareentwicklers steht dabei der Leitgedanke im Vordergrund, durch den Einsatz von DevOps einen Mehrwert zu generieren, von dem alle Beteiligten profitieren.
Standardfall und doch anders
Prinzipiell handelte es sich bei dem Projekt um einen Standardfall. Verschiedene BI-Artefakte wie LCMBIAR-Files mussten regelmäßig verschoben werden, um eine aktuelle Datenlage bei der Erstellung von Berichten zum Beispiel in SAP BO zu gewährleisten. Eine Besonderheit war allerdings, dass es bei dem Kunden verschiedene Umgebungen gab. Vereinfacht dargestellt gab es zunächst eine allgemeine Umgebung, in der Veränderungen „deployed“ wurden.
Im folgenden Schritt galt es aber, diese Veränderungen auf der nächsten Ebene, einer Hochsicherheitsumgebung, auszuspielen. Das war aber nur über einen mehrtägigen manuellen Prozess möglich. Dabei wurden händisch Dateien von Server zu Server kopiert. Releasezyklen erstreckten sich dadurch auf einen Zeitraum von bis zu zwei Wochen.
Diese Situation war selbstredend nicht befriedigend. Mit der Git-Pipeline war nur das direkte Deployen auf die einfache Umgebung mit der gleichen Sicherheitsfreigabe möglich. Es musste also ein Brückenschlag zu der nächsten Ebene her.
Die Lösung lag in einem neuen, automatisierten Prozess, der über die API von GitLab mittels eines kleinen Skripts prüfte, ob sich auf einem geschützten Branch Veränderungen ergeben hatten. Vor jedem Deployment durch einen Commit auf den geschützten Branch wurde zudem die Sicherheitsfreigabe eingeholt und das Deployment durch automatische Pipelines getestet.
Ohne Freigabe kein Deployment
Dadurch, dass die Datenstandübermittlung inklusive Sicherheitscheck automatisiert wurde, wurde die Grenze zwischen den Umgebungen durchlässig und eine extreme Beschleunigung fand statt. Es gilt anzumerken, dass diese Art von Beschleunigung durch automatisiertes Deployen via GitLab von SAP eigentlich nicht vorgesehen ist.
Noch eine Hürde galt es zu nehmen. Die Sicherheitsanforderungen seitens der IT-Security unseres Kunden waren sehr hoch. Diesen hohen Anforderungen entsprach unsere Lösung, weil mit unserem Skript das Deployment nach dem Pull-Prinzip auf die Hochsicherheitsumgebung gezogen wurde. Dadurch konnte umgangen werden, dass Zugangsdaten für die Umgebung auf Systemen mit niedrigerer Sicherheitsfreigabe gespeichert wurden. Zu diesem Thema war es die erste Abnahme im Konzernumfeld überhaupt. Das ist ein Alleinstellungsmerkmal.
Das Ergebnis dieser auf den Kunden maßgeschneiderten Lösung spricht für sich: Ein Prozess, der bis dato zwei Wochen in Anspruch nahm, ist auf drei Minuten reduziert worden! Der Mehrwert für sämtliche Stakeholder steht hier außer Frage. Durch die Verschlankung werden Zeit, Geld und sonstige Ressourcen eingespart. Möglich war dieses Resultat aber nur, weil das übliche SAP-Umfeld verlassen wurde und DevOps mit einbezogen wurde. Diesen Brückenschlag zwischen unterschiedlichen Bereichen gibt es nicht von der Stange. Dazu sind Experten notwendig, die ihren Blick über den eigenen fachlichen Horizont, die SAP-Tool-Landschaft eingeschlossen, hinaus richten.
Definition Deployment
Der Begriff „Deployment“ steht für die Verteilung sowie Bereitstellung von Software. Wichtig ist, dass das Deployment über (halb) automatisierte Prozesse geschieht.