Many people have many perspectives on Microservices, and there are many definitions. I recommend, rather than going by the definition, go by characteristics.

Although the question is simple, it is tough to answer, as ‘Microservice’ does not have any de-facto standard. As a result, many people have many perspectives on Microservices, and there are so many definitions.

The compelling definition is:

Microservices are a suite of services where each service is bounded by a bounded context and can run, deploy, and scale independently, without impacting other services.

So, to make the above statement correct in reality, organizations that have adopted Microservices follow few common characteristics, so:

I recommend, rather than going by the definition, go by characteristics.

11 Characteristics of a Successful Microservices Architecture

1. Componentization of Services:

Service can be upgraded, evolved, deployed, scalable, tested independently.

2. Database Per Core Services:

Take out the coupling from the database and make it private to core services, and create an API contract by which other services get data.

3. Test Cases Are the First-class Citizen:

As MS is a collaboration of multiple services, Unit tests and Integration tests are needed often to identify issues. Fail fast strategy is key to success, so there’s the need for full Unite test case and integration test coverage with automation.

4. CI/CD Pipeline and Automation:

To become a success, we need CI/CD pipeline and provision to deploy in UAT, SIT, and may be automated deployment to PROD as well. Also If using PAAS, or containerization to treats resources like cattle, not pets, we can spin servers on the fly for X-axis scaling

5. You Build It, You Run It Strategy:

Make sure teams are a mixed bag; Agile teams UI, Backend, DBA, QA, and the team is responsible for implementing a business capability, like Registration Team or Login Team, Order Team, Payment Team, etc. One Scrum may handle Aggregator and core services for that functionality based on organization and team strength, but one feature is that team is the sole owner of that feature: all bugs, support, deployment, delivery, database tuning, testing will be done by that team.

#microservice architecture #microservice #microservice tutorial

What Are Microservices?
1.55 GEEK