Enabling Developer Services at SAP
Reshaping the DevOps process
SAP, the market leader in enterprise application software that helps companies of all sizes and industries run better, has reshaped their processes to enable the speed developers need. In this article, Ran Kahal and Martin Schygulla share insights on their mission to provide developer services at SAP. Ran is director of SAP’s DevOps Center of Excellence (CoE); a worldwide team operating in geographically distributed areas like Germany, Israel, France, Mexico, and the United States. His organization creates and manages a variety of test infrastructures where developers can work on their applications. Martin works within that group as DevOps Automation manager for a team that handles Chef, anything else related to automation, and policy enforcement.
Using Automation to Manage Complexity
SAP’s DevOps CoE began using Chef about two years ago. The CoE manages approximately 10,000 nodes, where about 70% of those machines are Windows servers. The group manages a variety of infrastructure types.
“We can build a simple single server, any type of OS, applications, development tools, and databases,” says Ran. “On the other hand, we can also build large, complex networks that we call landscapes. These [landscapes] can include any number of application servers, database servers, and web servers. We do this for hundreds of development teams and each team is different. We build solutions for teams with 10 members and for teams that have 500 members.”
Before Chef, the group used a wide variety of tools. Ran tells us, “We used any scripting language. We used bash, we used PowerShell, we used Python, every script that you can think about or is available. When we were introduced to Chef we slowly started to write the automation and switched to Chef for these deployments.” Chef introduced a common language with cross platform support and the flexibility to automate the most complex of use cases.
Ran Kahal, Director of DevOps Center of Excellence
We used any scripting language. We used bash, we used PowerShell, we used Python, every script that you can think about or is available. When we were introduced to Chef we slowly started to write the automation and switched to Chef for these deployments.
Enabling Developer Services
At SAP, every development team sets up their own continuous integration and continuous delivery (CI/CD) pipelines. But they rely on the tools and automation that Ran’s group provides. They might use UCP to set up their pipelines or they might access the cookbooks themselves from the group’s internal GitHub repositories and use other tools, such as Jenkins or Travis CI. Regardless of the individual team’s needs, with Chef the CoE is able to provide a flexible solution allowing developers to compose the solution that is right for them.
Although developers cannot make changes to Chef cookbooks directly, they can issue pull requests (PRs), which Martin’s team review. Martin says, “Of course, we have standards that the PR must meet and we also have to keep the whole picture in mind. Cookbooks are used by many teams. We can’t merge a change that’s a special case and that might break something for 20 other teams.
In order to meet the needs of a variety of teams it’s essential for organizations to encourage this type of collaboration through code.
Martin Schygulla, DevOps Automation Manager
“If it’s a pull request that makes sense, then we accept it. If it’s not, we need to communicate with the developer about why we rejected it and maybe see if we can implement it in a different way. We welcome contributions to our cookbooks. Everything is open, everyone can see the cookbooks, review them, and create issues or pull requests on that repository.” In order to meet the needs of a variety of teams it’s essential for organizations to encourage this type of collaboration through code. It’s also important to understand where to hand off responsibility.
Martin says, “Developers can, of course, fork a cookbook, rename it, change the owner and then make whatever changes they want, so long as they’re willing to be responsible for it.”
From back office to the boardroom, warehouse to the storefront, desktop to a mobile device, SAP software empowers people and organizations to work together more efficiently and use business insight more effectively to stay ahead of the competition. SAP applications and services enable more than 345,000 business and public sector customers to operate profitably, adapt continuously, and grow sustainably. SAP knows what it means to enable developers to deliver quickly. We thank the team for taking the time to share their story.