Systematic scalability analysis for microservices granularity adaptation design decisions

Sara Hassan, Rami Bahsoon, Rajkumar Buyya

Research output: Contribution to journalArticlepeer-review

4 Downloads (Pure)

Abstract

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.
Original languageEnglish
JournalSoftware: Practice and Experience
Early online date31 Jan 2022
DOIs
Publication statusE-pub ahead of print - 31 Jan 2022

Fingerprint

Dive into the research topics of 'Systematic scalability analysis for microservices granularity adaptation design decisions'. Together they form a unique fingerprint.

Cite this