Evaluate the Microservice Cut With Prototypes
Context
Microservices are in use or are planned to be adopted. The service cut has just been determined.
Problem
- It is unclear how good the determined service cut is and what its implications are
Solution
Evaluate the service cut with a prototype. This prototype can be just a proof-of-concept or a minimal viable product that will be extended if the service cut was approved.
We did not find any established quantitative metrics that would give a context-dependent indication if service cut is suitable or not. Designing architecture often means deciding on trade-offs, and these should be evaluated.
We did not find suiting metrics to evaluate a service cut quantitatively. Technique Avoid LOC Metric for Service Cut Evaluation suggests to not use lines of code to evaluate a service cut.
A prototype can help to get a qualitative feeling for a service cut. Additionally, it supports to measure the characteristics of the resulting system quantitatively.
Maturity
Proposed, requires evaluation.
Sources of Evidence
Code "Evaluate Service Cut"
L42:
- Context: industry survey
- After domain analysis + defining sharp boundaries between microservices
- Practitioners identified need to get immediate feeling with the newly determined microservices
L62:
- Absence of a sound evaluation methodology aggravates the challenge of decomposition
Interview F:
- Context: how fine-granular to cut?
- extremest case they saw: lambda functions => too fine granular
- hard to describe which granularity is good
- often a guts feeling
Code "Evaluate Cut with PoC / MVPs
L42:
- ways to get feeling for microservice cut
- proof-of-concept services to investigate feasibility of migration
- implement services as MVPs
- artifact that may be incomplete in functionality/quality
- but shows key characteristics for determining customer value