| ▲ | danpalmer a day ago | ||||||||||||||||
Redundancy is great, absolutely, but there are multiple ways to do it and this is not necessarily the right one. Which is better: 3 DCs for 2 DCs worth of traffic, running the same stack but isolated failure domains... or 4 DCs for 2 DCs worth of traffic, that work in completely different ways, where 2 are left cold until needed. I can see some advantages of the latter, but not a lot. This also isn't about fault tolerance at the code level like in, say, avionics. In those scenarios having multiple distinct implementations makes sense, but that's very different, you run all paths at the same time and check they agree etc. | |||||||||||||||||
| ▲ | hurrrr a day ago | parent | next [-] | ||||||||||||||||
I've never run a bank either, but their current setup is very cost effective. A true multi cloud architecture would be "much" (a couple of 9s) more available, but I believe it would introduce other issues. The goal was to ensure the use of a subset of features for short periods of time, which is probably already above the market standard. | |||||||||||||||||
| |||||||||||||||||
| ▲ | ricardobayes a day ago | parent | prev [-] | ||||||||||||||||
In your Google scope this all works out however if you're a mature but not yet prevalent, neobank whose reputation rides almost solely on availability, I'd still say theirs is a great approach. Even in the unlikely event that AWS throws in the towel and has a hard failure, users can still enjoy a subset of functions without elevated latency. On top of it, it might well be that user data can never leave UK, so geographical redundancy might not even be a thing here. And yes you are completely right a completely distinct implementation is probably a no-go, but I'd think you could deploy a similar codebase with feature flags, with some frontend differences. I'm speculating but pretty sure they didn't reimplement backend functionality for this. | |||||||||||||||||