Hello and welcome to This Is My Architecture.
My name is Rudy and I'm here today with Alexandre and Quentin from Sopra Banking.
Good morning, gentlemen. Good morning, Rudy. Thank you for welcoming us.
We're very happy to be here with you today.
- So, to start, can you tell me about Sopra Banking?
- Sopra Banking is a banking software publisher present in 70 countries through
its 800 clients. - OK. So you came here today
to tell us about the architecture of a particular platform you are working on.
- Exactly. We're now going to talk about the DXP product in more detail.
This is a digital platform on which we have implemented a micro service architecture
based on Kubernetes. - All right. So, the idea is to be
able to open up a client's core banking -- right? -- with open APIs?
- Exactly. We are trying to bring technology back
into the bank's existing core banking systems. - All right.
With a multi-tenant or dedicated platform for each of your clients?
- We're actually going to have about ten clients... - All right.
- ...but through about 30 branches. So we're going to have a platform for each client
but it can have several branches within it.
- Is it spread over several regions in the world?
- We're spread over 3 regions. We are in Dublin, London and Frankfurt for this solution.
- All right. Excellent. Let's talk more in detail about this architecture.
Alexandre, can you explain us how...
how you handle the requests, API calls that come in from your platform?
How does it pass through all these services?
- Well, the idea is actually to consume services that go through the APIs exposed by the core banking.
So, with his mobile, the user will consume APIs
from the platform.
Thus, the first step will be to go through the load balancers
that allow to segregate the flows between the managing flows and the flows provided by the platform.
A first layer at the EC2 level of API management.
A second layer that will allow us to host the Kubernetes part --
the solution being based on micro service. So it's a huge
micro service solution. - All right.
- Well, the Kubernetes part is hosted on our EC2s.
And then, the data part, i.e. the document part, which is also hosted on EC2s, on MongoDB.
The relational database part in RDS PostgreSQL
and the cache part in ElastiCache. And finally, the consumption of the services of the secured core banking
through MTLS flows... - OK, excellent. I notice that you use
a lot of EC2 instances. So, the goal is to have more flexibility and control
over the apps you deploy? - Well, EC2 is what we initially thought
was the easiest way to deploy our Kubernetes cluster.
Eventually the idea is indeed to use as many Amazon hosted services as possible.
So in the case of Kubernetes, we will use the EKS service.
For the MongoDB part, we will use DocumentDB.
That's it. - All right.
So, from what I understand, this stack is replicated in several copies
for several environments, but also for several clients in several regions.
How do you manage the operations, provisioning and configuration of these elements?
- Actually, with a platform of this type, we have about 40 environments across
our customers for a team of 3 people. So we put automation at the core
of the solution. We use Terraform to replicate
as much as possible, to standardize the solution. We use Terraform for provisioning,
but we even use it for the configuration of Kubernetes.
- OK, very interesting. We're talking about a banking system.
So I imagine that security is a major issue for you, for your customers...
- Yeah. - How do you manage security across
these different environments?
- Well, security is a subject that has been addressed from the very beginning,
so from the very first designs of the solution, we integrated security into the VPC design.
- All right. - Then we integrated
WAF, Shield, etc. services to facilitate the detection of security events
by operation teams.
And we're working on more active security to allow us
to automatically respond to security events.
- All right. And potentially automate remediation, right... related to the incident in question?
- Via Lambda functions or something like that.
- All right. OK. Very interesting. Thank you very much for sharing on your platform
architecture. Thank you Alexandre, thank you Quentin. - Thank you, Rudy.
- And thank you for watching this episode of This Is My Architecture.