What are Microservices?
Microservices (AKA Microservice Architecture) is an architectural style that structures an application as a collection of services. These microservices are
1. Highly maintainable and testable – Microservices architecture helps to break down problems into pieces, which helps the us for easy maintenance and testability.
2. Loosely coupled
3. Independently deployable
4. Organized around business capabilities
5. Owned by a small team
6. The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications.
7. Enables an organization to evolve its technology stack.
Pre-Requisites for Microservices
Monolith Architecture – Complexity hidden within
Microservice Architecture – Complexity among Microservices
To manage the complexity among microservices we have,
Patterns – Make Microservices work well together
Technologies – Libraries and Frameworks to solve common problems
When we talk about microservices, our main goal are:
1. How to create microservices?
2. Having them communicate with each other
3. Solving the common problems we encounter while establishing the communication between microservices.