RBC Serves Millions of Customers Digitally—with IBM Bluemix, Blockchain, and AI
Digital banking: Developing and rolling out new products at a faster pace, ensuring customers enjoy a mobile experience, and becoming a "software-as-a-service" provider of banking services.
With Bluemix and an Agile approach to development, the bank is now deploying new banking applications every two months with a possibility to do it as fast as they wish. RBC now has 30 apps in production, 150 apps under development, and 12 million of registered customers using their online banking app.
Before improving any of its assets with new technology, the bank itself needed to transform its engineering culture:
- Instead of trying to speed up established processes, work out a strategy to run them differently
- Communicate with the team on a day-to-day basis, educate / train developers
- Use the accumulated assets to the fullest
SoftLayer
Bluemix Local, Bluemix Dedicated, IBM Watson, Java, Spring, AngularJS, Apache JMeter
RBC has trained 500 of its developers to work with Bluemix, as well as created a certification program.
The Royal Bank of Canada is the largest bank in the country, founded in 1864. It has 16M+ customers and 80,000+ employees around the world, running around 400 million transactions per day.
In 1970, a cartoon version of the bank's logo was advertised as part of the Leo’s Leaders Savings Club.
The need to “unlearn and learn again”
Digital transformation is affecting multiple industries and creating new challenges in finance.
Following the trend, the Royal Bank of Canada (RBC) decided to optimize the organization’s processes and services delivered. It is the largest bank in Canada, which has 16M+ customers and 80,000+ employees around the world, running around 400 million transactions per day. Bruce Ross and Francis Li of RBC and Surya Duggirala of IBM shared the bank’s experience on its way to digital transformation at IBM InterConnect and Cloud Foundry Summit 2017.
“Our clients are looking for a digital experience,” said Bruce. “They want to see their money wherever they are, whenever they want to see it, and whatever form factor they want to see it.”
“The way we interact with our customers is constantly evolving,” added Surya. “From simple queries to deep Q&As, how we understand our data has changed. Where we run our workloads does not matter anymore.”
“Digital is forcing us to unlearn and learn again.” —Surya Duggirala, IBM
The RBC’s decision to transform came out of the need to switch to a more efficient development cycle that would cater to evolving customer needs. However, RBC faced a bunch of challenges on their way to digital transformation:
- Redesigning legacy systems to work with a new technology
- Transforming monolithic apps into microservices
- Integrating cloud services
- Securing all applications
- Exposing internal resources through APIs
- Adopting a new organizational culture
Running monolithic online web apps for years, RBC wanted “to go more Agile, go for more frequent releases, and add more functionalities,” said Francis. “To help us do that, we needed to leverage cloud, and Bluemix was one of our primary considerations at the time.”
“We selected the hardest and most complex online banking web page in production and ported that page to Bluemix.” —Francis Li, RBC
The question was, would Bluemix perform and scale well enough to be used for banking?
Online banking on Cloud Foundry / Bluemix
To evaluate Bluemix performance, the team created a prototype of a future app. According to Surya, the application would “simulate a customer-facing retail online banking scenario” to highlight the real-world requirements:
- Support for 500–600 transactions per second (tps) at sub-second response times
- Horizontal scaling with both static and auto-scaling
- Stable performance at a peak load for 12+ hours
With regard to the end-to-end load workflow shown above, Surya mentioned that the architecture “loosely followed the microservices design pattern”:
- The orchestrator service receives REST API calls from the browser UI, running account summary page with AngularJS.
- The stub service, which represents back-end requests, returns pre-loaded back-end data.
The both services were deployed in DEA’s Warden containers, explained Surya.
Achieving 1,500+ transactions per second
The prototype was tested in Bluemix Dedicated and Bluemix Local environments. Two JMeter load drivers were sending millions of HTTP requests to the app, using hundreds of concurrent clients. The sustained peak load was applied continuously for 6–24 hours as an endurance test to make sure that the app can withstand the peak load with no stability issues.
First, the application was run on Bluemix Dedicated. Performance was stable for 24 hours, with the average 831 tps surpassing the required 500–600 tps. Six application instances supported 21 million API requests with two JMeter drivers.
“Even at this peak load, only 25% of the DEA’s capacity is used, leaving lots of room for other applications,” said Surya.
Next, the application was run on Bluemix Local with the same static and auto-scaling techniques for horizontal scalability. Performance was also stable for 24 hours, achieving 760+ tps. Five application instances supported 4.75 million API requests with one JMeter driver.
The results above were based on the performance when the DEA architecture was default for Bluemix. So, the team also evaluated how it would improve with Cloud Foundry’s Diego.
During the four-hour peak load, more than 53 million API calls resulted in 1,500+ ops per sec with an average 765 millisecond response time. “The average CPU consumption of each instance of the stub application is about 25%, which is about 6% of cell capacity,” Surya said.
Surya’s presentation and in-depth write up provide more details about this proof-of-concept. “Other major apps in the banking industry like wealth management, customer reward management, investment banking, and others can directly benefit from this work,” he notes.
Adoption and production roll outs
The tests were able to meet the RBC’s requirements for throughput, scalability, and resiliency—resulting to production. Bruce Ross shared details of the Bluemix roll outs during a keynote session.
“We have 30 Bluemix applications in our production environment today. We have some of our most critical applications that are using Bluemix online banking, which has 12 million registered customers on it,” said Bruce. “They’re mission critical applications in production for us. We poured 20 years of data in the last six months into the RBC data lake. Not just born in the cloud, it is the cloud.”
“Take the leap to use the new tech and be the early adopters. Agile, data, analytics, and cognitive APIs—we’ll be a Software-as-a-Service provider to our customers.” —Bruce Ross, RBC
The adoption of Bluemix has helped RBC to move to a more Agile approach of development. Microservices have also made it easier and faster to deliver applications.
“We’ve got Bluemix Local and we’ve got Bluemix (Dedicated) in the public cloud. We can go seamlessly between them,” said Bruce. “IBM can handle the integration effort and we can focus on building the microservices.”
Bruce also emphasized how RBC was able to accelerate delivery with continuous integration and continuous deployment. “When you’re trying to do continuous integration to actually deploy in production, you have to look horizontally,” he explained.
“We used to deliver one new release of online banking a year. Now, we can do it in as fast as we want. We do it every two months, but we can do it faster, if we wish. Our development teams today are massively more productive. What used to take weeks—getting a server, a middleware, and all these environments, so you can be productive—can now be done in minutes.”
—Bruce Ross, RBC
According to Bruce, the bank’s mobile app adoption is growing so fast that it will exceed the correlated web service usage within the next 6–8 months.
A new culture and lessons learned
Before any meaningful changes could happen, RBC itself had to transform. The culture of the organization needed to change. According to Bruce, they had to adopt these three principles:
- “Are we thinking about everything we do directly with a business outcome? If we can’t draw a straight line between what we’re doing and a business outcome, then we should talk to the manager, we’re doing the wrong thing.
- We have to take the leap to use the new technologies, to not be afraid of them, and to be the early deployers of them to see how they all connect together.
- We have to innovate for the future. We have to look three years ahead and then dedicate resources to it. We then try to advance it as quickly as we can.”
“You don’t have to be an engineer to have an engineering culture.” —Bruce Ross, RBC
Getting legacy systems (and data) to work with new technology was also crucial to RBC. “Legacy is a massive strength that you can then exploit to create a new experience,” explained Bruce
“It’s not just a digital relationship of everything that we did yesterday. It’s a completely new business.” —Bruce Ross, RBC
Bruce stressed that RBC can now focus on business metrics when developing products, such as how much money the company put in, what the mobile adoption rates are, etc.
Transforming with AI, mobile, and blockchain
Employing Bluemix, RBC has leveraged other technologies available through this platform.
So far, RBC is working on utilizing Hyperledger-based IBM Blockchain to improve on digital identity management. (At the same time, the bank’s new customer rewards program utilizes another blockchain—based on the Manifold platform.)
RBC is also using Watson for cognitive learning and implementing cognitive assistants as part of its mobile strategy. One of the recent examples in this area is enabling personal banking transfers using the Siri voice assistant.
The bank makes use of the MaaS360 platform, which helps to manage and secure mobile devices. Actionable insights to security policy are gained through correlating data gathered from IBM X-Force Exchange and Mobile Metrics.
“There is enormous potential in unified endpoint management,” said Brian Jacome, Senior Product Manager at RBC. “With this capability, we are able to get an in-depth feel of our device landscape instantly helping us to make decisions faster.”
All of the services described here are part of the bank’s digital portfolio, which is constantly evolving, and its transformation strategy. The new cloud-native delivery model—based on the platform, microservices, etc.—has already helped RBC to reduce the number of production incidents by 90% in less than 18 months.
Want details? Watch the videos!
Surya Duggirala and Milorad Stefanovic overview the architecture of RBC’s online banking app based on Cloud Foundry (Bluemix), as well as the results the bank achieved.
In this video, Bruce Ross talks about the digital transformation within RBC (at the 1 hr 12 mins mark).
Related reading
- Canadian Financial Institutions Are Adopting Blockchain: 6 Success Stories
- Digital Transformation in Banking: New Challenges for a New Era
- IBM Bluemix Local: 5 Most Common Use Cases
About the experts
This post was written by Carlo Gutierrez, Alex Khizhniak, and Sophie Turol.