Migrating existing applications to Quarkus with Migration Toolkit for Applications
Java is a language that never ceases to impress me. From its conception, to the first Java Virtual Machines with the premise of “write once run anywhere”, to Tomcat or to the Enterprise Edition standards (whether J2EE, or Java EE) it’s an ever evolving language. With the advent of containerization and the possibility of effectively managing microservices, running components that could be loaded in a "reactive" manner and the need for boot speed and efficiency, Quarkus is revealing itself as the choice for Cloud Native Java programmers.
But, after so many years and lines of code written, how can we move those Java workloads to this set of new paradigms? The Red Hat Modernization and Migration Solutions team is here to help by providing the Migration Toolkit for Applications (MTA), a tool that simplifies, and reduces the effort required to take this step. As a matter of fact, just like Java, MTA is not a new tool but one that has been evolving over time.
It all started by helping developers update their code to run in a new JBoss EAP version, a "piece of cake". That’s why the tool started by being called "JBoss Cake" back in 2012. It kept evolving to be able to be used to modernize Java code and move it from WebLogic or WebSphere to JBoss EAP or JBoss Web Server (the Red Hat Supported build of Tomcat), when it became the Red Hat Application Migration Toolkit. It kept being improved by developers and consultants, bringing their experience by working in the first line with production code, who wrote more and better rules, increasing the number of covered cases.
In the latest evolution, the tool started being called by its current name, Migration Toolkit for Applications, or MTA. With the release 5.0.0, it started seeding the first rules to help migrate applications from the Spring Boot framework to Quarkus. That happened, among other things due to the feedback that developer teams working with modern Java patterns, and deploying on Kubernetes, were interested in. It happened that these teams were using Spring Boot but quickly became interested in Quarkus as a way to improve speed, required resources, and productivity. With version 5.1.1, MTA broke the 120 rules barrier to ease this transformation path. Now, closing the circle, MTA in the coming release 5.1.3 of MTA (expected by mid March 2021) will include rules to upgrade code written for Quarkus 1.11, so it can efficiently be moved to 1.12. A piece of cake!
Do you want to know more? Here you are, some MTA related resources:
MTA web page (with downloads and demo videos)
Spring Boot to Quarkus migrations with MTA (in developers.redhat.com)
Migrating Spring Boot "Pet-Clinic" (REST version) to Quarkus (konveyor.io meetup recording)