If running on your own data center, or renting physical/virtual machines from ie Hetzner, you will pay for that capability overhead for 30.5 days per month, when in reality you only need it for 2-3 days.
With the cloud you can simply scale dynamically, and while you end up paying more for the capacity, you only pay when you use it, meaning you save money for most of the month.
Tricky networking though.
And data storage/locality/consistency.
But if that is your bottleneck you should be upgrading your DB system regardless of whether you’re on cloud or bare metal.
Yes, you can solve the problem with sharding and other tricks, but for many banks, the mainframe is still their main data storage, and it has 60+ years of legacy code on it that is not easily or quickly migrated to modern architecture.
Wouldn’t you need to do the work to shard regardless of where you’re running?
The major difference lies in infrastructure, particularly networking infrastructure. With cloud providers like Azure, AWS, etc, you can provision your vnet layout, and scale "indefinitely" on the same infrastructure. You don't need to provision new hosts, setup new secrets, or anything like that.
If a data center goes down, you can relatively easy switch to another one, though most financial institutions I know of uses hot/cold setups as hot/hot is essentially twice the money, and they rarely go down for long.
Of course it's all just regular servers underneath, so anything possible with AWS and Azure is also possible with other cloud providers, but the tooling simply isn't there (yet?).
Another issue is ISO auditor compliance. Being a regulated industry, finance (in EU at least) needs certain compliance to be fulfilled, not only regarding the services you consume, but also stuff like the physical locations, or being able to physically inspect the data center if auditors require it.
Microsoft and Amazon has this nailed. I've yet to experience a EU data center not run by FAANG meet the requirements, not that they can't. My best hope so far is probably "Lidl cloud" (forgot the name).
The compliance issues are another big one though, for organizations that are still scaling up and don’t have that know how using cloud is a huge advantage as well.
I keep seeing this take on here and it just shows most people don't actually know what you can do off the cloud. Hertzner allows you to rent servers by the hour, so you can just do that and only pay for the 2-3 days you need them.
More likely load will spread over time for most scenarios and the server will be ready to handle that with lower hardware specs.
People receive paychecks, pay bills, buy stuff, with holidays (christmas, x-mas, etc) being even busier.
Load does not even out, and when you have 3 million customers or more, the load is not really insignificant. Nor can you just delay it, or rely on eventual consistency.
Finance is a heavily regulated industry, so there’s a LOT of compliance that needs to happen, like segregation of duty, traceability, accountability, and other ilities.
Yes, it would probably cost less to run on Hetzner (provided their ISO audits are approved by financial authorities), but dynamically spinning up and down servers would cost more.
You also need fallback plans (regulated industry, critical infrastructure, etc).
It has literally taken years to get AWS and Azure approved in EU.
The issues are mostly in the SME segment and where it really depends on what your business is. Do you need completely separate system for each customer? In that case, AWS is going to be easier and probably cheaper. Are you running a constant low 24/7? Then you should consider buying your own servers.
It's really hard to apply a blanket conclusion to all industries, in regards to cloud cost and whether or not it's worth it. My criticism in regards to opting for cloud is that people want all the benefits of the cloud, but not use any of the features, because that would lock them into e.g. AWS. If you're using AWS as a virtual machine platform only, there's always going to be cheaper (and maybe better) options.