Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis

07/12/2020
by   Tiago Matias, et al.
0

A number of approaches have been proposed to identify service boundaries when decomposing a monolith to microservices. However, only a few use systematic methods and have been demonstrated with replicable empirical studies. We describe a systematic approach for refactoring systems to microservice architectures that uses static analysis to determine the system's structure and dynamic analysis to understand its actual behavior. A prototype of a tool was built using this approach (MonoBreaker) and was used to conduct a case study on a real-world software project. The goal was to assess the feasibility and benefits of a systematic approach to decomposition that combines static and dynamic analysis. The three study participants regarded as positive the decomposition proposed by our tool, and considered that it showed improvements over approaches that rely only on static analysis.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/05/2020

Microservice Decomposition via Static and Dynamic Analysis of the Monolith

Migrating monolithic software systems into microservices requires the ap...
research
07/06/2022

Using Microservice Telemetry Data for System Dynamic Analysis

Microservices bring various benefits to software systems. They also brin...
research
02/19/2021

DyNetKAT: An Algebra of Dynamic Networks

We introduce a formal language for specifying dynamic updates for Softwa...
research
05/06/2019

Heaps Don't Lie: Countering Unsoundness with Heap Snapshots

Static analyses aspire to explore all possible executions in order to ac...
research
05/07/2019

From GenderMag to InclusiveMag: An Inclusive Design Meta-Method

How can software practitioners assess whether their software supports di...
research
04/22/2022

From Monolith to Microservices: Static and Dynamic Analysis Comparison

One of the most challenging problems in the migration of a monolith to a...
research
05/15/2021

A Feature Table approach to decomposing monolithic applications into microservices

Microservice architecture refers to the use of numerous small-scale and ...

Please sign up or login with your details

Forgot password? Click here to reset