JumalaSika ltd - Fotolia
At the recent ChefCon conference in London, automation software provider Chef wowed delegates with a demonstration of its Habitat application configuration tool, which it claimed could migrate a Windows server application from Windows 2008 onto a modern, supported version of the operating system in a matter of minutes. It is able to achieve this by changing the way the operating system environment works with applications.
Although Windows offers backwards compatibility, application code is often dependent on certain versions of core Windows components, such as dynamic link libraries or a particular version of the .Net framework.
Installing the application code onto system running the latest Windows Server operating system will usually fail, warned Corey Scobie, Chef’s senior vice-president of products and engineering, because the application relies on software dependencies that are not available on the newer operating system environment.
“We created Habitat to let you manage software abstraction,” he said. “It enables you to pull apart the application software and the operating system.”
Scobie said the starting point in migrating off Windows Server 2008 is to define the application that needs migrating. Habitat then analyses all the different pieces of additional software the application requires in order to run and separates these from the application and the operating system environment.
“The technology we have created will go and discover all of the downstream dependencies and bundle them up into a package which you can then transfer over to a different environment,” he said.
According to Scobie, the reason many applications fail after being migrated is because the application code expects older versions of these core Windows components.
Corey Scobie, Chef
“Typically, applications are tied in to specific versions of an operating system. If your application is dependent on a core Windows component like Win32.dll, this component will have an application programming interface that may be incompatible across different versions of Windows,” he said.
To get around this stumbling block when migrating older Windows application, Scobie said the abstraction Chef has created tells the application to ignore the normal places it looks whenever it needs to load Windows components. “We tell the application to ignore all the stuff that is on the target operating system and only use the components it originally came with,” he said.
With Habitat, version-specific components are packaged up and put into a folder on the target Windows server. The legacy application is then told to look inside this folder whenever it requires a version-specific Windows component. In practice, this means the application can continue to use Windows Server 2008 components, even though it may be running on Windows Server 2019.
The demo at ChefCon showed how a legacy Windows Server 2008 application could be migrated using Habitat onto a Windows Server 2016 virtual machine in the Microsoft Azure public cloud. Scobie said Habitat also gives migration teams the option to deploy the legacy application in a container using a Docker image.
The application code remains untouched, which means the legacy code can be run in a more modern, supported environment. According to Chef, it can be deployed on a physical server, in the public cloud or in a container.
Read more about Windows 2008 migration
- Microsoft will end support for Windows Server 2008 in 2020. Many applications will fail to upgrade to the latest server OS. But Docker has a plan.
- As Microsoft support for Server 2008 R2 nears its sunset, a raft of complications make it difficult for many in IT to get on board with the Azure platform.