Building cloud scalability and stability with a services mindset
Scaling software services in the cloud involves a radical change in how we build and operate applications. Today, SAP SuccessFactors has over 5,000 customers and 40 million users, and our transactional metrics are increasing by more than 100% year-on-year. As the business grows at this accelerated pace, we have to think differently about how we deliver reliable and stable services for many more millions of transactions each day, while continuing to deliver the innovations we’re known for to our customers.
Our customers buy not only our applications, but also round-the-clock service for their mission critical functions in HR. That is why we have been focused on delivering the second S in SaaS: service. To run services at scale, stability has to be a priority for everyone in the product delivery organization, from those designing brand new capabilities and enhancements, to those writing the software code, and those running the applications in a data center. Yet, product management, development and data center operations have traditionally been separate and distinct groups in software organizations. We are changing that with an end-to-end cloud service delivery model.
As the first step, we brought together product management, engineering and data center operations into a single product delivery team last year. We have now been setting up service delivery teams, each of which draws from the three product delivery groups and is responsible for safely delivering innovative new capabilities while simultaneously ensuring the stability of infrastructure, operations and production code.
Today, the product managers, developers, and operations engineers are jointly accountable for each application’s performance and availability. They have to think broadly, and adopt a “team” mentality to assure stability with innovation. The reality of cloud is that customers expect 24/7 availability. And when there is a service issue, we have a team with the cross-functional skills and leadership to effectively address the problem, get to the root cause, and take the necessary steps to make sure it doesn’t recur.
Rooted in the DevOps model, this way of working forces greater collaboration between product management, developers and operations, and ultimately enables us to innovate faster. We saw the benefits of the new approach earlier this year with two system performance/stability innovations that we were able to successfully and safely implement during the traditional Dec-Mar talent management “peak season”.
In one case, our operations team uncovered Java transactions that were consuming more system resources than they should. Partnering with SAP platform experts, we identified a fix to our Java Virtual Machine layer to reduce resource consumption. We deployed the fix first into customer preview environments, expecting a 5-10% reduction in system resource utilization, but we actually observed a decline of over 30%. Thus encouraged, we rolled out the fix into all environments and we saw 30% resource reduction across the board.
In another instance, we observed that our integrations to external applications were inefficiently generating new login transactions, when existing logins from the same account could be securely reused. We designed a new login reuse approach for our integration APIs. The result? A reduction in login transactions by 25%.
These successes are what’s possible when we bring a true services approach that breaks down silos, gets the right people doing the right thing, and improves the customer experience. After all, we do believe success is simply human.