Microservices have gained wide recognition and acceptance in software industries as an emerging architectural style for autonomous, scalable and more reliable computing. A critical problem related to microservices is reasoning about the suitable granularity level of a microservice (i.e., when and how to merge or decompose microservices). Although scalability is pronounced as one of the major factors for adoption of microservices, there is a general gap of approaches that systematically analyse the dimensions and metrics, which are important for scalability-aware granularity adaptation decisions. To the best of our knowledge, the state-of-art in reasoning about microservice granularity adaptation is neither: (1) driven by microservice-specific scalability dimensions and metrics nor (2) follow systematic scalability analysis to make scalability-aware adaptation decisions. In this article, we address the aforementioned problems using a two-fold contribution. Firstly, we contribute to a working catalogue of microservice-specific scalability dimensions and metrics. Secondly, we describe a novel application of scalability goal-obstacle analysis for the context of reasoning about microservice granularity adaptation. We analyse both contributions by comparing their usage on a hypothetical microservice architecture against ad-hoc scalability assessment for the same architecture. This analysis shows how both contributions can aid making scalability-aware granularity adaptation decisions.
Bibliographical notePublisher Copyright:
© 2022 The Authors. Software: Practice and Experience published by John Wiley & Sons Ltd.
- goal-oriented analysis
- systematic analysis
ASJC Scopus subject areas