RBC Serves Millions of Customers Digitally—with IBM Bluemix, Blockchain, and AI

For its digital transformation, the Royal Bank of Canada bets on the Bluemix platform and microservices, combining mobile and AI technologies.
Why read this?
Use Case for Cloud Foundry:

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.

Business or Technical Result:

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.

Lessons learned:

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
    CF deployed to:


    What else is in the stack?

    Bluemix Local, Bluemix Dedicated, IBM Watson, Java, Spring, AngularJS, Apache JMeter

    Cool fact about deployment:

    RBC has trained 500 of its developers to work with Bluemix, as well as created a certification program.

    Company Description:

    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.

    Cool fact about the company:

    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.”

    IBM InterConnect 2017 Online Banking Bluemix Surya Duggirala v3

    “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:

    Francis Li

    Francis Li

    • 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

    end-to-end-workload-ibm-bluemix-royal-bank-of-canada-v11The prototype’s architecture and end-to-end load flow (Source)

    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.

    IBM InterConnect 2017 Online Banking Bluemix dedicated results v2Running 830+ tps on Bluemix Dedicated (Source)

    “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.

    IBM InterConnect 2017 Online Banking Bluemix diego resultsHigher throughput on Diego (Source)

    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.”

    IBM InterConnect 2017 Online Banking Bluemix Bruce Ross

    “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.”

    IBM InterConnect 2017 Online Banking Bluemix Bruce Ross v2

    “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

    About the experts

    Bruce Ross, RBC bio
    Bruce Ross is Group Head of Technology and Operations at RBC. He is responsible for the strategy and overall management of global technology and operations for RBC, which includes applications development, infrastructure, and enterprise operations. In addition, as a member of Group Executive, Bruce is one of the nine executives responsible for setting the overall strategic direction of RBC. Prior, he was also a member of IBM’s Strategy Team, which set the long term direction for the business including its investments in emerging markets, cloud, and analytics.


    Surya Duggirala, IBM bio
    Surya Duggirala is a Senior Technical Staff Member at IBM. He is responsible for Architecture and Performance of the IBM Bluemix Cloud Platform. He directs a globally distributed team responsible for Bluemix performance engineering. Surya also leads Cloud Architecture Solution Engineering performance workgroup focused on various industry domain architectures. His special interests include designing microservices applications using scripting and cognitive technologies targeted for cloud. As a Global Technical Ambassador (GTA), Surya works with many customers, partners, and ISVs across the world on cloud, application integration, performance, and architecture.


    Francis Li, RBC bio
    Francis Li is Senior Director of Digital Architecture at RBC. In this role, he is responsible for continually transforming the bank’s digital channels—mobile and web—both customer facing and internal to maintain its market position as an agile and innovative provider of financial services.


    This post was written by Carlo Gutierrez, Alex Khizhniak, and Sophie Turol.