cancel
Showing results for 
Search instead for 
Did you mean: 
Hassan9
Mission Specialist
Mission Specialist
  • 338 Views

Migration to Openshift

Jump to solution

Hello Red Hat Community,

Our company currently runs most of our workloads on VMware (vSphere/ESXi). We are evaluating OpenShift as a platform for modernization and would like to know the recommended approach for migrating different types of applications:

  • Databases: Oracle Database and Microsoft SQL Server (currently running on VMs)

  • Windows applications: legacy .NET Framework apps running on Windows Server VMs

  • Web-based applications: mix of Java, PHP, and .NET Core apps running on Linux/Windows

  • Other enterprise apps that we are not yet able to containerize

Our questions are:

  1. Can these applications be migrated and run inside OpenShift directly?

  2. Should Oracle and SQL Server stay external, or can they run inside OpenShift?

  3. For Windows applications, is OpenShift Virtualization (CNV) the right path, or should we look at Windows worker nodes?

  4. What are best practices to decide which apps to containerize now vs. which to keep running as VMs in OpenShift Virtualization?

Labels (2)
2 Solutions

Accepted Solutions
Chetan_Tiwary_
Community Manager
Community Manager
  • 219 Views

@Hassan9 You might want to connect to a RH expert who can help you with the details here : https://www.redhat.com/en/contact/sales 

Q.'For Windows applications, is OpenShift Virtualization (CNV) the right path, or should we look at Windows worker nodes?'

Running Windows VMs on KVM / linux workers is fine. CNV does not work with Windows nodes. If you want to run containerized windows applications without CNV, of course you can add windows nodes. 

 

Q.'What are best practices to decide which apps to containerize now vs. which to keep running as VMs in OpenShift Virtualization?'

Not sure what's the best take here, but I would start by migrating everything as it is. Then I'd start by gradually moving applications to containers where possible, in best case with canary deployments.

View solution in original post

0 Kudos
Chetan_Tiwary_
Community Manager
Community Manager
  • 172 Views

I consulted an OCP virtualization expert colleague of mine and he responded with the below information : 

https://catalog.redhat.com/en/platform/red-hat-openshift/virtualization 

Your questions and the corresponding responses are:

Can these applications be migrated and run inside OpenShift directly?

Probably yes, but each one must be assessed individually, not only for what's inside its VM, but also on its dependency of other services which may or may not be integrated with the current hypervisor.


This is an option in some cases, like for Microsoft SQL Server, you can run it in VMs on OpenShift, or directly in containers.
It's less about the technology, and more about the operational considerations. Running a database directly in. container requires a bit more k8s knowledge for the DBAs, than running the same database in a VM on OpenShift. It's not better or worse, just different.


Should Oracle and SQL Server stay external, or can they run inside OpenShift?

In general, I cannot see a reason for avoiding running databases, or any other memory or I/O intensive workload, on OpenShift. Many companies do that nowadays. Assuming that databases work better outside of OpenShift is a misconception, similar to the early days of virtualizations, where companies assumed that databases would require running on bare metal hardware and not be good on hypervisors. If everything is properly configured and tuned, it should work fine, and typical databases may not even require much specialized tuning. It may be a matter of having storage with good support for OpenShift and for Kubernetes in general.

I don't know about Oracle specifically, Most Oracle products are certified on RHEL and run very well on it, and frequently the certifications/compatibility apply to OpenShift as well. I don't know about Oracle DB as a container. Technically it should be a no-brainer, but Oracle may not support it.

About SQL server, I hear it is commonly run as a container in OpenShift, using the native Linux version of SQL server, which is said to perform better than its Windows version in most scenarios, including outside of OpenShift. I also hear that running the Windows version of SQL Server as a VM on OpenShift is just fine. I honestly never heard of Windows SQL Server as a Windows container. Windows-native containers got very little traction, most people mean "Linux containers" when they say "containers" and many vendors of what used to be windows-only software nowadays provide linux native versions of them, in part so they run in Kubernetes products like OpenShift.

Bottom line is: Red Hat is never responsible for "supporting" any third-party software on any of its platforms. It's the responsibility of their respective vendors to provide such support, even if it's just instructions about how to deploy it on OpenShift. And the same is also true for Microsoft, VMware/Broadcom, Nutanix, AWS... Each software is a special case which must be assessed by itself. In general, you can expect that something which runs as a VM anywhere would run well as a VM with OpenShift Virtualization. How many apps will be easy migrations and how many will require more work is unknown when you start.


We've been running Oracle and MS SQL Server at large scale in VMs on OpenShift, and have no significant concerns. The biggest difference might be the storage architecture connected to the OpenShift cluster. For similarly configured workload on similar hardware, you can expect performance parity.


For Windows applications, is OpenShift Virtualization (CNV) the right path, or should we look at Windows worker nodes?

It depends. Personally, I would run Windows VMs instead of Windows nodes, because of the ease of spinning more Windows VMs as you need. Isn't that the reason most companies went to virtualization, in the first place? To avoid having to manage individual bare-metal servers dedicated to run a single OS?

Maybe someone with concrete experience using Windows nodes on OpenShift clusters can give some recommendations about scenarios where windows nodes would be preferable, but AFAIK it's a nice alternative and Windows on CNV VMs is the generic approach.


Windows VMs on OpenShift are almost always the right call. Your in-guest automation and software agents should "just work" inside of a Microsoft Windows VM on OpenShift. The operational model is also more familiar, similar to "run my database in VMs or containers", as discussed above.

All supported versions of Microsoft Windows ( version 2016 and later) are fully supported on OpenShift.

Certified Guest Operating Systems in OpenShift Virtualization


Windows containers require upgrading your workloads to run on at least Microsoft Windows Server 2019, which is additional work.

2.2.2. WMCO 10-19.0 supported platforms and Windows Server versions

 

View solution in original post

2 Replies
Chetan_Tiwary_
Community Manager
Community Manager
  • 220 Views

@Hassan9 You might want to connect to a RH expert who can help you with the details here : https://www.redhat.com/en/contact/sales 

Q.'For Windows applications, is OpenShift Virtualization (CNV) the right path, or should we look at Windows worker nodes?'

Running Windows VMs on KVM / linux workers is fine. CNV does not work with Windows nodes. If you want to run containerized windows applications without CNV, of course you can add windows nodes. 

 

Q.'What are best practices to decide which apps to containerize now vs. which to keep running as VMs in OpenShift Virtualization?'

Not sure what's the best take here, but I would start by migrating everything as it is. Then I'd start by gradually moving applications to containers where possible, in best case with canary deployments.

0 Kudos
Chetan_Tiwary_
Community Manager
Community Manager
  • 173 Views

I consulted an OCP virtualization expert colleague of mine and he responded with the below information : 

https://catalog.redhat.com/en/platform/red-hat-openshift/virtualization 

Your questions and the corresponding responses are:

Can these applications be migrated and run inside OpenShift directly?

Probably yes, but each one must be assessed individually, not only for what's inside its VM, but also on its dependency of other services which may or may not be integrated with the current hypervisor.


This is an option in some cases, like for Microsoft SQL Server, you can run it in VMs on OpenShift, or directly in containers.
It's less about the technology, and more about the operational considerations. Running a database directly in. container requires a bit more k8s knowledge for the DBAs, than running the same database in a VM on OpenShift. It's not better or worse, just different.


Should Oracle and SQL Server stay external, or can they run inside OpenShift?

In general, I cannot see a reason for avoiding running databases, or any other memory or I/O intensive workload, on OpenShift. Many companies do that nowadays. Assuming that databases work better outside of OpenShift is a misconception, similar to the early days of virtualizations, where companies assumed that databases would require running on bare metal hardware and not be good on hypervisors. If everything is properly configured and tuned, it should work fine, and typical databases may not even require much specialized tuning. It may be a matter of having storage with good support for OpenShift and for Kubernetes in general.

I don't know about Oracle specifically, Most Oracle products are certified on RHEL and run very well on it, and frequently the certifications/compatibility apply to OpenShift as well. I don't know about Oracle DB as a container. Technically it should be a no-brainer, but Oracle may not support it.

About SQL server, I hear it is commonly run as a container in OpenShift, using the native Linux version of SQL server, which is said to perform better than its Windows version in most scenarios, including outside of OpenShift. I also hear that running the Windows version of SQL Server as a VM on OpenShift is just fine. I honestly never heard of Windows SQL Server as a Windows container. Windows-native containers got very little traction, most people mean "Linux containers" when they say "containers" and many vendors of what used to be windows-only software nowadays provide linux native versions of them, in part so they run in Kubernetes products like OpenShift.

Bottom line is: Red Hat is never responsible for "supporting" any third-party software on any of its platforms. It's the responsibility of their respective vendors to provide such support, even if it's just instructions about how to deploy it on OpenShift. And the same is also true for Microsoft, VMware/Broadcom, Nutanix, AWS... Each software is a special case which must be assessed by itself. In general, you can expect that something which runs as a VM anywhere would run well as a VM with OpenShift Virtualization. How many apps will be easy migrations and how many will require more work is unknown when you start.


We've been running Oracle and MS SQL Server at large scale in VMs on OpenShift, and have no significant concerns. The biggest difference might be the storage architecture connected to the OpenShift cluster. For similarly configured workload on similar hardware, you can expect performance parity.


For Windows applications, is OpenShift Virtualization (CNV) the right path, or should we look at Windows worker nodes?

It depends. Personally, I would run Windows VMs instead of Windows nodes, because of the ease of spinning more Windows VMs as you need. Isn't that the reason most companies went to virtualization, in the first place? To avoid having to manage individual bare-metal servers dedicated to run a single OS?

Maybe someone with concrete experience using Windows nodes on OpenShift clusters can give some recommendations about scenarios where windows nodes would be preferable, but AFAIK it's a nice alternative and Windows on CNV VMs is the generic approach.


Windows VMs on OpenShift are almost always the right call. Your in-guest automation and software agents should "just work" inside of a Microsoft Windows VM on OpenShift. The operational model is also more familiar, similar to "run my database in VMs or containers", as discussed above.

All supported versions of Microsoft Windows ( version 2016 and later) are fully supported on OpenShift.

Certified Guest Operating Systems in OpenShift Virtualization


Windows containers require upgrading your workloads to run on at least Microsoft Windows Server 2019, which is additional work.

2.2.2. WMCO 10-19.0 supported platforms and Windows Server versions

 

Join the discussion
You must log in to join this conversation.