Netherlands-based Rabobank is a great example of a well-established business with a highly functioning IT infrastructure that chose to migrate to Cloud Foundry and microservices to take advantage of what these cloud native technologies offer.
Vincent Oostindië, a business architect at Rabobank, explains: “Even though Rabobank is more than 100 years old, we are working on a lot of digital projects, and our previous technology was getting old.”
Rabobank is the third-largest bank in the Netherlands, and one of the largest in the world to focus on the food and agriculture business. It has a presence in 39 countries, with more than 7 million customers in its home country and about 1.2 million international customers.
Always an Early Adopter
As a longtime leader in its use of IT, Rabobank first launched its website in 1996, then started providing mobile services in 1999 — a very early adopter of online banking. It created a Websphere-based portal 10 years ago, scaling it out to support 400 apps with 2,000 transactions per second and 2 million customer logins per day by 2018.
But, according to Vincent, “it was time to move on.” The team faced scalability limits and it became increasingly difficult to add new apps and do the required load balancing. They also needed to move from simply being agile on the development side to creating a true DevOps culture, in which you can build and run something. The team needed to migrate its portal to microservices to achieve this goal.
Vincent and the other members of the Rabobank team focus on the architecture for the public website’s customers in the Netherlands, its online banking services, and related apps. The previous architecture already featured “applets” that “looked like microservices” to provide specific services such as making payments, applying for loans, or viewing account transactions. All functionality was rendered on the server side and “it worked pretty well,” according to Vincent.
From PoCs to Portal
Because it was already so forward-thinking, Rabobank’s the move to microservices did not represent a sea change in their business thinking, even as it required profound changes in technology. The Rabobank team started to think about cloud computing in late 2015, then went out the next year to find a platform. It first worked with open source Cloud Foundry, then with VMware (PCF) and IBM Bluemix to create proofs of concept (PoCs).
Vincent stresses the Rabobank team has always wanted to control development, and sought advice from its vendors rather than actual programming services. It started with Docker containers and the Mesos OS – “Kubernetes did not exist when we started” Vincent points out – on its journey to working with the Spring Boot framework (which is owned by VMware).
Today, Rabobank’s new microservices-driven architecture runs on VMware Cloud Foundry and reaches out to Microsoft Azure in the public cloud. New apps are developed through the prism of four abstractions: functions/services, apps, containers, and VMs.
Developers tend to look at this list from the right to the left, moving from virtualization towards higher-level abstractions, where the architect’s job is to view things from the highest possible abstraction first.
The net-net for Rabobank’s team is there are now 300 DevOps teams with most of them operating at the apps level.
“They are not there to manage clusters or do other things with containers,” Vincent says, but rather to focus on what the apps can do. “Our new platform takes care of VMs, load balancing, and all the other hard stuff,” Vincent notes.
“Our teams just push their apps to the public cloud.”
The Migration Continues
Meanwhile, the Websphere platform is still running, but could not scale out to 300 teams, as they did with the new platform, without 60 to 70 extra people to manage it. Vincent and just two other people manage the new platform, he says.
Yet a large migration challenge remains, as many of the old apps don’t support Spring Boot. Vincent explains the Rabobank team is creating a migration path in which the new platform mimics many of the existing APIs, which were all set up to run through a JVM (Java Virtual Machine) but will now be supported by separate microservices. They already have URL security microservices, for example, and another to store user preferences.
A concerted program to develop documentation, accompanied by a series of workshops, demos, events, and dojos is part of Rabobank’s migration strategy. Vincent says there are now more than 100 teams focused on Azure, with about 900 application instances.
“We’re still growing and will continue to grow,” he says, “even though the size of the team that manages this portal doesn’t need to grow.”
Readers who are interested in hearing Vincent Oostindië speak about Rabobank’s migration to microservices can view his presentation from the 2018 Cloud Foundry Europe Summit: