Before tell you about microservices, let’s see the architecture that prevailed before microservices i.e. the Monolithic Architecture.
Listed down are the challenges of Monolithic Architecture:
- Inflexible :Monolithic applications cannot be built using different technologies
- Unreliable – Even if one feature of the system does not work, then the entire system does not work
- Unscalable – Applications cannot be scaled easily since each time the application needs to be updated, the complete system has to be rebuilt
- Blocks Continous Development – Many features of the applications cannot be built and deployed at the same time
- Slow Development – Development in monolithic applications take lot of time to be built since each and every feature has to be built one after the other
- Not Fit For Complex Applications – Features of complex applications have tightly coupled dependencies
The main difference we observe is that all the features initially were under a single instance sharing a single database. But then, with microservices, each feature was allotted a different microservice, handling their own data, and performing different functionalities.