Infrastruktur MAG 21-05

Code-Modernisierung

[shutterstock--1449924503-Andrey-Suslov]
[shutterstock--1449924503-Andrey-Suslov]

Für SAP-Anwender stehen die Migration und Modernisierung der Infrastruktur an: Vor allem die Umstellung auf Hana und S/4 stellt für viele Unternehmen eine große Hürde dar – gerade im Hinblick auf den Custom Code im Z-Namensraum.

Mit einer intelligenten Code-Modernisierung und einer adäquaten Ziel­architektur kann ein Unternehmen auch komplexe Transformationsprojekte relativ einfach, schnell und kostenoptimiert durchführen.

Die Aufgaben für SAP-­Bestandskunden sind klar umrissen: Zum einen müssen sie auf Hana und S/4 migrieren; zum anderen müssen sie gleichzeitig neue Technologien und Architekturen nutzen, um die Modernisierung im Rahmen der digitalen Transformation konsequent voranzutreiben – etwa im Hinblick auf die schnelle und flexible Einführung neuer Geschäftsmodelle.

Eine erhebliche Herausforderung bei der Migration stellt vor allem der Abap Custom Code in Altsystemen dar. Unternehmen, die bereits seit Langem SAP-Systeme einsetzen, verfügen über eine große Menge an kundenspezifischem Code, der im Laufe der Zeit entwickelt wurde, um das Wachstum und die sich ständig ändernden Geschäftsanforderungen zu unterstützen.

Dabei geht es auch um Code für strategische Geschäftsprozesse, den Unternehmen implementiert haben, um Wettbewerbsvorteile zu erlangen.Ein Großteil dieses Codes kann im Laufe der Zeit veraltet sein, da er nicht mit Blick auf die heutigen Anforderungen konzipiert ist, etwa hinsichtlich Sicherheit, Performance oder Wartbarkeit.

Außerdem ist der Code in den neuen S/4-Umgebungen vielfach nicht mehr lauffähig. Der Abap Custom Code steht damit der Innovation im Wege, indem er Modernisierungs-projekte und Upgrades behindert.

Containerisierung

Ganz allgemein zielt der Modernisierungsprozess im SAP-Kontext auf die Containerisierung und Modifizierung von Applikationen im Hinblick auf Funktionsverbesserungen und eine Upgrade-Unterstützung ab.

Schwierigkeiten bereitet dabei der Custom Code, da er typischerweise eng an den monolithischen Ansatz traditioneller SAP-ERP/ECC-6.0-Systeme gekoppelt ist. Eine Like-­to-Like-Migration ist kaum abbildbar und bietet keine Mehrwerte.

Die Aufgaben lauten folglich, zunächst eine Bestandsaufnahme des Custom Codes zu machen, mehrdeutige Abhängigkeiten zu identifizieren und Schnittstellen zwischen Anwendungskomponenten bereitzustellen. Das Ergebnis dieser Tätigkeiten sind eine erhöhte Transparenz, einfachere Wartung und Beseitigung von Regressionen.

Custom-Code-Modernisierung

Eine Modernisierung des Custom Codes erfolgt im Grundzug in den vier Phasen Analyse, Dekomposition, Integration und Konzeption der Zielarchitektur.

Im ersten Schritt geht es um die Code-Analyse und die Identifizierung derjenigen Teile vorhandener Systemapplikationen, die für eine Transformation in Microservices und eine containerbasierte Architektur geeignet sind.

Die Analyse ergibt in aller Regel auch, dass in SAP-Systemen Code vorhanden ist, der nicht mehr genutzt wird und der somit nach einer Prüfung eliminiert werden kann; der Anteil dieses ungenutzten Codes am gesamten existierenden Code in einem System kann bei bis zu 60 Prozent liegen.

Von der Analyse bis zur Zielarchitektur mit der SmartShift-Automation.

Die Analyse identifiziert potenzielle Kandidaten, die durch das Aufzeigen von Abhängigkeiten zwischen Objekten entkoppelt werden können. Darüber hinaus werden Quellcode-Verletzungen identifiziert, um die Geschäftsprozesse in einer S/4-Umgebung ausführbar zu machen.

Zweiter Schritt: In der Dekompositionsphase erfolgt dann eine iterative Konzep­tion von Komponenten, die die vorhandene Code-Basis erneuern und als Building Blocks für neue Entwicklungen dienen. Die Komponenten unterstützen eine moderne Stateless-Protokoll-Kommunikation, sogenannte Microservices.

Der dritte Schritt umfasst die Integration mit einer Verbindung der Komponenten für den Echtzeit-Austausch von Daten und Prozessen. Dabei sollte eine Plattform zum Einsatz kommen, die eine lose Kopplung unterstützt und API-Konnektoren, eine ereignisgesteuerte Programmierung sowie eine asynchrone Synchronisation für die Verbesserung der Fehlertoleranz nutzt.

Der letzte Schritt betrifft die Ausgestaltung der eigentlichen Zielarchitektur, die idealerweise containerbasiert ist. Konkret geht es dabei zum Beispiel um die Abdeckung von Skalierungsanforderungen oder die Prozessunterstützung mittels Automation im Hinblick auf Upgrades, Monitoring oder Testing.

Hybrid-Cloud-Plattform

Neben der genutzten Methodik ist für eine erfolgreiche Migration vor allem auch die Zielarchitektur von ausschlaggebender Bedeutung. Und dabei hat sich inzwischen eine ideale Zielplattform herauskristallisiert.

Will ein Unternehmen Innovationsthemen adressieren, ist im Hinblick auf die Zielarchitektur klar, dass an der Nutzung neuer Plattformen, Frameworks, Anwendungen und Technologien kein Weg vorbeiführt: Integrierte hybride Multi-Cloud-Plattformen, Cloud-native Anwendungen, Container, Microservices und APIs sind dabei die entscheidenden Komponenten.

Die Entwicklung ist dabei auch im SAP-Bereich klar vorgezeichnet: Hybrid-­Cloud-Plattformen und die Cloud-native Anwendungsentwicklung werden die Zukunft nachhaltig prägen. Das SAP-Ökosystem wird in Richtung Hybrid-Cloud-
Architektur modernisiert und SAP-Bestandskunden werden damit künftig verstärkt einen Mix aus On-premises-, Private- und Public-Cloud-Services nutzen – nicht nur für SAP-, sondern auch für Nicht-SAP-Workloads.

Das Side-by-Side-Extensibility-Konzept von SAP.

Zudem werden Cloud-native Laufzeitumgebungen zum dominierenden Deployment-Muster werden, da sie der dynamischste Treiber für Innovationen sind. Eine besondere Bedeutung in der SAP-Welt der Zukunft nimmt die API-basierte Kommunikation ein. Offene APIs sind die technische Basis für die Vernetzung von Daten, Applikationen und Geräten und damit auch für die Umsetzung von Innovationen, ohne dass neue IT-Silos entstehen.

Offene APIs

Die Nutzung offener APIs ist gerade auch hinsichtlich des Side-by-Side-Extensibility-Konzepts von SAP nahezu unverzichtbar. Es zielt ab auf die Verbindung von SAP-Daten, -Prozessen und -User-Interface mit modernen Programmierumgebungen, Continuous Integration und Continuous Delivery sowie DevOps-Methoden.

Agile Integration von SAP- und Nicht-SAP-Workloads.

Sogenannte „Side-by-Side Extensions“ für S/4-Systeme erlauben im Gegensatz zu klassischen Abap-basierten Eigenentwicklungen die einfache Umsetzung von End-to-End-Prozessen und integrieren damit die SAP-Landschaft auch mit Nicht-SAP-Systemen. Dieses Konzept kann komfortabel auf Basis der Enterprise-Kubernetes-­Plattform Red Hat OpenShift realisiert werden. Dadurch bestehen für einen Anwender Wahlfreiheit bei der Infrastruktur und die Möglichkeit einer Multi- oder Hy­brid-Cloud-Nutzung.

Für die einfache und schnelle Umsetzung des Side-by-Side-Erweiterungskonzepts sind Integrations- und Management-Lösungen vonnöten. Moderne API-Management-Lösungen, wie sie etwa mit der Enterprise-Version 3scale-API-Management zur Verfügung stehen, sind modular, hochskalierbar und verifiziert mit den APIs der SAP-Cloud und mit ­vielen IT-Systemen von Drittanbietern.

Zudem ist eine agile Integrationslösung erforderlich, mit der Entwickler eine bi­direktionale Kommunikation mit Hana und Anwendungen herstellen können. Hier bieten sich vor allem das Open-Source-­Framework Apache Camel oder Red Hat Fuse an.

End-to-End-Architektur im SAP-Kontext.

Side by Side

Ist ein Side-by-Side-Konzept umgesetzt, ist auch eine komfortable Nutzung von Automatisierungslösungen wie Ansible möglich. Ansible unterstützt SAP-Anwender etwa bei Hybrid-Cloud-Deployments, das heißt bei der automatisierten Bereitstellung und Verwaltung von traditionellen und neuen containerisierten SAP-Work­loads sowie von Nicht-SAP-Anwendungen in hybriden Cloud-Umgebungen.

Ansible bietet darüber hinaus DevOps-Automatisierung im SAP-Bereich, also eine Unterstützung bei der automatisierten Entwicklung, Bereitstellung, Produktivnahme und Verwaltung von SAP-Plattformen.

Insgesamt bietet eine neue, moderne Hybrid-Cloud-Systemarchitektur dem SAP-Anwender zahlreiche Vorteile. Dazu gehören unter anderem:

  • die einfache und schnelle Umsetzung neuer Anforderungen,
  • die Reduzierung manueller Fehlerquellen durch einen hohen Automatisierungsgrad,
  • die schnelle Integration neuer Prozesse,
  • die Etablierung einer agilen Entwicklungsmethodik,
  • die DevOps-Nutzung durch die Entkopplung der End-to-End-Prozesse vom SAP-Kern.

Mit der richtigen Methodik, die eine intelligente Automatisierung beinhaltet, und der adäquaten Zielplattform können SAP-Anwender Transformationen schnell, risiko- und kostenoptimiert durchführen. Die Automatisierung sollte dabei flexible Services zur Analyse, Performance-Optimierung, Code-Konvertierung und Konsolidierung beinhalten.

Und bei der Auswahl der Plattform ist zu beachten, dass sie eine einheitliche Cloud-native Anwendungsentwicklung und -bereitstellung auf einer beliebigen Infrastruktur unterstützt – von Multi-Cloud-Umgebungen bis zu On-premises-Implementierungen. Viele SAP-Anwender setzen hierbei auf die Enterprise-­Kubernetes-Plattform Red Hat OpenShift, große Unternehmen, etwa aus dem Automobilsektor, haben dieses Konzept bereits exakt so umgesetzt.

Automatisierung der
Code-Modernisierung

Der komplexe SAP-Migrations- und Modernisierungsprozess erfordert einen methodischen Ansatz, der auf eine maximale Automatisierung abzielt. Eine solche Automatisierung, wie sie etwa SmartShift auf Basis seiner Intelligent Automation Platform ermöglicht, sollte hinsichtlich der SAP-Code-Analyse und -Transformation folgende Lösungskomponenten und -schritte beinhalten:

  • Die automatische Extraktion technischer Informationen wie Programme, Datendefinitionen und Nutzungsdaten aus dem Quellsystem; die Konzeption eines sprachunabhängigen Metamodells aus dem Code im Quellsystem
  • Eine Rule Engine, die im Metamodell alle Code-Probleme im Hinblick auf die Zielversion identifiziert und automatisch behebt
  • Eine Abhängigkeitsanalyse, um wechselseitige Beziehungen der Objekte untereinander zu verstehen und um Schnittstellen zwischen Domänen zu bestimmen
  • Die Bereitstellung von Rest-APIs für identifizierte Objekt-Cluster und die Integration in die Zielplattform
  • Die Erstellung eines vereinfachten, modernisierten und leicht zu wartenden Codes
  • Das automatische Hochladen des modernisierten und vereinfachten Codes in das Zielsystem

Über den Autor

Peter Körner, Red Hat

Peter Körner ist Business Development Manager Open Hybrid Cloud SAP Solutions bei Red Hat.

Über den Autor

Stefan Hetges SmartShift

ist Gründer und Geschäftsführer von SmartShift

Hinterlassen Sie einen Kommentar