Building a Modern Bank Backend


(Oliver Beattie) #1

eConsultancy Article regarding Tesco Bank attack and how it impacts Monzo and the like
(Alex Sherwood) #2

A lot of the discussion about this post is probably going to happen in :mondo:'s developer community on Slack. You can request an invite here. And this is where the conversation started.


#3

looking forward to it


#4

Great post, I’ve been looking into using Kubernetes myself with my current project but decided it best to wait till after launch to start considering switching to a microservices approach, was very interesting to see how you are doing it.


( surohpotsirhC) #5

Really interesting read. Well above my knowledge level but still worth reading.


#6

@oliver, what exactly were the key issues for you to switch from Mesos to Kubernetes?


(Oliver Beattie) #7

Good question. :bulb: We switched mostly because the operational tooling around Mesos/Marathon is a bit weak. For example, there is no analogue of kubectl (which is a tool we all love). Also, Kubernetes has a stronger feature set, especially with regard to stateful apps and cloud provider integration.


(Venkatesha T R) #8

@oliver Interesting and very useful blog! I must admit that most of the concepts are out of my reach, but I am really impressed the way you guys have gone ahead handling such a challenging problem - banking with such a sophisticated technology products/tools.

I got motivated to learn some of them now for sure and I will follow you guys closely now onwards.


(sammy) #9

Thank you very much for having shared such precious information.
It’s really well explained.
Is it possible to have more information about your database ? which engine(s) (NoSQL, relational, …) do you use ?
If you have different engines, for which purpose each of them is set for ?
regards


(Xiao Meng) #10

@oliver Great article and thanks for sharing :smiley:

Small question, your team’s tech stack is mainly on Go, but you use Finagle for RPC framework which is a Scala project, do you write those RPC services in Scala, or in Go but integrated with Finagle? Our team is also Go based and we are seeking for a solid RPC system to work with Go written services. Currently we are using gRPC but its a library rather than system/framework that provide composing & management features with service clusters together.


(Orson Wang) #11

As your platform are mostly written by go, have you evaluate GNATS for PUB/SUB queue before using kafka?


(joe blew) #12

I cant believe you opted for a non golang based fabric layer. I am curious about why ?

  • For RPC GRPC i pretty solid now. In fact K8 is heavily based itself on GPRC, as are many of the big golang based services. Its also highly interoperable and has build in tracing & metrics.

  • In regards to the Fabric for a async idempotent archi, how are you ensuring you are idempotent underneath your chosen fabric. To be idempotent your going to need the architecture to be a Event Store with a CQRS based architecture. There are 3 i have seen for golang.
    I am working on a similar project and am very curious what your chose for idempotentency architecture ??


(Alex Sherwood) #13

@ykk83568 @reorx @orson @joeblew99

Just a quick suggestion - @oliver usually picks up questions in the Slack developer community & these types of questions are generally easier to discuss in chat so it might be worth asking them there (there’s a link which you can use to join in my first comment on this topic).


(Alex Sherwood) #14

For anyone who wants to find out more…


(manny veloso) #15

How do you trace/log a transaction through your infrastructure?


(Oliver Beattie) #16

I just posted the slides from a talk I did last night about our backend at the Kubernetes London meetup, in case anyone finds them interesting :innocent:

(And sorry I haven’t responded to all the questions in this thread… I’m not ignoring you and I will get around to replying :persevere:)


(Alex Sherwood) #18

I found this conversation on Twitter & asked one of the organisers

Edit

Edit 2

Link in tweet was pointing to the event’s other talk, this is the link for Oliver’s


(Alex Sherwood) #20

The video’s been posted now…unfortunately it looks like embedding the video’s been disabled

https://skillsmatter.com/skillscasts/9146-building-a-microservices-with-kubernetes


(Eric) #22

Are you guys using any GUI for managing Kubernetes? Or just managing all the Kubernetes configurations through yaml configuration files?


(Alex Sherwood) #23

AWS showing some :heart: for Monzo with a tube ad :slight_smile: