Technical Articles
A practical guide to DevOps for SAP
Whether or not you believe in the value that DevOps can offer to a business – and there’s already plenty of evidence to show that it can deliver major benefits – there’s no doubt that more and more companies are starting to wonder why they haven’t extended this approach to their ERP systems.
Not so long ago I regularly had to explain what agile and DevOps actually meant but nowadays people come to us asking how we can help them to adopt these approaches for SAP.
So why the change? Transformation is the key. It’s definitely a bit overused by my colleagues in the marketing world, but with the move to cloud, S/4HANA on the horizon and growing pressure on businesses to innovate, deliver value more quickly and increase competitiveness, real changes are happening that SAP teams simply have to respond to.
The central driving factor is that that traditional SAP development processes – the ones most often still in use today – tend to suffer from a very slow pace of change, failure to deliver business needs and high risk of downtime and outages.
DevOps solves many of these issues by supporting application delivery in shorter, more frequent delivery cycles where quality is embedded from the start of the process and risk is substantially reduced.
Great, I hear you say – let’s do it! However, the challenge faced by even the most enthusiastic organizations is that SAP cannot be managed in exactly the same way as other IT systems. The fundamental requirements for DevOps are the same – I covered some of them in this blog – but the practicalities are very different. Your standard DevOps tools will simply not support what SAP needs and what’s more, the DevOps experts don’t necessarily understand what’s needed for SAP, while the SAP experts may never have heard of DevOps!
So what is the practical reality? How can companies get up and running with DevOps for SAP?
Impact on the SAP development lifecycle
SAP change processes have always benefitted from tools to enforce governance, audit, workflows and approvals. But DevOps for SAP is different due to its architecture and generic tools will not provide the means to support it. Specialized technical automation tooling is required to manage and enable continuous delivery of change.
It’s important to understand that DevOps in SAP means different things to different organizations but all parts of the process from development, QA, pre-production and production can expect to be impacted.
Higher quality development
Delivering at pace requires a robust development process that combines clear business requirements and constant feedback, with quality shifted left and embedded from the very start of the process.
We need to ensure that nothing leaves development without being fully quality checked, minimizing costly downstream issues, errors and rework. This includes automated unit testing, code quality enforcement, performance and security checks, and peer reviews.
Closer business involvement ensures that customer requirements are clearly understood and integration with other IT functions like QA and operations (basis) establishes an early validation step into the development process.
Low-risk delivery for efficient testing
Continuous integration ensures that changes can be successfully deployed to test, or any other downstream system, without risk. A good cadence of delivery needs the ability to choose what you want to deploy based on business priorities, rather than being locked into long release cycles.
To this end controls and automation tools need to be put in place to manage the risks, so unwanted side-effects and issues can be avoided.
Checking changes for completeness, sequencing, dependencies, risk and impact removes many SAP delivery issues. This more agile approach accelerates the delivery of functionality – changes can be selectively and automatically deployed with confidence, rather than waiting for the delivery of a full release.
Don’t break your current system
It’s important to validate that your current systems won’t break when the features are deployed into production. Continuous testing ensures that changes are tested frequently and automatically via regression test processes that are robust, repeatable and have the necessary functional coverage.
This provides confidence and risk mitigation because any negative and/or unexpected side effects are minimized when changes are deployed to the live system.
Minimize impact on production
There is always a risk – however small – that an SAP deployment can stop the business by disrupting live system operation.
Rigorous controls and continuous deployment ensure that changes can be safely and automatically delivered to production with significantly less risk of system or business process outages. If disaster does strike the impact of change-related downtime is minimized and business continuity can be maintained.
The human impact
The manner in which DevOps impacts the roles and approach of staff can be just as important as the changes to tooling and process. Traditional teams based on job function need to be replaced by multi-skilled, cross-functional teams where the business, development, QA, operations and security work together.
Revised roles and responsibilities and a different, collaborative culture are also required. You need to pay attention to and secure the buy-in of all concerned, rather than imposing change in a top-down fashion.
DevOps benefits and outcomes
Change happens fast and companies need to respond quickly. IT systems must therefore have the flexibility to rapidly change, expand, extend and adapt.
But accelerating delivery cannot be done at the expense of business continuity. Successfully adopting DevOps for SAP combines speed, quality improvements and risk reduction giving companies the flexibility to change their SAP environments at the speed the business needs, with confidence that it can be achieved without compromising stability.
To find out more on how to practically introduce DevOps to your SAP processes please come back to me.
Hi James,
Great article! I am currently looking at tools to reduce the time it takes to refresh SAP Test systems with Production data. Tools like Delphix and Transport Expresso keep popping up. Have you ever looked into any of these tools and do SAP officially suggest any such tools for speeding up the refresh process?
Regards,
Jarlath
Can you guice/help in implementing DevOps for fiori?? what all are the tools we should use.
Hi Kapil,
DevOps is not something you'd normally just implement for Fiori. It would ideally be done across the wider SAP application scope to get the most benefits. To implement DevOps in SAP you need to look at automation of the end-to-end delivery cycle and to ensure that you emded quality and risk controls at all parts of the process. Basis Technologies DevOps toolset ActiveControl does exactly this for SAP environments. You can get more info here http://www.basistechnologies.com/continuous-delivery
Regards,
James
Hi James,
Thanks for the reply!
I agree implementing DevOps in SAP is complete automation end to end. I was looking for that and the tools say Jenkins, Sonar , maven , bitbucket. I thought you will put light on these things .
Hi Guys,
Do you know there is option to SAP Business Objects?
Best regards
Eric
Hi Eric,
Please can you provide a bit more information about what you are looking for in your question.
Thanks,
James
Hello Roberts
Can you please advice how can Devops be implemented in a support based project where project is not at all having control over development,testing. Everything is done by completely different and separate team . Only production deployment is done by the support team. When we talk about Devops and agile it is completely continuous,fast and automated delivery from Development to production deployment. But in my scenario support is only doing the production deployment.
Hi Pooja,
To successfully implement DevOps you really need to integrate it into the end-to-end process from development all the way through to production.
Here it will allow you to integrate and automate the checks I refer to above in the development and QA processes so when it comes to production deployment you will be a lot safer and quicker.
In your scenario I would suggest that you discuss these processes with the development teams involved so they can enhance their processes as part of an improved end-to-end delivery methodology.
James
Dear James,
I would like to know some good tips for SAP Basis admins on how to adopt DevOps. Is it also about using the right automation tools to deliver faster testing environments? What else would you consider as important?
Thank you for an insight.
Best regards
Tina
Hi Tina,
As mentioned in some previous comments, DevOps really needs to support and buy-in of all teams in the development & delivery process, from development, QA, Basis and the business teams.
The Basis team should really be well connected to the development team and attend standups so they have visibility of what's coming and the potential impact on systems, infrastructue, security, etc.
You also want to automate all the transport checks and deployments so the Basis team don't need to get involved unless there are issues.
And, from a testing perspective you'll want to have a fast and repeatable process to spin up/refresh QA environments and apply the relevant transports quickly and often. Some customers are using Docker containers in SAP now to store lightweight images of QA systems that can be quickly deployed for test cycles and then destroyed / refreshed when done.
You'll likely be running parallel development processes where teams might have separated Dev & QA systems which then merge into a central Dev branch. For this you need to have SAP change automation tools that allow simple system and transport path maintenance but also effectively manage development conflicts and merge processes.
Hope this helps.
Thanks,
James
Hello James
Thanks for your great article about DEVOPS. I have few doubts as i am working as a BASIS Consultant. what is the process for deploying DEVOPS in to a running SAP DEV and QAS systems (i guess it could be patches or sap notes or add-ons)? What exactly the BASIS consultant will do after a successful deployment of DevOps in to SAP Systems? I used to work with Transport expresso for one of my previous client, is there a big difference between Transport expresso and DEVOPS to move transports in to QAS system? Auto import is already there in SAP systems, we can import transports without manual intervention by using this option ( we can increase the import frequency). Does Devops work faster than this option?
Requesting you please clarify my doubts. Thanks in advance.
SK Narayan.