Zero-Touch Declarative Rehosting of Legacy Monolith Applications to OpenShift Virtualization
Author: Vishal Anand, Thought Leader IT Architect, Sr. Inventor
Today, I am going to share a unique experience of power of open source and its declarative automation related to OpenShift Virtualization. It is about automated rehosting of multiple legacy monolith applications to OpenShift Container Platform, all in parallel.
I am not joking when I say zero-touch rehosting here. I mean it — I did not have to login or touch or do anything on the source side applications, VMs, hosts etc. I rehosted source (legacy) to target (OpenShift) by leveraging declarative automation from the target side itself. It did everything for me.
And, it means running those virtualized applications (as VMs) on OpenShift Container Platform in a Kubernetes-native style leveraging OpenShift Virtualization and Konveyor capabilities as shown below.
I rehosted, multiple Linux based as well as Windows based VMs running with custom legacy Java applications, PostgreSQL / RDBMS, and WildFly/Jboss application servers in 24 minutes approximately, all in parallel — done and dusted — up and running on my modern OpenShift container platform. OpenShift Virtualization and Konveyor were installed and instantiated before rehosting.
To start with, I created simple mapping of network and storage in the Forklift, I added a source provider, created a migration plan — all within 4 minutes with status as ‘Ready’ in green. As I created a migration plan it pulled up and listed all source legacy VMs. I selected VMs which were running my applications, databases and webservers — and clicked on “Start”.
This is where the power of declarative automation surfaced up to human eyes as shown in figure 1.
In the Forklift UI, as you see it started transferring disks and converting images to the required format — for each VM , in parallel. Disk sizes were of 10 GB (Linux) and 25 GB (Windows) as shown.
On the OpenShift console side too, you can see all VMs importing (figure 2).
In a few minutes (7– 9 minutes) , it started completing and running as shown below in figure 3 and figure 4 respectively.
And it all completed in approximately 17 minutes on Forklift side and validated on OpenShift console side as shown in figure 5 and figure 6.
Further, I spent a minute or so in updating a few services and routes on the OpenShift side. That was it.
There you go — my Java application, WildFly/Jboss, PostgreSQL/RDBMS etc. all up and running with catalog, cart, inventory, APIs etc. services up. I was able to login to my application and use its functionalities successfully.
In summary, digital transformation journeys today demand to consider moving legacy applications (modernized — containerized and/or virtualized ) to a platform which brings innovation, velocity, Kubernetes-native advancements, modernized operating models, modernized development approaches, modernized maintenance approaches, future-proof skills, modernized consumption, consistent experience, and many more advantages. It is time that we leverage common OpenShift Container Platform for containerized and virtualized applications, side by side, to fast track multi dimensional modernization. Follow a simple use-cases and MVP based approach for non-prod environments — and expand from there on.
Disclaimer: Views and thoughts expressed are my very own and really personal ones.