Technical report: Discovery of microservices in enterprise systems using containment heuristics

Adambarage Anuruddha Chathuranga De Alwis, Alistair Barros, Colin Fidge, Artem Polyvyanyy · QUT ePrints (Queensland University of Technology) · 2018

The growth of IoT and Blockchain platform adaptation for business applications has increased the interest in leveraging large enterprise systems, such as ERP and CRM, as Cloud enabled microservices. However, large and monolithic enterprise systems are unsuitable for flexible integration with such platforms and are virtually in-feasible to evolve through a microservice architecture. We present a technique to support the re-engineering of enterprise systems based on the fundamental mechanism for structuring their architecture: business objects managed by software functions (modules) and their relationships which influence their interactions with functions. Heuristics are provided for deriving business object composition (i.e.~exclusive containment) and aggregation (i.e.~inclusive containment) based on analysis of source code and system logs. An analysis of distributing the systems based on these relationship types is provided using software clustering and optimization technique (NSGAII). The heuristics and the software clustering and optimization techniques are validated against open-source enterprise systems: SugarCRM and ChurchCRM, and experiments show that it can identify microservice designs which support multiple microservice characteristics, such as high cohesion, low coupling, high scalability, availability, and processing efficiency.

Read the paper · More papers on PaperTik