dc.description.abstract |
Today many of the developers and users expect systems to have dynamic user experience on a wide variety of clients including mobile devices. As well as expect to have high scalability and needs to roll out new updated in order to cope with the competitors, even for multiple times a day. But to gain such level of flexibility through the existing monolithic systems is quite tough and hard due to the dependability of the internal modules, components and the services. Recently researchers have discovered a new architecture called microservices architecture where it consists of independent set of services which are focused on one or small set of functionalities of the system and can be deployed as a separated service. By having isolated services, it increases the flexibility on scalability, independent deplorability, maintainability, and reusability.
Recently microservice topic has gain lots of attention from the software industry. If we search on Google or Yahoo we would fine millions of articles, blogs, discussions on social media, and conference presentations. That is because microservices has huge advantage when it comes to development and the evolving of the system. If we are doing a green field project, then there would be not much risk than managing the lots of concurrent and distributed microservices. But if it is going to be a brown field project or trying to convert the existing monolithic systems into microservices there are exist several other risks associated with it, one of major risk is deciding which services to convert into microservices.
In this research trying to find a solution to that problem and mainly focused on the OO Java based monolithic systems. In order to identify the services in the monolithic system`s legacy code we use hierarchical agglomerative clustering algorithm with customized fitness function which helps to identify the candidate microservices for the microservice based architecture, then those will be presented to the users based on the risk value. This tool is capable of providing insights about each of the services by showing risk levels of the obtained services. If the time permits those features will complete with this research in addition to microservices identification. So that people who use this architectural helper tool will get broad understanding of candidate services and they can be reordered by inputting business values to each of those services. Which reduces the risk of converting the existing monolithic system into the relevant microservices. |
en_US |