GithubHelp home page GithubHelp logo

loehnertz / master-thesis Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 7.29 MB

My master thesis: „Toward automatic decomposition of monolithic software into microservices – Conception of a methodology and its exemplary implementation“

Home Page: https://github.com/loehnertz/master-thesis/releases/tag/v1.0

TeX 100.00%
master-thesis academic-project uva latex

master-thesis's Introduction

Master Thesis

Toward automatic decomposition of monolithic software into microservices – Conception of a methodology and its exemplary implementation


Abstract

The microservices paradigm gets more and more traction and many companies choose to adopt it for new developments as well as to transform existing monolithic software to be microservices-based instead. However, the latter approach bears many difficulties that involve much manual work, specifically in the early stages of such a decomposition process. Determining the boundaries between the services, where one service ends and the next one begins, is a notoriously difficult task for which a lot of literature exists that however mainly helps with providing a framework to determine said boundaries manually, with Domain-driven design by Eric Evans laying the foundation for this entire domain of research.

This thesis devises a methodology that automatically generates microservice candidate recommendations for any given piece of monolithic software without any further user input but the software itself. To do this, four dimensions of coupling are calculated out of the input software that each construct a weighted graph with the edges resembling coupling between the units of the software. Next, the four graphs are merged into one before being clustered by specifically surveyed and assessed state-of-the-art graph clustering algorithms – the resulting clusters then resemble the microservice candidate recommendations. Additionally, a large set of numeric metrics was formulated to evaluate the output of the methodology. Finally, the devised methodology was fully implemented, with an additional graphical user interface for ease of use, to work with input Java software while being easily extensible to be able to support other platforms in the future.

Download

You can download the full thesis from GitHub!

master-thesis's People

Contributors

loehnertz avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.