Microservice Decomposition via Static and Dynamic Analysis of the Monolith

03/05/2020
by   Alexander Krause, et al.
0

Migrating monolithic software systems into microservices requires the application of decomposition techniquesto find and select appropriate service boundaries. These techniques are often based on domain knowledge, static code analysis, and non-functional requirements such as maintainability. In this paper, we present our experience with an approach that extends static analysis with dynamic analysis of a legacy software system's runtime behavior, including the live trace visualization to support the decomposition into microservices. Overall, our approach combines established analysis techniques for microservice decomposition, such as the bounded context pattern of domain-driven design, and enriches the collected information via dynamic software visualization to identify appropriate microservice boundaries. In collaboration with the German IT service provider adesso SE, we applied our approach to their real-word, legacy lottery application in|FOCUS to identify good microservice decompositions for this layered monolithic Enterprise Java system.

READ FULL TEXT

page 6

page 7

research
07/12/2020

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

A number of approaches have been proposed to identify service boundaries...
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
10/03/2012

JooFlux: Hijacking Java 7 InvokeDynamic To Support Live Code Modifications

Changing functional and non-functional software implementation at runtim...
research
09/29/2021

Live Visualization of Dynamic Software Cities with Heat Map Overlays

The 3D city metaphor in software visualization is a well-explored render...
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
01/18/2020

Boundary Value Exploration for Software Analysis

For software to be reliable and resilient, it is widely accepted that te...
research
07/23/2022

Student Research Abstract: Microservices-based Systems Visualization

The evolution of decentralized microservice-based systems is challenging...

Please sign up or login with your details

Forgot password? Click here to reset