Containers Are Not a Windows Server Migration PanaceaNigel Stokes
Why Containerization Alone Won’t Solve the Problem of Running Legacy Applications on Modern Windows Servers
When it comes to moving workloads to a cloud-hosted VM or to new datacenter servers, companies are being sold that containerization is a panacea. It isn’t. At best, the claim that current container solutions significantly address the problem of running legacy Windows Server applications on a modern WS2016 operating system is naïve (based on a lack of domain expertise in moving Windows Server apps); at worst, it’s a lie.
Containers are simply empty vessels
While the orchestration of containers can be helpful, containers are simply a virtual box for an application. In the case of WS2016 Windows Docker containers, two years in, they remain only partially implemented and supported. Sure, containers can be used to isolate applications from other apps running on a server that may cause conflicts, and they can be used to dynamically spawn and scale processes. However, in the realm of Windows Server application migration, containerization by itself is not the destination. Why?
Essentially, the core concept of containerization is to isolate a legacy application from the underlying OS by placing it in a proprietary container. Apps that are loaded into a container shouldn’t be dependent on the container to run. The container is simply an empty vessel. A box is just a box. Legacy applications are stateful, not stateless microservices. Relying on the container as a destination means living with permanent management, system overhead, and another layer of lock-in.
At VirtaMove, we use our own lightweight container for isolation and testing on a target server. However, there is no permanent reliance on our container and it can be removed at the end of the moving process. Subsequently, the application will run natively on a modern Windows OS.
Where containers hold promise
Where containers do hold promise is in new system development. The sophisticated infrastructure involved in managing and orchestrating container technology helps developers build scalable systems that take full advantage of a micro-service architecture. The best implementation of container orchestration, proven by real-world demand and implementation, is Google Kubernetes. However, Kubernetes version 1.5 is an Alpha version only on WS2016.
Unfortunately, despite significant investment of time and money, most open source container projects amount to little more than attractive logos and hype. The production use of Windows Docker containers on WS2016 environments is virtually non-existent today. The claim that Windows Docker containers will magically scale to run WS2003 and WS2008 legacy applications on new WS2016 now or in the foreseeable future is misleading.
Lessons from a decade of experience
Our decade of experience has taught us that many issues need to be addressed to make legacy Windows apps run in a container and outside of it. To paraphrase Thomas A. Edison, real world experimentation teaches you a lot: “I have not failed. I’ve just found 10,000 ways that won’t work.” It’s never as simple as load into a container and run. It’s never just copy the ASP.Net file and run it.
Thanks to our deep domain expertise and patents, we’ve successfully moved thousands of legacy Windows server applications for hundreds of clients. We understand the problem both at a theoretical and practical level. We’ve overcome many significant hurdles to make it easier to move old workloads to new servers.
We understand that modernization is both a journey and a destination. Software keeps getting old, one version and operating system at a time – hence the journey. You’ll always be on the EOS ride.
It’s only a matter of time before the world discovers what VirtaMove already knows: making legacy applications run on Windows containers involves re-work and high overhead. Relying on the current limited implementation of Windows containers to move legacy applications will lead to a costly and disguised re-development effort. All the re-work is likely to cause system engineers to believe that, in the end, it would have been faster and cheaper to just re-install all applications and maintain them by hand.
Most IT shops can’t wait for a future modernization panacea. Extended support for WS2003 ended last July and will end for WS2008 in January 2020. The urgency to move legacy applications to more secure servers is real.
There’s a better way: an automated, stateful install
Instead of permanently containerizing legacy apps, you may want to aim for an automated, stateful re-install of legacy apps on a modern server and a modern OS. The benefits are many:
- Closing known security exposures on old W2K, WS2003 & WS2008 servers.
- Moving beyond WS2003 eliminates WannaCry, NotPetya, and Vault 7 malware risks. New hardware closes Spectre and Meltdown security holes. Your apps will run on a supported OS and your IT audit and compliance teams will be happy.
- Running on new hardware improves performance. New servers are scalable and run faster. You’ll get more work done with your existing apps.
- Fresh installs allow applications to be split and installed on separate servers. Or, apps can be consolidated and installed on a single server. It’s a chance to reconfigure where apps run.
- Some application software components, such as IIS and SQL, can be upgraded on-the-fly on new servers. New software components are offered as PaaS, run faster, are more secure, and provide advanced features.
- A stateful install on a modern, standard operating system reduces application clutter, cleans up log files, eliminates unnecessary apps, and lets you run on modern datacenter VMs or on the cloud. It also reduces OS patch management and lets you manage servers with advanced DevOps tools.
- Once moved, the life cycle of legacy apps can be extended. New development over time can address extended functional requirements. You’re not forced into costly app re-development simply because you want to run apps on modern servers.
At VirtaMove, we don’t need install scripts, developers, or app owners to learn and re-install apps. Day in and day out, we successfully automate the stateful installation of Windows 2000, WS2003, and WS2008 applications on new virtual machines and servers running WS2012 and WS2016.
If you’re ready to move and need help with upgrading your Microsoft Server applications or would like to understand Migration Intelligence, don’t hesitate to give us a call. We modernize applications and move them to new secure Windows operating systems every day and are pleased to share our domain expertise and what we know.