Code modernization
With intelligent code modernization and an adequate target architecture, a company can carry out even complex transformation projects relatively easily, quickly and cost-optimized.
The tasks for existing SAP customers are clearly defined: On the one hand, they must migrate to Hana and S/4; on the other, they must simultaneously use new technologies and architectures to consistently drive modernization as part of the digital transformation - for example, with regard to the rapid and flexible introduction of new business models.
Abap custom code in legacy systems, in particular, poses a significant challenge during migration. Companies that have been using SAP systems for a long time have a large amount of custom code that has been developed over time to support growth and ever-changing business requirements.
Much of this code may become obsolete over time because it is not designed with today's requirements in mind, such as security, performance, or maintainability.
Moreover, in many cases the code is no longer executable in the new S/4 environments. Abap custom code thus stands in the way of innovation by hindering modernization projects and upgrades.
Containerization
More generally, the modernization process in the SAP context is aimed at containerizing and modifying applications with a view to improving functionality and providing upgrade support.
Custom code causes difficulties here, as it is typically closely coupled to the monolithic approach of traditional SAP ERP/ECC 6.0 systems. A like-to-like migration can hardly be mapped and offers no added value.
The tasks are therefore to first make an inventory of the custom code, identify ambiguous dependencies, and provide interfaces between application components. The result of these activities is increased transparency, easier maintenance, and elimination of regressions.
Custom code modernization
A modernization of the custom code is basically carried out in the four phases of analysis, decomposition, integration and conception of the target architecture.
The first step is to analyze the code and identify those parts of existing system applications that are suitable for transformation into microservices and a container-based architecture.
The analysis also usually reveals that there is code in SAP systems that is no longer used and can therefore be eliminated after an audit; the share of this unused code in the total existing code in a system can be as high as 60 percent.
The analysis identifies potential candidates that can be decoupled by showing dependencies between objects. In addition, source code violations are identified to make the business processes executable in an S/4 environment.
Second step: In the decomposition phase, an iterative design of components takes place, which renew the existing code base and serve as building blocks for new developments. The components support modern stateless protocol communication, so-called microservices.
The third step involves integration with a connection of the components for real-time exchange of data and processes. This should be done using a platform that supports loose coupling and uses API connectors, event-driven programming, and asynchronous synchronization to improve fault tolerance.
The last step concerns the design of the actual target architecture, which is ideally container-based. In concrete terms, this involves, for example, covering scaling requirements or process support by means of automation with regard to upgrades, monitoring or testing.
Hybrid cloud platform
In addition to the methodology used, the target architecture is also of crucial importance for a successful migration. And in the meantime, an ideal target platform has emerged.
If a company wants to address innovation topics, it is clear with regard to the target architecture that there is no way around the use of new platforms, frameworks, applications and technologies: Integrated hybrid multi-cloud platforms, cloud-native applications, containers, microservices and APIs are the key components here.
The development is also clearly marked in the SAP area: Hybrid cloud platforms and cloud-native application development will have a lasting impact on the future. The SAP ecosystem will evolve in the direction of hybrid cloud.
architecture modernized and SAP existing customers will thus increasingly use a mix of on-premises, private and public cloud services in the future - not only for SAP but also for non-SAP workloads.
In addition, cloud-native runtime environments will become the dominant deployment pattern, as they are the most dynamic driver of innovation. API-based communication will take on special significance in the SAP world of the future. Open APIs are the technical basis for networking data, applications and devices and thus also for implementing innovations without creating new IT silos.
Open APIs
The use of open APIs is almost indispensable, especially with regard to SAP's side-by-side extensibility concept. It aims to connect SAP data, processes, and user interface with modern programming environments, continuous integration and continuous delivery, and DevOps methods.
So-called "side-by-side extensions" for S/4 systems allow, in contrast to classic Abap-based in-house developments, the simple implementation of end-to-end processes and thus also integrate the SAP landscape with non-SAP systems. This concept can be conveniently implemented on the basis of the enterprise Kubernetes platform Red Hat OpenShift. This gives a user freedom of choice in infrastructure and the option of multi- or hybrid cloud use.
Integration and management solutions are needed for easy and fast implementation of the side-by-side extension concept. Modern API management solutions, such as those available with the enterprise version 3scale API Management, are modular, highly scalable and verified with the APIs of the SAP cloud and with many third-party IT systems.
In addition, an agile integration solution is required with which developers can establish bidirectional communication with Hana and applications. The open source framework Apache Camel or Red Hat Fuse are particularly suitable here.
Side by Side
If a side-by-side concept is implemented, convenient use of automation solutions such as Ansible is also possible. Ansible supports SAP users, for example, in hybrid cloud deployments, that is, in the automated provisioning and management of traditional and new containerized SAP workloads as well as non-SAP applications in hybrid cloud environments.
Ansible also offers DevOps automation in the SAP domain, i.e. support for automated development, deployment, going live and management of SAP platforms.
Overall, a new, modern hybrid cloud system architecture offers SAP users numerous advantages. These include:
- the simple and fast implementation of new requirements,
- the reduction of manual error sources through a high degree of automation,
- the rapid integration of new processes,
- the establishment of an agile development methodology,
- DevOps usage by decoupling end-to-end processes from the SAP core.
With the right methodology, which includes intelligent automation, and the adequate target platform, SAP users can perform transformations quickly, with optimized risk and costs. Automation should include flexible services for analysis, performance optimization, code conversion and consolidation.
And when choosing a platform, it is important to ensure that it supports unified cloud-native application development and deployment on any infrastructure - from multi-cloud environments to on-premises deployments. Many SAP users rely on the Red Hat OpenShift enterprise Kubernetes platform, and large companies, such as those in the automotive sector, have already implemented this concept in exactly the same way.
Automation of the
Code modernization
The complex SAP migration and modernization process requires a methodical approach aimed at maximum automation. Such automation, as enabled by SmartShift on the basis of its Intelligent Automation Platform, should include the following solution components and steps with regard to SAP code analysis and transformation:
- The automatic extraction of technical information such as programs, data definitions, and usage data from the source system; the design of a language-independent metamodel from the code in the source system
- A rule engine that identifies and automatically fixes all code problems in the metamodel with respect to the target version
- A dependency analysis to understand mutual relationships among objects and to determine interfaces between domains
- The provision of residual APIs for identified object clusters and integration into the target platform.
- The creation of a simplified, modernized and easy to maintain code.
- The automatic upload of the modernized and simplified code to the target system