Red Hat’s OpenShift is an effective containerization platform, helping organizations underpin IT advancement by providing a Linux foundation; setting up Linux as their main operating system for containers. However, Red Hat is now extending its reach by adding support for Windows operating systems for developers working on OpenShift.
This is exciting news for organizations having a heterogeneous environment – a mix of Linux and Windows workloads. The question though, is why was there a need for Windows workload support?
The need to add Windows workload support
According to IDC’s report on the Worldwide Server Operating Environments Market Share 2018-19, Linux saw a much larger growth rate than windows. Windows saw a drop in growth. Despite this, Windows still has a significant presence among the server operating systems. This is one of the reasons for this change.
The second reason has to do with where companies are in their digital transformation journey. In a survey conducted by Red Hat, it was found that, among 1000 respondents across all regions, only 12% have achieved digital transformation and are currently leading the market through innovation.
Why is this figure significant? Because this figure suggests that many companies are hard-pressed by the market to increase their innovation. Causing these companies to rush into optimizing their legacy applications and infrastructure; resulting in a haphazard, mediocre result. The point to note is that, with these enterprises, a significant portion of their IT workloads run on Windows. Hence Windows on OpenShift will be a major advantage to them.
The requirement – Containerization
The new version of Red Hat enables OpenShift to support both Linux and Windows Operating Systems. Thus, developers can use containers for application development on both operating systems.
This change is timely as cloud-native deployments are now catching traction. Windows servers have been around for a long time in server operating systems. However, now, through the support of container technology, traditional Windows applications are transitioning to the cloud.
Rebuilding existing Windows-based applications is a time-consuming, tedious task. Thus, this new feature allows organizations to seamlessly move their existing windows workloads into OpenShift; optimizing them with the containerization benefits that come with an Enterprise Kubernetes cluster. This feature then enables Linux and Windows-based applications to run side-by-side; leveraging this to manage them in a single container orchestration platform.
The support for Windows is made possible by the Windows Machine Config Operator (WMCO) – a certified OpenShift operator. The WMCO is based on the Kubernetes Operator Framework and is supported by Red Hat and Microsoft. Users will need to access WMCO through the Operator Hub. Once they have access, they can manage their Windows containers through the OpenShift console.
In addition to helping this seamless move, organizations also benefit by getting access to the standard features offered by OpenShift like self-healing, scaling, service discovery, resilience, decoupled applications, and load balancing. Although, since it is still evolving, features like Serverless, Service Mesh, and OpenShift Pipelines, are not yet available.
Now that we’ve understood what this new update has to offer, let’s briefly understand how to move Windows workloads to OpenShift.
Moving Windows workloads to OpenShift
There are three effective strategies that you can work with to help move your Windows Workloads to OpenShift; 1) Rehost, 2) Rebuild/Re-Architect, 3) Refactor. Let’s consider these one at a time.
Rehost
Enterprises can use Red Hat OpenShift’s ability to host VMs and place them parallelly with Containers in the Same OpenShift Cluster. This ability is based on the KubeVirt upstream project. Rehosting has the least complications while migrating to OpenShift since the matter of refactoring an application to run as a container does not exist. Although, the only drawback is that you will miss out on the benefits that containerization brings in like resilience and load balancing.
Rebuild/Re-Architect
The rebuilding strategy, as the name suggests, will involve rebuilding the application. Companies will rebuild their applications using .Net core as it is Linux compatible and thus deployable in any OpenShift cluster. As an alternative, rebuilding is also possible through other modern cloud-native frameworks.
Typically, such applications are broken down into various micro-services that use middleware layers like, serverless functions, API gateway, and in-memory databases. This strategy is effective for Mode 2 applications since these require an IT fast lane to leverage business ideas and convert them into changes and features. However, generally, this strategy is time-consuming and requires a lot of effort.
Refactor
Refactoring comes with all the benefits of containerization. However, for it to be applicable, organizations need to check if their application is compatible with Windows Server 2019. If this is the case, then they can choose the refactor strategy to restructure their applications as Windows containers.
What this means for users
- Companies benefit from lower deployment costs making it easier to work with containerized workloads in a heterogeneous environment.
- By leveraging the provision of cloud-native management on a single platform, companies can significantly improve their overall productivity and DevOps agility.
- Since the task of writing new code or re-architecture doesn’t exist, companies can seamlessly move their Windows containers to Red Hat OpenShift.
- Enterprises can rest assured that their applications can now experience better portability and survivability – this across heterogeneous environments.