Building a Continuous Integration/Continuous Delivery pipeline for greater competitive agility
I saw something amazing on social media the other day: a young person solving three Rubik’s Cubes in a matter of minutes but doing so while he was actually juggling them. Juggling them! It was a sight to behold and one of those feats that social media is good at showing the world. If you have 5 minutes to spare it is certainly worth a look.
It made me wonder if perhaps many SAP users look at DevOps in a similar way. Does the idea of managing multiple projects and initiatives at the same time as trying to piece together the puzzle of DevOps feel like juggling and solving three Rubik’s Cubes at once? After all, sometimes it’s hard enough to concentrate on juggling what’s already in front of you!
Ahead of the largest SAP event of the year, SAPPHIRE NOW, I certainly understand that feeling of trying to do lots of things at once. We’re in the process of organizing our biggest-ever SAPPHIRE booth to showcase the new continuous delivery and testing innovations that we’ve developed over the past 12 months, while at the same time working with more and more SAP users who want to understand how they can adopt DevOps without ‘dropping’ any projects to the floor.
That being the case, I thought I’d try to offer some background on the key steps to consider when building an effective, automated Continuous Integration/Continuous Delivery (CI/CD) pipeline and how our automation software can help. There’s no doubt that once you have the tools in place to get a slick, automated delivery process, juggling projects and solving problems at the same time becomes a whole lot easier!
We’ll be demonstrating all of this and more at SAPPHIRE NOW 2018, so if you’re planning to visit the show and would like more details on any of these topics, please stop by and see us at booth #951.
Integration with backlog management software
An integrated toolchain is the bedrock of a slick DevOps process. In an earlier blog, I talked about how it’s critical that the products used in an SAP landscape - like our very own ActiveControl and Testimony - are connected with other software development tools used in the organization.
For example, a great backlog management tool is an essential part of the CI/CD process. One of my favorites is Jira, by Atlassian Software, although there are plenty of others on the market. Whatever you choose there needs to be tight integration between the backlog management tool and the actual developments (transports) within your SAP systems.
This is where the out-of-the-box integration with ActiveControl comes into play. Once a developer picks up a story in, say, Jira, and starts development, the transport(s) created are linked back to the User Story so that you always have complete visibility and control over the story and the underlying transports in SAP. And as priorities change we need the ability to update things quickly and easily.
Shifting testing left
Once a developer has completed their work, we hit our first governance point – ensuring that the development conforms to standards, has been unit tested and any appropriate documentation completed.
It is also important the developer is informed when their code depends on something that isn’t being moved forward at the same time.
All of these checks can be automatically performed when the developer enters their unit test results in ActiveControl - so we catch any issues before going any further. We call this functionality ShiftLeft (checking things as far left in the process as possible).
Talking of shifting left, another key component of DevOps is continuous testing. If you have the means to test earlier and at higher speed, you can dramatically reduce the risk of unexpected issues when delivering change more frequently. Our Robotic Test Automation tool, Testimony, helps here by facilitating fully automated regression testing in a way that’s never been seen before.
Revolutionary technology like Testimony allows regression testing to be ‘shifted left’ and run on a daily basis, so developments can be regression tested as soon as they are completed. Once we know that the ‘User Stories’ (a way of describing new features in agile development) have not only been checked for dependencies, quality, documentation, issues - but also fully regression tested - we can then automatically deploy the story to our QA system(s) so that the Testing and Business teams can ensure the new developments meet their requirements.
ActiveControl comes into play in the testing phase too. During progression testing of User Stories (User Acceptance Testing, for example), it is important to understand several things. Firstly, which test scripts need to be executed. But then we also need to know if there are any other User Stories in the QA system that might affect the testing of one we are interested in. In short, we want to know that the User Story is not just tested properly, but that those tests are valid.
What’s more, we also need to know if this User Story impacts any critical areas of the system or if it contains any risky technical objects, as this may mean additional testing and/or approvals are required.
ActiveControl comes to the rescue once again here. It can automatically analyze the User Story and give you all of the necessary information, allowing you to know for certain that the appropriate level of testing and sign off have been completed before moving forward in the process.
Ready for production? That depends...
We now have a User Story that has passed regression testing and progression testing and is ready to deploy into production whenever we want. When it is approved to production, but before deployment, we need to ensure that any other User Stories that it depends on (see my previous blog on dependency management) are approved at the same time.
It is also possible that there are dependencies on other non-SAP changes, so we might want to have an integration point here with non-SAP CI/CD tools. Applications like GitHub can be integrated with ActiveControl to give full visibility across your SAP and non-SAP changes to allow and control co-ordinated deployment across multiple landscapes.
Once the approval into production has been given, ActiveControl can orchestrate the deployment into one or more SAP systems, ensuring any cross-system dependencies are met and any manual activities that need to be performed are notified to the right people at the right time.
And finally, however many automated checks we perform on a User Story, there is still a small possibility that it may cause an issue when moved into production, so the ability for ActiveControl to back out transports could be used to get the system back up-and-running in a matter of minutes, in case of any issues.
So that’s our take on an end-to-end Continuous Delivery process for SAP systems – not forgetting, of course, that the final part of CI/CD is Continuous Improvement, and that is where our DevAnalytics module can be used to uncover waste and process blockers, allowing us to continuously improve the process we put in place.
Meet us at SAPPHIRE NOW
Don’t forget, if you are heading to SAPPHIRE NOW take the opportunity to meet us in person on booth #951 and hear first-hand from our customers about how they are using automation to achieve greater business agility.
To learn more about CI/CD integration watch our webinar 'How to integrate SAP with your CI/CD pipeline'.