This content is part of the Essential Guide: Guide to tackling a server refresh project

Overcoming the many challenges of a Unix-to-Windows migration

Switching from Unix to Windows means new programming languages, Web services, security and more. Ease the transition with planning and emulators.

With Unix losing steam in the enterprise, enterprises are on the lookout for new destinations for their workloads, and Microsoft Windows is one possible landing spot.

But the path from an old system to a new one is strewn with bumps and ruts that force companies to plan carefully. You can avoid a lot of bumps in the road as you tackle a Unix-to-Windows migration.

Global revenue for RISC and Itanium Unix servers decreased by 54.8% in the first quarter of 2013 compared to the same period in 2012, said Adrian O'Connell, research director at Gartner Inc., noting it's more of the same for Unix servers.

Corporations are migrating to alternative platforms that offer lower costs and more flexibility, such as Microsoft Windows, Gartner reports. While Unix revenue plummeted in the first quarter, revenue for x86 servers predominately running Windows rose by 1.8%.

Yet enterprises need to exercise caution in the move from high-cost Unix systems to lower-priced Windows servers. "Most hardware migrations fail," said Michael Howard, CEO at Unicon Conversion Technologies Inc., a reseller firm that specializes in platform migration.

These failures occur for many reasons.

Roadblocks in the Unix to Windows migration

The first step is identifying the systems' similarities and differences. Unix systems tend to rely on Apache for Web services, while Windows relies on Internet Information Services (IIS). Though they provide the same basic functions, Apache and IIS use different terminology and accomplish tasks via different methods. IT staff need training even if the new system seems similar.

Corporations should verify that the Windows servers in the migration are fully patched and feature the latest security functions.

Administrators have to learn new programming languages. Perl, Python, PHP and Java are quite common under Unix. On the Windows side of the equation, Visual Basic, .NET and Visual C++ are more popular.

Application programming code can cause other problems. "In many cases, corporations tinker with applications and customize them for their own use," Howard said. "When they go to move the application to the new system, the conversion often is not clean." In some cases, the changes were made years ago, not well documented -- in some instances, not documented at all -- and therefore difficult to decipher.

Hardware migrations involve dozens and in some cases hundreds of applications. "Businesses need to start small and establish reasonable time frames for how long the migration process will take," said Howard. Firms often underestimate the work required and try to rush the process.

Enterprise applications and platforms are reflections of business processes, so those processes will likely be affected by the Unix-to-Windows migration. Business processes are dynamic: They are constantly maturing, being recreated, evolving and becoming obsolete. The complex, time-consuming nature of migrations means that a system could look different by the time the migration wraps up. Enterprises need to make sure that their migration plan is flexible enough to accommodate changes in business processes.

Security is a key concern on any enterprise system, and generally it has been tighter on Unix systems than on Windows servers. Unix was designed from the ground up as an enterprise operating system. Windows was geared more toward personal computing and gradually evolved to take on more business functions. Hackers have focused on breaking Windows. Consequently, Windows sports a wide and ever-changing array of security holes that Unix simply doesn't have. Corporations should verify that the Windows servers in the migration are fully patched and feature the latest security functions.

Businesses want to deploy security at granular levels. Although one-size-fits-all centralized security is simple to deploy, it does not meet every company's needs. Some firms require folder- and document-level security for sensitive information, such as accounting data and customer billing numbers. Many Windows applications rely on Microsoft's Active Directory for security functions, so Unix IT departments will need to learn to use AD.

Data also must be properly stored and protected. Even if a firm uses two different computers for its Unix-to-Windows migration, it is still possible to delete vital information on either host. Having a sound backup and recovery plan before the process starts helps ensure that the business can resolve these problems by restoring the data, if necessary.

Migration tools and emulators

Although scarce, a few tools exist from Microsoft and partners to ease the Unix-to-Windows transition. Scripting program Windows PowerShell is built on the common language runtime featured in the Microsoft .NET Framework architecture. Microsoft also offers Unix emulation on Windows via the Subsystem for Unix-based Applications. For database management system issues, the Microsoft Assessment and Planning tool identifies potential database migration candidates and the SQL Server Migration Assistant helps perform the migration.

Unix emulation on Windows is also provided by UWin, an open source tool. Microsoft channel partners MKS Inc. and Orbital Technologies Inc. offer custom services and various programming tools for businesses moving from Unix to Windows.

About the author:

Paul Korzeniowski is a freelance writer who specializes in cloud computing and data-center-related topics. He is based in Sudbury, Mass., and can be reached at [email protected]

Dig Deeper on Linux servers