Skip to content

This paper explores the idea of using heterogeneous graph neural networks (Het-GNN) to partition old legacy monoliths into candidate microservices. We additionally take membership constraints that come from a subject matter expert who has deep domain knowledge of the application.

License

Alex-Mathai-98/Monolith-to-Microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monolith to Microservices - Representing Application Software through Heterogeneous Graph Neural Network (IJCAI 2022)

This paper explores the idea of using heterogeneous graph neural networks (Het-GNN) to partition old legacy monoliths into candidate microservices. We additionally take membership constraints that come from a subject matter expert who has deep domain knowledge of the application. Using these two ideas, we create CHGNN (Community Aware Heterogeneous Graph Neural Network) - a Het-GNN model that performs constrained clustering to generate high quality partitions.

This work was conducted at IBM Research. The authors of this paper are Alex Mathai, Sambaran Bandyopadhyay, Utkarsh Desai and Srikanth Tamilselvam.

Our IJCAI paper can be found here. The extended version of our work that containers many more qualitative and quantitative results can be found on arxiv.

Below are some steps to run our model.

Step A : Replicate conda environment

  1. conda env create -f environment.yml
  2. conda activate CHGNN

Step B : Run the CHGNN model

  1. python Graph.py --model=AE_EGCN_Separate --data=acme --code=with_edge_loss

About

This paper explores the idea of using heterogeneous graph neural networks (Het-GNN) to partition old legacy monoliths into candidate microservices. We additionally take membership constraints that come from a subject matter expert who has deep domain knowledge of the application.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages