Everyone has seen the Windows blue screen. And if youre like me, every time you do, you probably think, This never happens with my AS/400; why does it happen with Windows? Although Windows-bashing is a popular thing to do these days, it may not be completely fair. Think about it this way: Most of the time, the lack of reliability with a Windows-based server has more to do with the hardware that the server is running on than with the operating system. And while you cant argue with the reliability of the AS/400, OS/400 runs only on select hardware. (Oh, for the day that someone makes an AS/400 compatible.) Ensuring the reliability of your Windows server starts and ends with the server itself. This article will tell you how to select the right hardware for the job.
The Windows HCL
What if I could give you a list of computer hardware that has been fully tested for Windows compatibility? Well, I cant, but Microsoft can. The Microsoft Windows Hardware Compatibility List (HCL), which can be found at www.microsoft.com/hcl, is a list of hardware products and their level of compatibility with the various Windows operating systems. Figure 1 contains a sample of the information available in the HCL. The list shows what hardware has the Microsoft logo, which indicates that Microsoft has tested the hardware for compatibility and interoperability with Windows. The HCL also shows whether or not a specific piece of hardware has a driver available on the Windows CD. This is the first place to start when looking to select a new piece of server hardware.
The second piece of the hardware puzzle is making sure your server is sized properly for the job its required to do. You wouldnt think of purchasing an AS/400 to run your enterprise resource planning (ERP) applications without making sure it was properly sized. So why would you purchase a Windows server without making sure it could handle the workload? Sizing can by done by carefully following the hardware requirements of your applications. For example, Windows 2000 Advanced Server requires a Pentium 133 or higher processor, and 256 megabytes of RAM. SQL Server 7.0 requires a Pentium 166 or higher with at least 32 megabytes of RAM. If you were sizing a server and planning to run Windows 2000 and SQL Server 7.0, you would want at least a Pentium 166, with no less than 288 megabytes of ECC or Error Checking and Correcting RAM, plus disk space requirements. The point is that if you simply go to your local office supply store and purchase an off the shelf system with 64 megabytes of non-ECC RAM and expect to run
Windows 2000 and SQL Server 7.0, you had better like the color blue. You may not think a Windows server could run high-end, mission-critical applications, but some of the latest developments in Windows servers are worth another look.
When looking for high-performance Windows servers, the top-of-the-line are the Unisys Cellular Multi-Processing (CMP) technology servers and the Computer Network Technology Corporation servers. These powerhouse machines support up to 32 processors and up to 64 gigabytes of RAM, in addition to having 96 PCI slots. Processors are installed using hot-swappable sub-pods, each containing four processors. The 96 PCI slots give you greater I/O throughput. The system can function under a single operating system, or it can be partitioned to run multiple instances of various operating systems. This means that you can have multiple servers running on one physical box. Having hot-swappable processors gives you the ability to deal with processor failure in the same way you would deal with a failing drive in a RAID 5 array. These systems also support mainframe-class storage subsystems, providing exceptional reliability and capacity.
The system-partitioning ability allows the processors, memory, and devices to be assigned to specific system partitions. This feature is similar to the Logical Partitioning (LPAR) feature available in OS/400 V4R4 and higher. Independent partitions can be clustered to extend system availability. And clusters can communicate via conventional LAN interconnects or through shared memory to deliver higher-performing clusters. In addition, applications in one system can communicate with applications in another through shared memory using conventional APIs.
Now that I have covered reliability, take a look at using that reliability to create a Windows Web server.
The Perfect Web Server
If your goal is reliability at a low cost, a Windows-based Web server is definitely worth a look. The table in Figure 2 shows a price comparison of three Windows-based Web servers with an AS/400 Model 170 that has comparable hardware configurations. Each of the Windows Web servers is considerably cheaper than even the low-end AS/400 system. I do not mean to discourage the use of an AS/400 for Web serving, but, in a strict cost comparison, a Windows Web server is the cheaper solution. Its important to note that all of the listed Windows systems are taken directly from the Microsoft HCL and, therefore, should have a high level of reliability.
If you want a Web server with high availability, consider creating a Windows NT cluster using Windows 2000 Advanced Server. A cluster is a group of computers that appear to clients as a single network resource and not as individual nodes. Clustering allows you to have multiple Windows servers that balance application workload and offer more reliability. If one server in the cluster goes down, the Web site itself is not visibly affected.
Figure 3 is an example of a high-availability Web site architecture for a Windows 2000 clustered Web site. For a more extensive example of this, see the Microsoft white paper Creating a Highly Available Web Site (www.microsoft.com/TechNet/ winnt/Winntas/technote/crhasite.asp). Using the clustering features of Windows 2000 Advanced Server also gives you the ability to easily (and cheaply) increase the capacity of your Web site or other network resources, such as file and print sharing or database application, by simply adding another node to the cluster. Individual nodes can be upgraded or replaced without interruption to any of the cluster resources. Windows 2000 advanced server retails for around $3500, including 25 client licenses. Client licenses are not required for Web serving, however, unless you are going to use Windows NT security to authenticate Web users.
Good-bye Blue Screen
Following the basic information in this article should have you on the road to Windows server reliability. On the more advanced side, Windows server clusters can help you build a nearly bulletproof Windows Web server and kiss the dreaded blue screen good-bye!
REFERENCES AND RELATED MATERIALS
Creating a Highly Available Web Site, Andres M. Sanabria C., Ed Tremblay, and Richard Edwards, www.microsoft.com/TechNet/ winnt/Winntas/technote/crhasite.asp
Microsoft Windows Hardware Compatibility List: www.microsoft.com/hcl
Windows Clustering Technologies: Cluster Service Architecture, www.microsoft.com/windows2000/library/howitworks/cluster/clusterarch.asp
Figure 1: This is a sample of the information available on the Windows Hardware Compatibility List.
Manufacturer System Description Operating System RAM(MB) Hard Disk(GB) Price
IBM AS/400e Model 170 #2407 OS/400 V4R5 256 12 (RAID 5) $12,899.00 Compaq ProLiant ML330 Intel Pentium 667/133 (64 MB) Windows 2000 Server 256 27 (RAID 5) $4,389.00 Hewlett-Packard NetServer E60 Pentium III processor at 600 MHz Windows 2000 Server 256 27 $3,156.00 IBM Netfinity 3500 M20 Pentium III 667 MHz Windows 2000 Server 256 27 (RAID 5) $4,892.00
Figure 2: This is a price comparison of an AS/400 Model 170 with three Windows Web servers.
Figure 3: This example shows the architecture of a Windows 2000 Advanced Server clustered Web site.