Interesting. So something like google bigquery (or any of the various saas offerings by others) would not be a good match for this problem space ? For massive parallelism, we have GPUs, accelerators, and database products built on these things (admittedly, still somewhat new). By consistency, do you mean tolerance to transient errors and the like ? i.e. Beyond whatever you get with ECC ? Or are you talking about memory consistency models ?
I am just constantly surprised that on the one hand FAANG+ which run so much of the internet economy do not use mainframes, and yet banks do.
The promise of the cloud is that it provides you with "trivially", "infinitely", "cost-efficiently" scalable infrastructure. Banks don't need any of that. They can buy a $100k (?) mainframe, a hundred or so devs, and leave that part of the business on autopilot for 20+ years. Why even bother futzing around in the cloud?
Getting distributed systems correct is very hard. Mainframe architecture allows one to program and deploy as if you had a giant computer with consistent transactions for the most part. Since banks were the early adopters of computation in large scale it’s clear why most still run on mainframe - the transition to cloud architecture isn’t a simple translation, you need to glue a lot of things together to the same levels of parallelism, and probably sacrifice some consistency that you get “for free” on mainframe architecture.
Cloud is cheaper ($ per cycle) at the expense of human brain power to glue it all together.
In addition to what bendbro suggests, which is actually quite close to reality if oversimplified, banks also have sovereignty concerns with data that may have additional classification and regulatory strings attached. In Australia where I’m based, ‘material’ data such as financial and audit information must be kept in country and its veracity attested to, which is why so many large banks here at least still have big iron in managed data centres for most of their core transactional systems.
Edited to specify which sibling I was referring to.
Outsourcing of financial services processing has been a big business for decades. However it is usually provided to small/medium banks or credit unions by specialized firms or by big banks.
A big bank will usually do its own ledger processing. A good configuration is to process in two pairs of data centers more than 200 miles apart in different electric utility interconnection regions, e.g. Arlington/Fort Worth and Dayton/Springfield. Archival storage of transactions may involve additional centers.
https://en.wikipedia.org/wiki/IBM_Parallel_Sysplex#Geographi...
Give me a message queue that guarantees exactly-once-delivery to coordinate a cluster of transaction processing mashines and we can talk about banks using commodity hardware.
I am just constantly surprised that on the one hand FAANG+ which run so much of the internet economy do not use mainframes, and yet banks do.