If an engineer from Google, Amazon, Netflix, or even Spotify walked into Thought Machine they'd be immediately at home. We use the same tools. Our software architecture principles are common across all the enterprises.
One of the most vital things we hold in common is our devotion to microservices. They are key to creating resilient, powerful, scalable applications that are easy to update. Frankly, Google couldn't run Gmail, or Netflix run at all, without microservices. They are fundamental.
Banks are less familiar with microservices. And that is being polite. Banks are decades behind the cutting-edge in software. Microservices are something bankers need to learn about, and fast.
So here's a quick masterclass in what microservices are, and why they are revolutionary in banking.
Traditionally banking applications are built as a single entity – a monolith. All the code is bundled together – in vast, sprawling code-bases, so intimidating that engineers get lost in its labyrinth.
Microservices are the alternative. Instead of a monolith, applications are broken into small autonomous chunks called microservices. Each microservice runs independently, and can be managed by a dedicated team. The microservices talk to each other via APIs.
What you have is a network of small, self-sustaining units, working together to create a single application.
The beauty is the size. Each microservice is kept tight and well-defined. In Silicon Valley there's a notion that the team working on a microservice should be small enough to be fed by two-pizzas. The famed Two Pizza Rule. That's seven to ten people, depending on how greedy they are. True or not – it captures the belief that a microservice should be scoped tightly enough for a small team to manage.