Before Learning Microservices, we always know why we do not use Monolithic architecture nowadays. So that it will help us to understand the Microservices more clearly.
Monolithic Architecture is like a big container, wherein all the software components of an app are assembled and tightly coupled, i.e., each component fully depends on each other.
Let’s take an example of an e-commerce site-
As you can see in the example all the services provided by the application (Customer Services, Cost Services, Product Services) are directly connected. So if we want to change in code or something we have to change in all the services as well.
- Large and Complex Applications:
For large and complex application in monolithic, it is difficult for maintenance because they are dependent on each other.
- Slow Development:
It is because, for modify an application we have to redeploy whole application instead of updates part. It takes more time or slow development.
Each copy of the application will access the hole data which make more memory consumption. We cannot scale each component independently.
If one services goes down, then it affects all the services provided by the application. It is because all services of applications are connected to each other.
Really difficult to adopt new technology.It is because we have to change hole application technology.