I am frequently asked if DevOps principles can be applied to legacy environments such as SAP. They clearly can, with some tailoring. But you should be aware of certain constraints.
An agile transformation from conventional IT (where the SAP software delivery process is split between business analysts, development, the QA department and IT operations) towards an agile DevOps organization requires the following steps:
- Organize development teams by business capabilities rather than technology – when defining the structure, ensure teams can work as autonomous and independent as possible.
- Upskill business analysts to product owners.
- Organize development output by agile principles using SCRUM or KANBAN.
- Successively move QA into development teams – a separate QA team can take responsibility for automation of regression, security and performance tests, but should not be involved into day-to-day testing activities.
- Successively augment development teams with job scheduling know-how.
- Introduce automation tools to ease the promotion (transport) process for changes into upper environments and, ultimately, production.
- Add unit test and static code analysis (e.g. for security and performance checks).
- Automate regression, security and performance tests.
- Focus responsibilities of the SAP platform team on managing the platform (monitoring, patching, upgrading, environment provisioning and refresh, performance testing) and leave the transport of changes (“deployments”) to development teams.
- Use automation tools for environment clone and refresh.
- Move the SAP platform team towards KANBAN.
While these steps are similar to agile DevOps transformations in other technology contexts, the specific automation tool chain is very different.
Instead of using Git, Jenkins, Ansible or Chef, you are dealing with tools from SAP and third-party vendors for code inspection and analysis, transport management, test automation, environment refresh, performance testing and more. This requires skills that can be hard to find. In addition, different tools may be used to cover different SAP platforms (the “ABAP-Stack” and the “Java-Stack”).
There is another peculiarity for SAP: Although new technology supports fast cloning of isolated SAP environments and their continuous refresh with current data, this is constrained to certain infrastructure. The costs and lead times to provision and manage a single SAP environment remain relatively high.
Therefore, several teams will often have to share a single SAP environment for development, testing or release purposes. This requires coordination and sets limits to continuous delivery. In the best case, daily production deployments can be achieved by opening the pre-production environment for transport and application tests over a couple of hours, then locking it for another couple of hours for regression, performance and security testing (including batch) and production delivery.
In summary, many principles of DevOps can be applied to SAP application delivery, if peculiarities are taken into account.
While continuous deployment for SAP environments remains an ambition, daily releases can be achieved today.
DevOps Dozen Awards! Automic is currently nominated for a DevOps Dozen Award in the Release Management and Continuous Delivery categories. Vote for us today!