Microservices explained in five minutes. Microservices are a popular architectural paradigm that addresses the limitations and drawbacks of legacy applications. To understand the foundation of microservices, we need to take a look at the history and evolution of application design: from monolithic to multi-tier to microservice based architectures .
A straightforward way to build a simple application is to design it as a single piece of code encapsulating data storage and access, business logic, and processes and user interfaces. That used to be the way applications and system are designed and built in the early days. Soon however, this all-in-one code model showed its limits when building complex intricate systems.
Since everything is Tangled together it becomes quickly difficult to maintain evolve and scale such applications. Software Engineers propose the solution to this complexity problem: the multi-tier architecture where application components are separated into layers based on technical functions. A common model is the three tiers architecture.
It consists of three logical layers: a presentation layer covers all the code and components responsible for the interaction with users through visual interfaces, a logical layer encompasses all the business logic and processes relative to the business functions, and a data layer dealing with storing accessing and retrieving data when needed.