How VTB implemented a 2TB cache for hot data
cover

How VTB implemented
a 2TB cache for hot data

VTB is the second‑biggest bank in Russia in terms of assets and profitability. It serves more than 16 million individuals and more than 1 million legal entities and entrepreneurs. A mobile banking service, VTB Business Lite, has been created for the bank’s business clients.

Scroll

Task and requirements

VTB Business Lite is a mobile banking service for legal entities and entrepreneurs. It allows you to manage salaries, exchange currency, open deposits, order certificates, and conduct other banking operations.

The mobile application was released in mid‑2020. It is built on monolithic backend technologies for remote banking. During operation, it became clear that such a solution was difficult to maintain, update, and adapt to growing loads — even then the application had about 100,000 users. A transition to a microservice architecture was required. It began in April 2021.

After the transition, systems storing user data about transactions, balance, connected products, linking a legal entity to a physical one became independent. Since client data were now being collected gradually, data exchange was taking a long time, and information in the mobile application was received with delays. The problem worsened as the number of the application users grew.

To solve this microservice architecture issue, it was vital to find a new solution that would allow:

  • Reducing the delay in data exchange between the bank’s internal systems and the VTB Business Lite mobile application. Since user data was stored in different services with different SLAs for response time, the exchange could take up to several seconds, which created a high load on the infrastructure. As a result, it was taking too long for the information in the application to update.
  • Improving system fault tolerance.
    An increase in the number of users in the future could lead to problems with processing and accessing data.
  • Increasing request processing speed.
    A too large number of requests to the main services could cause delays in their work, as well as problems with other users of the main services data.

Solution

Technical requirements

Omnichannel platform architecture

Implementation details

Results of Tarantool implementation

Solution

icon

A persistent cache could eliminate delays in processing requests and guarantee application stability. This cache should be able to:

1. Receive data from the operational storage, not from the main system. The main system serves a huge amount of clients and cannot always provide the required speed.

2. Ensure that the cache is up-to-date through asynchronous data updates from the message broker. And also when directly accessing the REST API of the main systems.

Technical requirements

icon

The VTB team was looking for the required solution based on several criteria:

  • It is among the technologies that can be safely used in banking software.
  • Provides persistence and scalability.
  • Easily integrates into the current application architecture.

Only the in-memory computing platform Tarantool met all the criteria.

Its implementation began in August 2021.

Omnichannel platform architecture

Implementation details

The Tarantool in-memory storage was implemented simultaneously with the transition of the VTB Business Lite mobile application from a legacy monolith to a new omnichannel platform based on microservice architecture. Because of this, it was necessary to not only integrate Tarantool into the architecture, but also adapt it to the main systems, the parameters of which changed several times during the project.

It was also important to implement Tarantool and redirect streams of user data to it without causing services downtime and disrupting user access to their data.

Additional complexity was posed by the tight deadlines for the project. They could not be shifted due to the fixed date of the planned user migration to the new microservice platform.

All difficulties were overcome, and now the Tarantool platform is used as a storage for a warmed-up cache of prepared data. It interacts with all systems that store user data.

Results of Tarantool implementation

icon

Today, the VTB Business Lite mobile application has 300,000 users, which became possible, among other things, due to the implementation of Tarantool. The implementation of Tarantool allowed:

  • Caching user data. This ensured that data in the application was updated almost in real time. The response speed was reduced to tenths of a second.
  • Increasing the fault tolerance of services. Data from the hot cache is available even if there is delay on the main systems side.
  • Expanding system capacity. According to the results of load tests, Tarantool is capable of processing up to 5 000 requests per second.

icon icon icon
Scroll

Results

700 GB

The volume of the hot persistent cache of user data: legal entities, individuals, information about accounts, transactions, available client services and products, etc.

0.2–0.4 seconds

Response time with load reaching 15,000 RPS

Up to 2 TB

Can be stored in a scaled in‑memory Tarantool storage.

Get a consultation

Order a demo

Thank you for your request

Tarantool experts will
contact you shortly