Application refactoring refers to the process of partitioning legacy applications into microservices, preserving the original semantics of the applications. Refactoring is not easy. Architects examine code, deployment artifacts, test cases, and available documentation to recommend microservices. This process is manual, ad-hoc, subjective, time-consuming, and error-prone. Many refactoring projects get abandoned after spending a significant amount of time and resource. AI can be used here to semi-automate the refactoring process.
Mono2Micro uses machine learning AI on the static and dynamic analysis of Java monoliths, considering existing dependencies in code as well as observed execution of code for business use cases, to arrive at partitioning recommendations that could serve as future microservices. Mono2Micro allows visualization and customizations of these partitions in a UI, and automatically generates starter code in order to implement and evolve the partitions to deploy as microservices on a Java application platform like Open Liberty & WebSphere Liberty.
Note that this is part 2 of a 3-session series on Cloud-Native Development, Application Modernization & Java Innovations on Jun 8/9, Jun 22/23, and Jul 13/14. The sessions are independent of each other, so if you miss an earlier session, you will still get value from subsequent sessions. We will provide reference links and do quick recaps of previous sessions as required.
Presenter: Leonard Theivendra
Len is currently the architect and lead for Mono2Micro, part of the app modernization product suite in IBM’s application platform and automation portfolio. He has worked in Java enterprise development and application server environments at IBM since 1996, and is presently focused on innovative AI-driven solutions that help modernize enterprise applications for the hybrid cloud.