After Outsourcing Failed, SoftBank Sparked a Software Revival with Spring and Pivotal

November 22, 2019 Jared Ruckle

Today, everyone knows that you need great in-house engineers to help your company differentiate with software. But that wasn’t always the case. Consider SoftBank Payment Service.

A few years ago, the group relied exclusively on external vendors for its development. According to Junya Suzuki, a SoftBank engineer, during a talk at SpringOne Platform 2019: “In 2016, when I joined the company, we relied on external vendors for all development. Zero internal engineers writing code. No development environment set up.”

It’s easy to see why the group wanted to control its own destiny. Online payments and banking in general is becoming more complex. SoftBank Payment Service is smack-dab in the middle of countless merchants (across all sectors of the economy) and a growing number of financial institutions. You need API-driven ways to support and optimize these ever-changing relationships.

Source: SlideShare

So where did Softbank go to start its journey to software excellence? Spring Boot and Spring Cloud. According to Suzuki, “A Spring-based architecture [made it] possible to perform modern development and operations.”

Once you make the call to standardize on Spring, the rest of your modern toolchain and modern platform comes into focus. Concourse and Pivotal Platform are a natural choice. And for SoftBank, it was important to extend their deployment with popular open-source observability tools like Prometheus, ElasticSearch, Grafana, and Micrometer.

Source: SlideShare

According to Suzuki, the decision to choose Pivotal Platform was all about the developer experience, because the platform “makes it possible for developers to focus on application development and deploy applications quickly.” The developer’s favorite feature: cf push.

Having a modern application stack is all well and good, but what really matter are the outcomes, which Suzuki also highlighted in the slide below.

Source: SlideShare

The best part: All this was accomplished—getting apps running in production, with only 6 people—in less than 6 months! No matter how recently you decided to bring developers back in-house, this proves there’s hope for you, as well.

The talk (embedded below) is full of technical specifics, but here are two quotes where SoftBank’s Suzuki and co-presenter Daichi Kimura discuss their reasons for choosing Pivotal and the major benefits they’ve experiences as a result.

The Best Platform for Your Developers is the One that Makes Them More Productive

Kimura: “There were three major requirements for the platform. Firstly, improvements in the release process. Secondly, we wanted to achieve full utilization of the cloud. We searched for a platform to meet these two requirements. As for the platform, Kubernetes is very popular and I'm personally interested as an engineer. However, the learning costs and maintenance costs are high, and it takes substantial effort to build out a platform—more than our small team would be able to deliver in a timely manner. We didn't want that to become the bottleneck.

“Therefore, we decided to select a PaaS, which is a proven platform. This makes it possible for developers to focus on application development and deploy applications quickly. The final choice was the Pivotal application service, the PaaS of the pivotal platform. The reasons for selection were, great integration with Java Spring applications, plenty of support for platform introduction [and] operation, and the ‘cf push’ experience to deploy apps.”

People, Process, and Tools Yield Remarkable Business Outcomes

Suzuki: “First, we established an internal development team and worked to improve operations. Then, we introduced the Pivotal Platform and extended it with a range of technologies from the ecosystem, like Grafana, Prometheus, and the Elastic stack to improve observability. On this platform, we [were] then able to build a complete in-house payment system in just 6 months using agile development [and] continuous delivery. 

“So what did we get from the platform? First was release improvement. Release time has been greatly reduced and zero-downtime release is now possible. The release is one click, so no human error occurs. The second was for use of cloud. Scale out and auto scaling is now possible.”

About the Author

Jared Ruckle

Jared works in product marketing at VMware.

Follow on Twitter Follow on Linkedin More Content by Jared Ruckle
Kubernetes is a platform for building platforms. Here's what that means.
Kubernetes is a platform for building platforms. Here's what that means.

Doing Kubernetes right means understanding what it's good at and good for.

How Liberty Mutual Empowers Developers Through Education
How Liberty Mutual Empowers Developers Through Education

Insurance leader Liberty Mutual uses a wide variety of education methods to keep its developers sharp and l...

SpringOne 2022

Register Now