Tools to migrate a monolith to a microservices architecture, focusing on microservices identification, where the set of identified microservices minimizes the number of system transactions (microservices) associated with a business transaction, aiming to control introduction of relaxed consistency in the system.
Currently implemented for Spring-Boot monoliths that use FenixFramework and Spring Data ORMs.
- java 8+ (
java --version
) - nodejs 10+ (
node --version
) - npm 6+ (
npm --version
) - python 3.5+ (
python --version
) - (Non docker) run:
pip install -r backend/src/main/resources/requirements.txt
- Create the file
specific.properties
in backend/src/main/resources with the correct python command (example in filespecific.properties.example
)
cd collectors/
see README.md for each collector
docker-compose build
docker-compose up
OR
docker-compose build --no-cache
docker-compose up --build
The frontend can be accessed in http://localhost:3000 and the mongoDB contents in http://localhost:8081
- The monolith codebases used by the spoon-callgraph and commit-collection Collectors are available here.
- The monolith representations, Access and Repository Based, for some of the codebases are available here.
Looking for a reproducible evaluation package? It's available here.
This project is licensed under the MIT License - see the LICENSE file for details.