Dynamic evaluation of microservice granularity adaptation

Sara Hassan, Rami Bahsoon, Leandro Minku, Ali Nour

Research output: Contribution to journalArticlepeer-review

106 Downloads (Pure)

Abstract

Microservices have gained acceptance in software industries as an emerging architectural style for autonomic, scalable, and more reliable computing. Among the critical microservice architecture design decisions is when to adapt the granularity of a microservice architecture by merging/decomposing microservices. No existing work investigates the following question: how can we reason about the trade-off between predicted benefits and cost of pursuing microservice granularity adaptation under uncertainty? To address this question, we provide a novel formulation of the decision problem to pursue granularity adaptation as a real options problem. We propose a novel evaluation process for dynamically evaluating granularity adaptation design decisions under uncertainty. Our process is based on a novel combination of real options and the concept of Bayesian surprises. We show the benefits of our evaluation process by comparing it to four representative industrial microservice runtime monitoring tools which can be used for retrospective evaluation for granularity adaptation decisions. Our comparison shows that our process can supersede and/or complement these tools. We implement a microservice application — Filmflix — using Amazon Web Service (AWS) Lambda and use this implementation as a case study to show the unique benefit of our process compared to traditional application of real options analysis.
Original languageEnglish
Article number4
Number of pages35
JournalACM Transactions on Autonomous and Adaptive Systems
Volume16
Issue number2
DOIs
Publication statusPublished - 4 Mar 2022

Keywords

  • Microservices
  • decisions
  • granularity
  • runtime
  • software economics

Fingerprint

Dive into the research topics of 'Dynamic evaluation of microservice granularity adaptation'. Together they form a unique fingerprint.

Cite this