Summary: | Context The last decade shows many solution proposals of functional decomposition techniques to aid in developing microservice architectures. While some solutions may work, it is uncertain what the effects are on quantitative, measurable metrics; thus, the proposals require validation. Objective The study measures the effects of various functional decomposition techniques on performance, scalability, and maintainability. Furthermore, the study will compare the treatments in order to find whether a statistical significance exists. Method The study uses a controlled experiment containing three functional decomposition techniques—Event Storming, Actor/Action, and Service Cutter—applied on the same use case. The use case follows the CoCoMe framework, which forms the basis of the experiment. Results Each treatment shows similar behavior while presenting different architectural designs. The study found no statistical significance for performance, scalability, and maintainability. Conclusion Evidence suggests that the convenience of an approach might be more important than the resulting architecture since they will likely lead to the same outcome. If performance issues arise, it would likely be due to the microservices architecture and not the functional decomposition technique; therefore, the microservices architecture might not equally benefit any situation or corporation. Furthermore, the study found that service granularity might not be as relevant as some studies claim it to be, and other factors could be more crucial.
|