1/ What are the differences between monolithic and microservice architecture?
The diagram compares monolithic and microservice architecture in the ideal world.
2/ Suppose we have an eCommerce website that needs to handle the functions below:
User Management
Procurement Management
Order Management
Inventory Management
Payments
Logistics
3/ In a monolithic architecture, all the components are deployed in one single instance. The service calls are within the same process, and no RPCs. The data tables relating to each component are usually deployed in the same database.
4/ In a microservice architecture, each component becomes a self-contained service, maintained by a specialized team. The boundaries between services are clearly defined. The user interface talks to multiple services to get a workflow done.
5/ This is suitable for scaling out the business when the business has substantial growth.
However, since there are many more instances to maintain, microservice architecture needs quite some investment in DevOps.
6/ At one point, microservice architecture was the golden standard as almost every large tech company moved from monolithic to microservices. But now, companies started to rethink the pros and cons of microservices.
7/ Some of the most controversial definitions of microservices are the exclusive use of a database & making 1000+ RPCs within a single client request.
8/ Over to you: Software is about tradeoffs. If you have to choose between a monolithic and microservice architecture, how do you do it?
9/ I hope you've found this thread helpful.
Follow me @Alex Xu for more.
Like/Retweet the first tweet below if you can:
1/ What are the differences between monolithic and microservice architecture?
The diagram compares monolithic and microservice architecture in the ideal world.