How Russia's oldest bank found itself on the leading edge of in-memory computing

31.05.2016
It's not your average company that can trace its origins back to a nineteenth-century Russian tsar, but then, Sberbank is no average financial institution.

Established through a decree by Emperor Nikolai I in 1841, Sberbank is Russia's oldest bank and has played a long and storied role in the nation's history. Today, with more than 16,000 branches in all 83 constituent entities of the Russian Federation -- traversing 11 time zones -- it serves roughly 70 percent of the Russian population.

Therein lie the roots of the bank's very modern challenge.

Whereas once virtually all transactions were conducted in person during office hours and on bank premises, the arrival of the Internet turned that pattern on its head. No longer constrained by branch operating schedules or the on-site availability of bank officers, customer-service demands skyrocketed as consumer expectations extended 24/7.

To wit: Roughly a decade ago, Sberbank had to handle 30 or so transactions per second; today, it's more like 3,000 to 4,000 transactions, said Mikhail Khasin, the bank's vice president of engineering.

"The problem we faced is one that's common to any tier one bank in the world," Khasin said. "The development of digital channels over the last 10 to 15 years has resulted in a dramatic increase in workload."

'The systems couldn't cope'

Also contributing to the increase is the sheer number of transactions being executed. It's not so much that more money is being exchanged overall, Khasin explained; rather, consumers are breaking many kinds of expenditures down into smaller increments across a much larger number of transactions.

"Say a consumer used to pay $100 a month to top up their mobile phone," he said. "Today, they may spend $2 or $3 per day."

More transactions means yet more workload. By late 2014 it had become clear: "The systems built 15 years ago couldn't cope," Khasin said.

Traditionally, the obvious solution would be a hardware upgrade. And under traditional banking conditions -- including periods of time when no branches are open, so no transactions need occur -- there would be ample time for the batch processing and maintenance that go along with that approach.

In this era of round-the-clock banking, however, that kind of solution didn't make sense, Khasin said.

Sberbank also hoped to achieve better integration across its various products and services. Typically, banks have had a series of vertical software stacks, Khasin explained -- one for payments, for example, another for mortgages. With the advent of the Internet era, clients began to want access to all their products in the same place.

"It's a huge effort to build an integration layer that interacts with all these platforms and provides a client-centric view," he said.

Many financial-services offerings today are also packages that cross product boundary lines, making integration even more important.

As smaller, nimbler banks increasingly emerged with more flexible IT, the pressure was on to implement something different. Inspiration came from technologies that had supported the rapid growth of Internet giants like Facebook and Google.

"They grew from startups and never had the money for big mainframes, so usually they bought small machines," Khasin explained. "When they grew, they bought more."

With similar scalability in mind, Sberbank zeroed in on in-memory data grid technology, through which data structures reside in RAM and are distributed among multiple commodity servers. Often aimed at big-data applications, in-memory computing promises new levels of performance and scale on standard, inexpensive hardware.

'It will be a client-centric architecture'

Numerous vendors offer such technology, including big names such as SAP and Oracle, and Sberbank spent the better part of 2015 conducting pilot tests. At the end of that year, it settled on GridGain Systems' In-Memory Data Fabric platform. The first pieces of its new technology recently came into production.

GridGain offers clustering and compute capabilities, database-agnostic data processing and a real-time streaming engine as well as Hadoop acceleration. It can connect multiple data sources -- including relational and NoSQL databases -- with Java, .NET and C++ applications in a distributed, massively parallel architecture for high-speed access and processing.

So far, Sberbank has implemented a grid of three "nodes," or machines, for processing payments using GridGain's in-memory technology and industry-standard hardware. Performance and time to market are among the top benefits Khasin cites. Horizontal scalabililty is limited only by the number of nodes in place, and performance has increased by at least a factor of 10, Khasin said. Hardware costs, meanwhile, are minimal.

Training has also been less of an issue than it might have been for Sberbank because GridGain's software is based on open-source Apache Ignite technology, and has been openly worked on by a large community, Khasin said. Hundreds of the bank's 5,000 or so software developers have been trained in using GridGain, and now they're contributing back to the community as well.

Among the biggest challenges Sberbank has faced so far is the newness of in-memory technology and the relative lack of expertise on the market in implementing it. The size of the bank's implementation -- ultimately encompassing several petabytes of data -- makes that challenge even tougher.

As the implementation scales, there's still more work to be done on a fault tolerance layer, Khasin said. But he has no doubt the technology is the wave of the future.

"Banks are usually conservative, but everybody believes this is the right direction," he said. "Otherwise, you spend all your IT budget on hardware upgrades."

Sberbank was so pleased with the initial results it saw that it became an investor in GridGain early this year. Over time, it plans to expand its three nodes to hundreds.

"It will be a client-centric architecture where every client with all his data and products will live on a particular node on the grid," Khasin said. "It's all in memory, and there's always a single version of the truth for all client and transaction data."

Katherine Noyes