Live data from Hacker News

Building a Bank with Kubernetes [slides]

community.monzo.com

81–90 of 106 posts

Re: Building a Bank with Kubernetes [slides]

#81

Earlier quoted context omitted.

>what really limits most financial institutions from embracing a lot more modern tech is their core systems of record AND the acceptance of said systems by their governing agencies. I just want to say that I think there is a huge amount of FUD about how you can and cannot build your technology as a regulated entity – and in particular as a bank. In reality, close to 100% of requirements from a regulator will tell you…

> I just want to say that I think there is a huge amount of FUD about how you can and cannot build your technology as a regulated entity – and in particular as a bank. In reality, close to 100% of requirements from a regulator will tell you _what_ you must build, not _how_ you must build it. Even then, especially in terms of resilience and security, they are almost always a subset of our own requirements. Having work…

> , I was surprised, in my current position, to see some companies doing their complete banking back end in PHP & MySQL.

Glad to know! Now I need to find these folks so I can hide in a dumpster from them!

Re: Building a Bank with Kubernetes [slides]

#82

Earlier quoted context omitted.

>what really limits most financial institutions from embracing a lot more modern tech is their core systems of record AND the acceptance of said systems by their governing agencies. I just want to say that I think there is a huge amount of FUD about how you can and cannot build your technology as a regulated entity – and in particular as a bank. In reality, close to 100% of requirements from a regulator will tell you…

> I just want to say that I think there is a huge amount of FUD about how you can and cannot build your technology as a regulated entity – and in particular as a bank. In reality, close to 100% of requirements from a regulator will tell you _what_ you must build, not _how_ you must build it. Even then, especially in terms of resilience and security, they are almost always a subset of our own requirements. Having work…

[deleted]

Re: Building a Bank with Kubernetes [slides]

#83
post #76

Author of the talk here. Happy to answer any questions anyone has. This post also contains more info on how we build our systems: https://monzo.com/blog/2016/09/19/building-a-modern-bank-bac... And as an aside, I'll also be giving a longer talk at Kubecon going into more detail on some of this stuff :-)

If K8S secrets management is storing them in plain-text in etcd how do you go about making it actually secure for a bank?

We don't store things that are actually secret, as k8s secrets ;-) Hashicorp Vault is quite good at this.

Re: Building a Bank with Kubernetes [slides]

#84
post #32

Earlier quoted context omitted.

> I'm not sure what your involvement here is … Parent poster is Head of Engineering at the bank (not CTO?), and author of the slides.

Yes but that may or may not mean direct involvement with regulators. For small companies it's really hard to tell where they are in the process.

We're _very_ directly involved with regulation, and with regulators :-) It's a very important part of our business, so we put a lot of effort into ensuring that we please regulators _and_ that we run our business in the way we want.

Re: Building a Bank with Kubernetes [slides]

#85
post #67

Earlier quoted context omitted.

Why would eventual consistency be unacceptable in a banking system? In my experience people interact with social media on far shorter time scales than their banks. When they post a new Instagram photo, they expect that their friends will see it basically instantaneously. In comparison, when people use their debit card at CVS, they're not expecting anyone to log into their bank account seconds later and see the charge…

If your data is only eventually consistent, then DB node A can have your bank balance at $x for some time still, while it is already $0 at on node B. Then, if some operation (say withdrawal) is checking the balance with node A, then you have a problem.

Yes, this is true of eventually consistent systems. The question is a) what does "eventually" mean (replication takes seconds, minutes, or hours?), b) what time delta do you expect for most transaction requests, and c) what is the risk of being temporarily wrong?

Seems to me that a bank could answer these questions as well as any other business, and build a system that works within the answers.

Re: Building a Bank with Kubernetes [slides]

#86
post #51
post #46

Earlier quoted context omitted.

I'd say the reliability the bank is looking for is much higher than what's acceptable for web companies (i.e. web companies are fine with eventual consistency, which would is obviously unacceptable in a banking system outside of trivial non-core features).

I would assume its pretty hard to make something ACID style when doing stuff across Microservices, which i'm assuming mondo is doing.

That part is surprisingly easy if you architect it right. The core abstraction most banks use is your "available balance" and the fact that they can reconcile on a longer time period than seconds.

Re: Building a Bank with Kubernetes [slides]

#87
post #33

Earlier quoted context omitted.

% youtube-dl 'https://skillsmatter.com/skillscasts/9146-building-a-microservices-with-kubernetes' [generic] 9146-building-a-microservices-with-kubernetes: Requesting header WARNING: Falling back on generic information extractor. [generic] 9146-building-a-microservices-with-kubernetes: Downloading webpage [generic] 9146-building-a-microservices-with-kubernetes: Extracting information [vimeo] 188042022: Downloading web…

Cool! Although, seems like "youtube-dl" may not be the right name for that app anymore.

youtube-dl is still plenty active, its last commit was just a few hours ago: https://github.com/rg3/youtube-dl/

Re: Building a Bank with Kubernetes [slides]

#88
post #33

Earlier quoted context omitted.

Cool! Although, seems like "youtube-dl" may not be the right name for that app anymore.

youtube-dl is still plenty active, its last commit was just a few hours ago: https://github.com/rg3/youtube-dl/

How come this project doesn't get a takedown request?

Re: Building a Bank with Kubernetes [slides]

#89

Earlier quoted context omitted.

Yes but that may or may not mean direct involvement with regulators. For small companies it's really hard to tell where they are in the process.

We're _very_ directly involved with regulation, and with regulators :-) It's a very important part of our business, so we put a lot of effort into ensuring that we please regulators _and_ that we run our business in the way we want.

Just this morning I read an article in Bloomberg news magazine about UK regulators being avant-garde and promoting competition in banking by allowing branchless/app based banking. There was reference to Monzo as well as an example of new age bank.

Re: Building a Bank with Kubernetes [slides]

#90
post #67

Earlier quoted context omitted.

If your data is only eventually consistent, then DB node A can have your bank balance at $x for some time still, while it is already $0 at on node B. Then, if some operation (say withdrawal) is checking the balance with node A, then you have a problem.

Yes, this is true of eventually consistent systems. The question is a) what does "eventually" mean (replication takes seconds, minutes, or hours?), b) what time delta do you expect for most transaction requests, and c) what is the risk of being temporarily wrong? Seems to me that a bank could answer these questions as well as any other business, and build a system that works within the answers.

Banks are already eventually consistent. Balances are reconciled COB.
Post reply on HN