Microservices and The Monolith (Lean)

Chanaka Fernando
Microservices Learning
2 min readJul 19, 2016

--

When people talk about microservices, they start from the monolith and divide that into small pieces (functional components) and finally put the monolith into trash and live with the fresh born microservices. That will be fine for some internal applications.

But the reality is that, monolith is there for stay. What you have done with microservices is, you took the core functionality of the monolith and divided into set of sub functional components and developed microservices for that part. But the monolith is not dead. The public facing interface of the monolith is still there. You can’t ignore that.

Let me give you some real world examples. According to my knowledge, gmail (Google) is running on top of containers. Every person has his own container running for his gmail account. Simple enough. Google has divided the core functionality of the gmail into microservices and run them on containers. But the public facing interface (Gmail login) is still there and it is global. So the monolith we used to have (Gmail web interface) is not dead but it has become more lean.

Another perfect example is SaaS (Software as a Service) applications like Salesforce. When you log into the salesforce.com website, you may be doing different things on your salesforce data. These different functionalities can be implemented as microservices (not sure about the actual implementation) and can run on their own containers. But the monolith Salesforce is there and people come to use that. Not the microservices.

So, the conclusion is that, microservices has taken the core functionality of the monolith and implemented in a highly efficient, error prone, scalable manner. But the monolith is not dead and people will never forget it. Microservices will be everywhere without anyone knowing that is there. That explains the reality of life :)

--

--

Chanaka Fernando
Microservices Learning

Writes about Microservices, APIs, and Integration. Author of “Designing Microservices Platforms with NATS” and "Solution Architecture Patterns for Enterprise"