In this blog post, we’ll explore the end-to-end DevOps scenario for an SAP S/4HANA system, which demonstrates how DevOps can be applied to an SAP landscape.
SAP S/4HANA is the enterprise resource planning (ERP) software suite developed by SAP and is the digital core platform for the SAP ecosystem. SAP S/4HANA offers a range of features and functions for finance, accounting, procurement, sales, marketing, manufacturing, supply chain management, and other business processes. SAP S/4HANA is built on SAP's in-memory database, SAP HANA, which enables real-time data processing and analytics.
Let’s walk through an example, as illustrated in the below figure. In this architecture, we have an SAP Fiori app and OData services running in SAP S/4HANA.
=
Let’s discuss what the end-to-end DevOps process for this scenario would look like. On a broad level, this will be applicable for other scenarios in SAP S/4HANA as well. To implement DevOps for such a scenario, you must perform several steps, which we’ll discuss in the following sections.
The planning phase of DevOps for an SAP Fiori app development in SAP S/4HANA is critical to ensure the success of the project. It involves defining the goals and scope, analyzing the requirements, planning the development process, defining the development environment, identifying the testing requirements, defining the deployment process, and planning for monitoring and maintenance. By following a structured approach to planning, organizations can improve the speed, quality, and reliability of their SAP Fiori app development projects. The approach is as follows:
In the develop, build, and test phases, developers gear up to do the magic of coding and build the full application. ABAP development tools, abapGit, and CI/CD tools play major roles in these phases. These tools and services have been discussed in previous sections.
ABAP developers create and modify the ABAP code in the development environment using abapGit. This helps track changes made to the code, revert to previous versions, and collaborate with other developers. Once the code changes are committed, the build process begins, and abapGit can be used to export the code from the Git repository as a transport request. The transport request can then be imported into the QA system for testing.
ABAP development tools is an Eclipse-based toolset for developing ABAP applications and can be used in the development, build, and test phases of ABAP on-premise solutions to manage the development and deployment of ABAP code. ABAP developers create and modify the ABAP code in the Eclipse environment using ABAP development tools. They can use features like syntax highlighting, code completion, and debugging to write efficient and error-free code. For the build phase, ABAP development tools provides tools like the ABAP test cockpit, which can be used to run unit tests to verify the functionality of the code. The ABAP test cockpit also generates test reports, which can be used to identify defects and issues.
The development team may use agile development methodologies to create the SAP Fiori app for SAP S/4HANA. They break down the work into small, manageable tasks and prioritize them based on business value. The development team uses version control tools like abapGit to manage the code and collaborate with other team members.
In the build and test phases, tools like Jenkins, Selenium, SAP Continuous Integration and Delivery, and the like can be used to automate the build process and testing. Automated testing helps to speed up the entire process.
The release and deploy phases come after the application development and testing is completed. Developers have done their magic and testers have made sure that all the business and technical requirements have been fulfilled and the solution is ready to be released. To implement the release and deploy phases of DevOps for SAP S/4HANA onp-remise applications, CTS, CTS+, gCTS, and other such tools can be used. You can also use the CI/CD pipeline configured using various options.
CTS can be used to move changes from the development system to the QA and production systems. For non-ABAP code, you can use CTS+, which also provides features like automatic transport sequencing, parallel processing, and so on. cCTS can be used to manage the transport of changes across complex landscapes. If developers need to manage code changes in Git and transport them to SAP systems using CTS, gCTS can be used. All these tools were discussed in detail in previous sections.
Here comes the most important phases of DevOps: operate and monitor. After the solution is deployed, it is monitored for performance, availability, and security. Any issues that arise are addressed through maintenance activities, including bug fixes and upgrades. To implement the operate and monitor phases for SAP S/4HANA applications, you can use a combination of tools like SAP Solution Manager, SAP Focused Run, SAP Cloud ALM, and so on, depending on your requirements and the complexity of the landscape. For example, you can use SAP Solution Manager or SAP Focused Run to monitor the performance of SAP Fiori applications, SAP Cloud ALM to manage incidents, and application performance monitoring (APM) or log monitoring tools to diagnose issues. Log monitoring tools like ELK stack (refers to Elasticsearch, Logstash, and Kibana) or Splunk can also be used to monitor the logs generated by SAP Fiori applications. They can help identify errors, exceptions, and other issues that may impact the application's performance.
Editor’s note: This post has been adapted from a section of the book DevOps with SAP by Raja Gupta and Sandip Jha.