Kenny Meneses

KENNY MENESES

← Back to all posts

Why banking apps always go down on the most critical days of the month

Today we find ourselves accustomed — almost obligated — to keeping our money in a bank. This should give us the peace of mind that our money will always be available without interruptions. But that's an advertising promise, and reality is something else entirely. You've probably had your banking app fail on a day off, or right when you needed to make or receive a transfer. To truly understand why this uncomfortable habit exists — and not just vent at a customer service agent who can do nothing but absorb our frustration — we need to understand one key thing: a bank is as safe with our money as it is slow to recognize its own mistakes.

The weight of regulation and the fear of modernization

For a bank to operate in any country, there are normally national and even international regulators that require them to meet a series of security requirements before they can operate and earn the green light to join the group of banks in your country.

Since a bank needs to attract the largest number of clients, meet the profitability targets of its board of directors, and comply with the list of requirements demanded by regulators, the bank is left with one choice: operate day-to-day with the most robust and secure digital system possible. This leads to a decision that many banks made in recent decades — to begin migrating all their operations and our data to the cloud. Having a cloud provider to host their web systems, their databases, meet information security standards, and remain profitable on the monthly bill from that provider is what every bank CEO must deliver without fail.

And this is where one of the first explanations begins for that classic problem we face when we open our banking app and read: "Service unavailable, please try again later."

The bottleneck: processing in the wrong place

Digital operations are not always hosted where they should be. There are professionals inside banks who make decisions about how to design the flow of digital banking operations, and they choose to place this flow inside the database rather than in the backend. This satisfies their comfort of having the operation in the database and follows their established habits, but it fails to take advantage of the evolution of digital solutions offered by cloud providers — solutions specifically designed to prevent service outages caused by overload.

So when everyone is making transactions at the same time — on a public holiday, a long weekend, or the last Friday of the month — the bank's database has to work double duty: on one hand, reading and writing the new information demanded by users of the banking app; on the other, executing the business logic operations that the bank offers its users.

We need to understand at this point that a database is designed to store, query, and modify information with maximum consistency and availability. But executing the intensive business logic of a bank at the same time is unnecessarily saturating a critical component — especially when cloud providers have offered better options for those tasks for many years now.

The recipe for disaster

This is the point where all the conditions for disaster are in place: a saturated database, a surge of new users, and hours of peak demand for the banking app. Disaster confirmed. An alert reaches the bank's operations manager informing them the system is down, and we're left unable to access our money — with no idea when we'll be able to use it again.

Unfortunately, that operations manager will rarely propose relieving the database of this workload. They would typically prefer not to raise it with bank management — especially if they don't even recognize the situation described here as an error in the first place.

These are the conditions banks offer us without telling us. But it's only fair that one day the reasons behind errors that affect our money become transparent — from institutions that demand perfect payment behavior from us in return.