Microservices were never designed from the ground up to be in the present form. Instead, there has been a gradual transition from other forms of prevalent architecture styles to microservices. Prior to microservices, we had the monolithic architecture and service-oriented architecture that reigned over the world of enterprise development.
Let's delve into these two before doing a quick recap of microservices and their various attributes and advantages.
The monolithic architecture has been around for quite some time and it results in self-contained software with a single .NET assembly. It consists of the following components:
- User interface
- Business logic
- Database access
The cost paid for being self-contained was that all the components were interconnected and interdependent. A minor change in any module had the capability to impact the entire piece of software. With all the components so tightly coupled in this manner, it made testing...