Windows Operating Systems
Microsoft and the Windows operating system have a long history. Originally designed as a graphical operating environment that added easy-of-use of flexibility to MS-DOS, Windows has grown into a major operating system in its own right. Microsoft introduced the first server-based version of Windows, Windows NT 3.1 Advanced Server, in the early 1990s. Subsequent versions followed every couple of years or so, until today, when we have the Windows 2000 Server family, and its successor, the Windows .NET Server family.
Over the years, Microsoft has provided different editions of its server operating systems to meet specific needs. The first new edition was Windows NT Server 4.0, Enterprise Edition. The tradition of different editions for specific environments continues, with Windows 2000 offering three editions, and Windows .NET Server 2003 offering four flavors for you to choose from. Understanding what these different editions do, and how they are used, is a critical prerequisite to designing or deploying any environment that utilizes the .NET Enterprise Servers.
Windows 2000 Server Family
Contrary to what their product names might make you think, none of the .NET Enterprise Servers require Windows .NET Server 2003: All of them will run on the Windows 2000 Server family. In fact, some of the .NET Enterprise Servers, such as Exchange 2000 Server, won't run on the Windows .NET Server 2003 family at all.
Some of the current .NET Enterprise Servers will still run on Windows NT Server 4.0; as new versions are released that include Active Directory integration, the number of products that will run on NT will dwindle to zero. I'll assume that you're at least using Windows 2000 Server throughout this book.
Windows 2000 is available in three editions (technically four, if you count the client operating system, Windows 2000 Professional, in the list). Each edition is designed for specific types of use, and each includes an ever-increasing set of features for enterprises to build solutions upon. The three editions are Standard, Advanced, and Datacenter.
The Standard edition of Windows 2000 Server is simply named "Windows 2000 Server." This is the base version of the operating system, and contains all of the functionality required by any of the .NET Enterprise Servers. Any Windows 2000 Server computer is capable of acting as an Active Directory domain controller, providing network communications services, and so forth. The base version of the operating system is, naturally enough, the least expensive to license. It does have some limitations, however. Windows 2000 Server supports a maximum of four processors in a computer, and a maximum of 4GB of RAM. When applications are launched, they are assigned a fixed memory space of 2GB; if the computer has less physical RAM than that installed, the operating system uses an area of disk space called the swap file or page file to create virtual memory and make up the difference.
Next up on the food chain is Windows 2000 Advanced Server. This edition contains all of the features and capabilities of Windows 2000 Server, and adds a few. Advanced Server supports a maximum of 8 processors, and a maximum of 8GB of RAM. However, Advanced Server changes the memory model used by applications, offering them 3GB of RAM, and reserving only 1GB for the operating system itself. Large, memory-hungry applications such as SQL Server can benefit from the additional RAM. Advanced Server also adds clustering capabilities, adding both the Microsoft Cluster Service and Network Load Balancing service to the operating system's list of features. Advanced Server is considerably more expensive than the regular Server edition, and companies tend to use it primarily on high-powered, mission-critical servers, often in clustered configurations.
Although many of the .NET Enterprise Servers are available in an Enterprise Edition, that doesn't necessarily mean they require Advanced Server. Exchange 2000 Server Enterprise Edition, for example, will run fine on Windows 2000 Server, although you won't be able to take advantage of Exchange's clustering capabilities unless you install it on Advanced Server.
The monster-sized version of Windows 2000 is called Windows 2000 Datacenter Server. This edition of the operating system adds support for up to 64GB of RAM, and up to 32 processors (with a minimum of eight processors). It includes all of the clustering capabilities of Advanced Server and all of the features of the regular edition, too. Datacenter Server is intended for high-capacity environments, such as massive SQL Server computers. In addition to its impressive statistics for RAM and processor support, Microsoft also claims a 99.999% up time for Datacenter Server. Microsoft was able to achieve this high reliability figure through the unique distribution model that the company uses for Datacenter Server. If you try to look up a list price for Datacenter Server, you won't find it. That's because you can't buy it, at least not by itself. Microsoft only sells Datacenter Server to server hardware manufacturers (also called original equipment manufacturers, or OEMs). OEMs create special server hardware configurations that are rigorously tested for compatibility with Datacenter Server. Those servers are then sold to companies, complete with the Datacenter Server operating system.
Datacenter's support system is a little bit different from other versions of Windows, too. Microsoft doesn't provide direct technical support for Datacenter Server. Instead, OEMs become the main support channel for their customers. An important aspect of Datacenter support is that you're not allowed to modify the hardware configuration of the server without the approval of the OEM. You can't, for example, pop an upgraded processor into the system unless that processor is provided as an approved upgrade path from the OEM. Installing unapproved hardware invalidates your Datacenter Server configuration, and can render you ineligible for technical support regarding the operating system.
Why are Microsoft and OEM policies regarding Datacenter so harsh? They're not really. They seem that way from a PC point of view, because, as administrators, we're used to mucking about with our server hardware whenever we want to. From a high-end computing standpoint, though, the policies are fairly standard. IBM AS/400 administrators, for example, don't buy add-ons for the computers at the local computer store and then install those add-ons themselves. Instead, they call IBM for approved add-ons, and the installation is usually performed by an IBM technician. That policy allows IBM to ensure that only compatible hardwareincluding compatible device driversare installed in their computers, which significantly reduces the computers' downtime.
Microsoft has long maintained that the many stability problems with the Windows operating systemsespecially the infamous "blue screens of death"could be attributed primarily to faulty or poorly-written device drivers. Device drivers run in a special, privileged area of memory that isn't subject to the memory segmentation and protection that is provided to regular applications. In a nutshell, that means that a poorly written device driver can easily crash the core operating system code, resulting in a STOP error, also known as a blue screen of death. By creating policies around Datacenter Server that forbid the installation of any hardware that hasn't been specifically tested for compatibility, Microsoft (and its OEMs) ensure that faulty device drivers won't be a problem. The result is an operating system with impressive reliability statistics.
The Datacenter Server policies have a benefit for administrators beyond reliability. Experienced administrators are familiar with the finger-pointing that often accompanies difficult technical support issues. The administrator sees an error of some kind, and calls Microsoft Product Support. Microsoft blames the server hardware, and so the administrator calls the OEM's support channel. They blame Microsoft for the problem, and the administrator gets passed back and forth, becoming more and more frustrated all the time. Datacenter Server avoids the problem completely. The burden of support for both the hardware and the operating system is on the OEM (who can contact Microsoft if they believe the operating system is at fault for a problem). That situation means that the OEM has a good incentive to make sure the Datacenter Server computers it sells are well-integrated and completely compatible with the operating system.
Benefits aside, the cost of producing, configuring, and testing a server for Datacenter compatibility is high. The price Microsoft charges the OEM to buy the operating system is probably pretty high, too, although that information isn't publicly available. Also, OEMs focus on their most high-end servers for Datacenter Server integration. The result is a very expensive combination of software and hardware. Unfortunately, the cost of buying a Datacenter Server computer is prohibitive for all but the largest organizations, which means Datacenter Server hasn't enjoyed the wide adoption of Windows NT Server 4.0 or Windows 2000 Server.
Windows .NET Server 2003 Family
Windows .NET Server 2003 is the latest version of the Windows NT product line, and is the successor to the Windows 2000 family. From a version standpoint, Windows .NET Server 2003 is equivalent to Windows XP Professional, and Windows .NET Server 2003 includes many of the new featuressuch as CD burningthat are included with Windows XP.
Not all editions of Windows .NET Server 2003 include Windows XP's new user interface options, or themes. That's because themes require additional resources, and it's not appropriate for a server to devote resources to a prettier user interface. So don't be surprised when you boot Windows .NET Server 2003 for the first time and find the older "classic" Windows interface from Windows 2000, instead of Windows XP's new default interface.
The Windows .NET Server 2003 family includes four editions:
Windows .NET Server 2003, Web Edition, which is essentially a stripped-down version of the operating system designed to be a fast and inexpensive Web server platform
Windows .NET Server, Standard Edition, which is equivalent to Windows 2000 Server
Windows .NET Server, Enterprise Edition, which is equivalent to Windows 2000 Advanced Server
Windows .NET Server, Datacenter Edition, which is equivalent to Windows 2000 Datacenter Server
Microsoft has changed the name of Windows .NET Server 2003 at least twice prior to releasing it, and the names keep getting longerfrom Windows 2002 to Windows .NET Server, and then to Windows .NET Server 2003. For brevity, I'll continue to use the shorter versions of these names, such as "Windows .NET Standard Server," rather than the official "Windows .NET Server 2003, Standard Edition."
With the addition of Windows .NET Web Server 2003, Microsoft has changed the rules of selecting the appropriate edition for a particular task. Windows .NET Standard Server is still the primary choice for most applications, while Enterprise Server adds expanded memory support and clustering capabilities. Datacenter Server continues to be an OEM-only offering, as it was under Windows 2000. Windows .NET Web Server is a new idea, and is aimed squarely at the inexpensive Web server market. In the past few years, hardware vendors have introduced a number of small-form factor, low-cost Web server computers. Many Web companies, including new "dot coms," purchase these servers to run inexpensive (or free) operating systems such as Linux, and free Web servers such as Apache. While it's tough to compete with something that's free, the retail price of $1,199 per server (including ten client access licenses, or CALs) for Windows 2000 Server was especially uncompetitive. Windows .NET Web Server is intended to address that competitive gap, by providing a slightly less-functional version of Windows (which still contains all the features a Web server would need) at a much lower price point (prices were not available at press time).
Although many of the .NET Enterprise Servers are available in an Enterprise Edition, that doesn't necessarily mean they require Enterprise Server. SQL Server 2000 Enterprise Edition, for example, will run fine on Windows .NET Standard Server, although you won't be able to take advantage of SQL Server's clustering capabilities unless you install it on Windows .NET Enterprise Server.
With four editions, keeping track of the differences between them can be hard. Also, Microsoft has tweaked the technology packaging between the four editions to make each one suitable for its particular intended environment. To help you make sense of it all, I created the chart shown in Figure 3.1, which outlines each of the four Windows .NET Server editions and the specific features they provide.
Figure 3.1 This chart only lists the features that differ from version to version; other features are present in all four editions.
Windows .NET Server also provides 64-bit editions to support Intel's new Itanium processor family. Only the Enterprise and Datacenter editions are available in 64-bit editions. Itanium computers running Windows .NET Enterprise Server support up to 64GB of RAM; Itaniums with Datacenter can contain up to 128GB of RAM.