Bringing CI/CD to SAP: A step-by-step guide
Hands up if you’ve ever felt a rush of excitement about DevOps, followed by the sinking realization that your SAP environment just isn’t geared for that way of working.
If your organization is a predominantly SAP shop – or even if SAP features heavily in your mix of applications – you may think the opportunities of DevOps just aren’t open to you. You may even have avoided reading up on it, certain that it won’t work for your business.
If that’s the case, I bring good news. Not only is a DevOps approach very possible in the SAP world, it’s even possible to connect it to the same automated build, test and delivery tools you’ve seen other teams use.
That means you can gain all the benefits of continuous integration and continuous delivery (CI/CD) in SAP – and deliver new functionality faster, more frequently, with fewer defects.
This blog is a quick overview of how it works – and you can get a complete step-by-step guide by watching our on-demand webinar.
An intro to DevOps and CI/CD
But first, a quick recap of DevOps and CI/CD. In the SAP world, we’re used to a waterfall-style approach to new functionality: long release cycles – maybe quarterly or even six-monthly - to deliver a chunky new feature or integration. In that time the code is written, then separately tested, then bug-fixed, then “thrown over the wall” for deployment to production.
With DevOps, big monolithic releases are replaced by many smaller chunks of (ideally reusable) functionality, released much more frequently. This new code is continuously developed in short sprints, automatically tested, and automatically integrated back into the main code track for delivery into production.
That enables much faster release of new functionality – to the point where it can be delivered on demand as the business requires it. It also means much better quality, because automated testing covers more of the code, and because developers have ownership of quality (as opposed to it being the sole preserve of a separate QA team).
Continuous integration and delivery saves time, effort and money, and results in a faster rate of innovation, a better customer experience and higher customer satisfaction. Which is basically everything the business wants from you! So why is it so difficult to do in SAP?
What’s so different about SAP?
The issue with SAP is that its unique architecture makes it a kind of black-box system, at least from the point of view of other IT teams. It has its own development language and tools, and, unlike in the open source world where developers check out code to work on it in their own workspace, SAP developers all work together in the same code base: a recipe for code conflicts and unexpected dependencies.
Because of these unique characteristics, the automation tools that DevOps teams typically use to manage source and version control, and the build, test, integration and deployment of code – tools like GitLab, Jenkins, Azure Devops, etc. – simply don’t work in SAP.
The key word is automation, which is what makes CI/CD possible. Without automation, DevOps teams would not be able to deliver high-quality code at speed. Since their normal tools don’t work with SAP, DevOps teams working in a multi-application world often find that SAP becomes a bottleneck to deploying new code quickly.
The good news is that there are now tools available that make DevOps and CI/CD possible in an SAP environment – and which also allow you to bring SAP into your enterprise-wide delivery pipeline. Two of the most critical are an SAP change orchestrator, and a tool to automate comprehensive regression testing of the new code.
How to apply CI/CD to SAP: a step by step guide
In our webinar, we take you through a step-by-step guide to orchestrating a change in SAP – all the way from importing the change request to deployment of the new code into production. Key steps in the process include:
- Import a change request captured with JIRA, Rally, ServiceNow or other defect management, backlog management and ITSM tools. The SAP change orchestrator not only automates the import of each request, but also ensures that the relevant new code and transports are linked to it for audit and QA purposes.
- Build in code quality from the start, by adopting peer reviews of new code, and automating unit-testing every change. Both peer review and automated unit testing are agile best practices that place responsibility for code quality with the dev team, and result in many more defects being ironed out early in the delivery lifecycle.
- Automate quality checks to surface any code dependencies (essential when you have many developers working in parallel) and ensure standardized practices across the dev team (especially important when you have large teams, multiple teams, or a mixture of in-house and external resources working on your SAP development).
- Automatically sequence validated changes, to ensure transports are deployed in the appropriate order, and automate deployment to QA, pre-production or production environments. Automated sequencing and deployment ensures that changes are applied to the right systems at the right time, and that many small changes can be deployed at once – in a daily scheduled release, for example – without the risk of anything breaking.
- Automate comprehensive regression testing in the pre-production environment. This vital step allows you to check whether the changes will break business processes in the live system. Doing this manually or with traditional script-based tools usually means cherry-picking what you want to test, as there isn’t enough time to cover everything. But with the right type of automation you can cover far more, dramatically reducing the risk of issues occurring after go-live.
- Unify SAP and non-SAP CI/CD workflows, by integrating the SAP change orchestrator with your DevOps delivery management tool of choice (e.g. GitLab or GitHub). By bringing these tools together you can unite your newly-fledged SAP DevOps process with the rest of your delivery pipeline, ensuring SAP is no longer a bottleneck to rapid change deployment in a multi-application environment.
The most complete DevOps and test automation platform
At Basis Technologies we’ve spent many years providing SAP users with automation that helps them to transform the way they run SAP, and today those tools are increasingly being used to support just the kind of CI/CD workflow I’ve described in this post. ActiveControl, our DevOps automation product, plays the role of SAP change orchestrator and Testimony, our Robotic Test Automation solution, is a unique way to regression test far more effectively. Together they can deliver huge benefits in terms of code quality and speed and frequency of deployment. In the webinar we also take a quick look at how one Basis Technologies customer – a large multi-national telco - has successfully integrated SAP into a CI/CD pipeline that includes 14 other enterprise applications.
Watch the webinar for a deep dive into CI/CD in SAP
Our webinar has a lot more detail on how you can achieve CI/CD with SAP using ActiveControl, and also answers a lot of frequently asked questions from DevOps teams keen to bring their SAP environment into the world of continuous delivery. You can watch it on demand here – and if it sparks any questions, please do get in touch.