Microsoft’s platform play hits the big time

Windows Server 2003 is technically solid, with performance and capacity gains that deflate arguments against adoption

With each new release of Microsoft's server operating system, pundits are moved to declare that this one is the first Windows truly suited to the enterprise. And it is especially tempting to hang that tag on Windows Server 2003.

Windows crossed the enterprise line back in the mid-1990s with the release of Windows NT Option Pack 4, when Microsoft started bundling business essentials such as Web, object, transaction, and messaging services into the foundation OS. Windows made the leap from file/print server to robust application platform. Developers went nuts over Visual Studio, especially Visual Basic and Active Server Pages, assuring Windows' ascent into the world of business server computing.

No software product spends as much time in development as an operating system. The market hasn't seen a fresh edition of Windows Server in nearly four years, and the enterprise market has changed substantially in terms of customer expectations, economic viability, and competitors' strategies. The present reality is not what Microsoft had in mind when it put its next-generation server platform on the drawing board.

Even so, the technology Microsoft pulled together for Windows Server 2003 is its best effort by far, an uncannily good fit for the myriad challenges modern IT organizations face. It is, in the best sense, a total solution in a box.

In the lab, installed on an Intel dual Xeon reference platform and on a Newisys dual Opteron machine, the new Windows server clearly outclassed Windows 2000. At the core level, hyperthreading on the Xeon and NUMA (nonuniform memory access) on Opteron boost baseline performance noticeably and smooth task-switching.

Refinements to disk I/O and SMP (symmetric multiprocessing) scaling can be seen especially clearly in SQL Server 2000 and Terminal Services. Lights-out management hardware in both servers was enabled automatically during the installation. Experienced Windows admins will find "secure by default" a pain in the neck at first, but no one can argue against the necessity of having Windows Server 2003 install in a locked-down state.

Of course the cost, bizarre licensing terms, forced migration, and confusing packaging will turn many companies away. But if a decision could be made on purely technical grounds, Windows Server 2003 would be an unquestionably worthwhile investment.

Platform or OS?

Since Microsoft made the strategic decision to throw everything but the kitchen sink into the box with their OS -- only hardcore Windows developers realize how much standard functionality Windows 2000 Server contains -- competing vendors have alternately mimicked and derided the all-inclusive platform approach.

For example, the only way Sun Microsystems could construct a competitive platform was to combine Solaris with J2EE. Sun undertook that decision grudgingly, after years of berating Microsoft for failing to see the wisdom of separating the OS from the application platform. Sun's Solaris/J2EE combination is now bundled with their server hardware.

But Sun remains defiant. When Sun refers to the "Java platform," it is claiming that the OS is irrelevant. That may be a bit too convenient to be taken seriously -- if Sun can get the market to agree with that assertion, Microsoft won't be able to make money from Windows. Nonetheless, J2EE does run atop many different operating systems, including Windows. It abstracts system services so that programmers can code mostly without regard for the underlying OS. J2EE implements its own stack of network and data-handling services to smooth out the differences between various OSes' standard facilities.

In contrast, Microsoft binds its enterprise application platform so tightly to Windows that it would be a monstrous task to pry the two apart. And apart from religious and political debates, there hasn't been much call from the market to make the Microsoft application platform run anywhere but Windows.

Some may be reluctant to admit it, but developers and administrators like the way the Windows OS, its standard services, the Win32 API, the .Net framework, and the combined administrative tools fit together. Windows Server 2003 bolsters, fills out, and integrates the pieces of Windows so thoroughly that no one can argue convincingly for breaking the components apart.

2X or Bust

Work on the core Windows OS was effectively completed with Windows 2000. So this time around the effort focused on fine tuning performance, removing limitations, cleaning up inefficient code, closing security holes, and making the whole 2003 package easier to manage.

Microsoft's internal rallying cry on Windows Server 2003 performance and capacity was "2X or bust!" That was a lot to ask, and it took a long time to achieve it. But the development teams banded together and somehow they did make key Windows features and services run twice as fast or handle twice as many connections as Windows 2000.

The extent to which Microsoft pulled this off, or at least came close, is amazing. There are massive performance and capacity gains in so many areas -- HTTP transactions, file services, terminal services, Active Directory, Media Services -- that it's fair to say Microsoft's developers hit their targets across the board.

Still, Microsoft's inclusive platform approach would fall flat if its OS and services improvements weren't apparent in third-party applications. A massive boost to Windows' scale-up (increasing compute capacity by adding CPUs to a multiprocessor server) efficiency finally removes the shortcoming Windows has always suffered in systems with four or more processors.

The new OS also leverages Intel's Hyper-Threading hardware to speed and smooth task switching, a move that makes all applications more responsive. On AMD's Opteron hardware, even the 32-bit version of Windows Server 2003 uses NUMA (nonuniform memory architecture) to expand total addressable memory and boost performance.

To improve scale-out (increasing compute capacity by adding more discrete systems), Microsoft moved clustering services from the rarified Data Center Edition to the readily available Enterprise Edition, so more applications can rely on clusters to improve performance and availability.

The new OS significantly enhances all server-hosted applications. For apps using HTTP as a transport (especially browser-based clients), kernel-level HTTP caching and connection management improve speed and stability transparently. Software written with rich interfaces -- whether they be written with Win32 or .Net -- can be hosted by Terminal Services and run efficiently on everything from Mac and Linux desktops to Windows thin clients, such as those based on Microsoft's Smart Display architecture.

Knowing that these services exist in the OS and are done uniformly well will change the way developers approach application development. Redevelopment is not always necessary, but applications that explicitly work around Windows 2000's limitations or make themselves fit within those limitations should be tuned or reconfigured to open them up for Windows 2003. Applications originally built to scale out because scale-up worked poorly can quit worrying about the topology on which they're run. Software needs to be benchmarked for the new platform if, for performance reasons, it refuses to run on Terminal Services or if it won't store data on a Windows network share.

Sometimes infrastructure changes are warranted, too. Administrators will find that some appliances and Windows add-ins that cache and accelerate Web traffic are no longer needed. The total number of servers required for a Terminal Services, Active Directory, or Web farm can be reduced by adding inexpensive memory (assuming you sidestepped Intel's flirtation with Rambus) to several machines. Most of the formulas used to size Windows servers to match their workload have to be tossed out. After migrating to Windows Server 2003, companies can get by with fewer or less-expensive server machines, which can help balance the software costs.

The 64-bit question gets answered

One major change that debuts in Windows Server 2003, although it won't be apparent to most customers, is Microsoft's adaptation of Windows to a 64-bit processor. Windows NT ran on several high-performance alternatives to Intel's x86 architecture, including Alpha and Power. These ports were discarded when Microsoft moved to Windows 2000. Now Microsoft is inching its way back into 64-bit computing.

Microsoft announced that the retail release of Windows Server 2003 would include support for Intel's Itanium and Itanium 2 processors. That's a boon for Intel and primary partner HP, which plans to roll out a broad line of Itanium 2-based servers in mid-2003. Lining up Windows support for that processor was crucial to HP's timetable.

To achieve Itanium compatibility, Microsoft had to scan its entire collection of Windows code looking for portions that weren't "64-bit clean." If software makes any assumptions about its hardware architecture -- in this case, assuming the system runs a 32-bit x86 processor -- those assumptions must be removed. According to Microsoft, that work has been done, and Windows runs on Itanium hardware now. Microsoft has also committed to porting 64-bit Windows to AMD's Opteron CPU, with a beta release slated for this summer. This broader platform support is a good thing overall, although it will force IT to make some decisions it hasn't had to face in several years: If Windows is the right OS, is it best to run it on x86, Itanium, or Opteron?

There is one decision organizations won't have to rush -- the move to .Net. Microsoft reversed its position that companies should rework everything for Windows-managed application framework. The .Net Framework is now just part of the Windows platform. It is installed with Windows Server 2003, but it does not replace the various frameworks (like Win32 and COM+) that were used to create Windows NT and Windows 2000 software.

Nor has Microsoft reserved Windows Server 2003's performance benefits solely for .Net software. Windows is a true platform, with an application layer that's acutely aware of the specific OS. But Microsoft has proved with Windows Server 2003 that it can dramatically rework its underlying OS without disrupting existing application-layer software.

This doesn't make Windows the automatic right choice, but it does deflate most of the arguments used to dismiss Windows as an irrelevant player in the enterprise space.

 

Copyright © 2003 IDG Communications, Inc.

How to choose a low-code development platform