What is a microservice?
Microservice is an architectural style of implementing independent services that can be deployed and managed in isolation. Microservices can be classified into three areas:
- Technical
- Architectural
- Organizational
Each classification is explained in the following table:
Technical | Architectural | Organizational |
Runs in its own process | Bounded context | Teams organized around business capabilities |
Faults are isolated into one location | Ideal match with API Management, that is, SOA 2.0 | Products not projects |
Is stateless | Polyglot, any preferred program language can be used | Culture of automation |
Deploys independently | Single responsibility | Smaller teams and works well using Agile like Scrum |
Scales independently | Choreographed | The responsibility is with the developer to build and run |
Owns its data. | Smart end and dump pipes. This means that the client application doesn't need to worry about any complex transformations, just call it. | Decentralized governance with the goal to increase the overall quality and... |