 Hi everybody welcome back another technical demo around the focus application in this video I'm going to showcase how to migrate your supreme boot application to focus you're going to use a migration to people application Also known as mta. So let's get sorry when you run mta tool on top of the push to container platform Or like the web console or just see I come in line. This is just a quick example when you use the web console You are you can actually select the multiple transformation paths to migrate your application So for example, as you can see you can actually select for migration paths with the dj was EAP or Containerization to running a fish container platform or just a witness container and also you can select open jk as a target environment So we're going to use a quarkus as As target environment as a part of your transformation path and you can also use and select the spring boot on redhead runtime, which means you can migrate from community spring boot project to redhead Spring boot runtime by support redhead. Okay. This is my approach to container platform We're going to we're going to create a new project first change mta dash test and then We needed to go to operators menu and operator hub We're going to install the mta using operator. So actually you can install standalone server on your local machine or your server also, you can Use id plugin or may be plugin, but we're going to use mta operator in this case because operator allows you to maintain your any application tool on a container platform, for example upgrade and patch or something change in your mta tool Okay, so we just install our operator And just to get there a little bit detail and then you can find the yaml and subscription and event and the migration tool Give for application Let's try to create a new windup server the wind up this community name project name or mta Okay, there are the terms of the configuration when you Install or create a new windup instance here So for example, you can define mta volume capacity to use pvc because when you enter your migration report you need to store that report into storage and then you can define CPU memory capacity as well and there are a lot of configuration you can specify at Installation time. You can also change there once you create the windup server Okay, so let's go to a developer perspective you can find the four parts already running the one is operator the other is mta and executor and also post-graph scale to store your old Analyst report here in the meantime Let's just really be talk about what mta is and a benefit So migration tool give for application is an extensible and customizable rule-based tool Which he simplified the migration of your Java application So this mta basically examines application artifacts including project source directories and application archives And then produce html report that highlights area needing changes So and there are a lot of more features. For example, you can plan in a world estimation when you migrate or modernize existing java application to cloud neighbor microsoft's application You can also identify migration issue and And providing solution as well And there are when you take a look at that the result report and analysis report You're going to find a lot of the high-level views of a migration apple in detail What specific migration task based on story point? And then you could also customize your own rules For your migration path Okay, uh, let's click on mta pod and click on view logs. You can find all the server load in the Low terminal window in a based on container platform as you can see the mta pod is already running and Ready to go. So let's click on the route. You are it and this is the landing page of the mta the web console Basically the idea is an mta password just password Okay, let's try to create a new project for migration for example spring migration We're going to use the one of the most popular spring project like a pet clinic application based on rest implementation You can also drag and drop or the import one of the uh, the server paths Okay, so next step, uh, we're going to select the transformation target. You can also, uh, select EAP or containerization or links up and dedicated. I already mentioned earlier for today We're going to select the parkers Uh to migrate uh existing spring boot Pet clinic application Okay, so select the packaging you already selected the based on spring packaging uh rest semester Uh directory and we're going to next because we're not I'm not going to use the custom labels and custom rules And then target the parkers and the source is spring boot And there are tons of more the source and target are predefined and I'm not going to specify the specific value. So just run This active analysis based on spring boot application to parkers. It takes a few seconds or sometimes it depends on the how much how many your application Uh has the the number of source code So it normally takes a uh a few minutes or some 30 seconds to complete So there are 913 source code here and then we just finish that and then you can find that a more detailed like Included packaging or custom rules a custom label and you're going to report you can find another window and then here is the uh story point How much effort or time you need to migrate this application? Let's go to an issue menu and then you can find Five migration mandatory issue and the one information here So click on one of the issues here and you can find that uh, you need to change palm xml Because you you basically use a spring cache. But luckily quarkus provides spring compatible api, which means the developer standpoint They don't need to change any source code. Just change the palm xml to use uh quarkus uh Spring compatible api but also You need to change the quarkus bomb based on Using quarkus application when you click on the links in the inner city forward You can find the more detail how to change or migrate your application For example, you need to add the build in the profile on your palm xml to use list quarkus application bomb project All right. So let's take another the spring cache click on quarkus application for spring cache compatibility api You just need to add the dependency here spring Quarkus and cache and Extension here and the spring web spring security and then it's all the same age Just you need to add the new dependencies on your palm xml Which means you don't need to change any source code in your java classes as well Let's try to another project In this case, so we're going to migrate this application to right here runtime spring boot because already at runtime also support and provide and the compatibility of spring boot project capability So in this case, uh, sometimes you are playing with the community spring boot application, but sometimes you need to have Production ready support by vendor like a red hat. So red has red have runtime subscription provide and support the spring boot capability as well So we're going to use that thing, but I'm going to showcase the This red have spring boot support is exactly same the community project functionality or capability. So when you run The web console based the analysis of mta from existing spring boot application to migrate runtime spring boot You will find the story point just like we did for quarkus migration So as you can see no story point here, which means that your existing spring boot application could exactly Works in red have runtime spring boot environment So just one thing you need to change the the main boot pop excel mail to report to Red Hat main boot repository How do you do that? And then you can go to red hat runtime spring boot bomb To use the main dependency version as you can see You really just use this not so drop dependency based on race latest version of the red hat spring boot support This is a simple way To change using community based spring boot application project to retire runtime based project So thank you for watching and we'll have a good rest of the day