Microservice Architecture Without Microservice Overhead
September 29, 2020
Every week in my Tuesday Lunch & Learn livestream, we choose a useful software development skill, define a challenge related to that skill, and solve the challenge live. This week, we’re looking at microservice architecture.
Microservice architecture is a great way to partition code so that teams can work independently. It’s effective at preventing the “big ball of mud” problem that can plague large monolithic codebases.
But microservice architecture comes at a high cost. Because all communication happens via network calls, microservice architecture introduces a lot of complexity in the form of error handling and distributed transactions.
What if there was a way to get the advantages of microservice architecture without all the added complexity? In this episode, we look at “microliths,” a way to reduce overhead while still retaining the benefits of a microservice-based design. We cut the size of our codebase in half and increase performance across the board.
To follow along, download the code from GitHub and check out the 2020-09-29
tag. To see the final result, check out the 2020-09-29-end
tag or view it on GitHub.
Visit the Lunch & Learn archive for more.