Team LiB
Previous Section Next Section

Microsoft Operating Systems

The confidence in Microsoft's operating systems prior to Windows 2000 was not great in larger enterprises. UNIX and other platforms were used for application servers and mission-critical systems. Windows NT was mostly used to handle users and the logon process to the network. It was also employed for file and print servers, and not many IT professionals trusted it as a platform to run their business applications on. There was, however, potential in it, but most people more or less looked at it as a toy operating system on the server side. Unfortunately for Microsoft, this reputation has been hard to shake off. In our work we often meet people who regard anything Microsoft develops as toys. This is too bad, because starting with Windows 2000, Microsoft has convinced us more and more that it really can build stable platforms—platforms that help developers design and build scalable solutions.

A big complaint from IT professionals was that they often needed to reboot the operating system because of errors that occurred. Microsoft was blamed for this problem. And the critique was well deserved in many cases, but a lot of the errors that resulted in rebooting the OS were caused by administrators more or less trying new software and installing things they should not have. Also, a lot of these errors came from faulty drivers for hardware that was not supported. To find out where to put the most effort in stabilizing Windows 2000, nearly 1200 Windows NT 4.0 Servers were analyzed by Microsoft. The company found that 65 percent of the reboots were caused by planned outages such as adding hardware or software. Furthermore, Microsoft found that of the unplanned reboots, more than half were caused by faulty device drivers, antivirus software, and hardware failures.

No UNIX administrator would have tried to install beta software of a new program on, say, a Solaris system; neither would they have tried to install any new cool games. Unfortunately, we have seen such actions on Windows systems ourselves over the years. Since Windows was easier to handle, and so many people and companies developed software and hardware for it, many experimented almost freely. The result was a lot of problems and constant reboots. Many of these errors could have been avoided or solved without rebooting the server, if awareness of the reasons for them had been more widespread.

Microsoft saw these problems and put a lot of effort into building a new system architecture that improved server uptime, increased fault tolerance, and increased availability. It was essential that the company delivered a platform enterprises could feel confident building their business on if it was going to succeed in this market.

Microsoft also saw the need for companies to extend their business to the Internet. This required a comprehensive Web, security, and communications technology in the operating system combined with good scalability and performance to handle the demands of Internet traffic.

Windows 2000 Server Family

All Windows 2000 Server versions come with a built-in Web server: Internet Information Services 5.0, also referred to as IIS. In Windows NT 4.0, this Web server was called Internet Information Server 4.0 and came with the Windows NT 4.0 Option Pack. Note the difference: Now it is a service, before it was a server—same as with the Microsoft Cluster Service (MSCS). We will take a closer look at IIS in Chapter 7, where we will compare IIS 5.0 with the new IIS 6.0 released with Windows Server 2003. One thing worth mentioning here, though, is the inclusion of better support for Active Server Pages (ASP) in IIS 5.0, which gives you better options for building dynamic Web solutions.

Microsoft built native support for XML into this version of its operating system. This is something the company has done ever since. Nowadays, it is virtually impossible to find a Microsoft product missing XML support. This is a good thing, because since it first was introduced, XML has gained respect as a standardized means of transporting data, and is used extensively in application development.

To enhance scalability and availability, significant improvements were made to the core operating system. Support for more CPUs and more memory was added. Memory management as well as the handling of device drivers was improved to reduce unplanned downtime.

We can break these scalability improvements down to enhancements in two areas: scaling up and scaling out.

Scaling Up

The following technologies were improved:

  • Large memory support was increased to a maximum of 32GB RAM.

  • 32-way symmetric multiprocessing (SMP) support was included.

These improvements are mostly useful in back-end database systems, messaging server systems, decision support, and data mining systems.

Scaling Out

Improvements had also been made to the following areas:

  • Network Load Balancing (NLB) could include up to 32 servers in one cluster.

  • Component Load Balancing (CLB) could be included with Application Center 2000.

  • Microsoft Clustering Service was rewritten.

These areas prove helpful when building Web infrastructure, application servers, and directory and DNS servers.

Other Feature Enhancements

Here are some other features that also were enhanced:

  • Improvements to Winsock Direct for efficient interconnectivity within a system area network

  • Support for high-performance data sets

  • Integration of Microsoft Messaging and Queue Service to Microsoft Message Queuing (MSMQ)

  • Integration of Microsoft COM+ Transaction Services (MTS) into the OS

Beside these improvements, a lot of effort went into helping administrators by providing useful tools to handle their everyday work. These tools are often based on a wizard system that step by step aids in administrative tasks.

Let us take a look at the different versions of Windows 2000 Server. The smallest version is Windows 2000 Server. This entry-level version is suitable for use as a file, print, intranet, and infrastructure server. Network Load Balancing and Microsoft Cluster Service are not included in the Windows 2000 Server, so this product is not intended to be used as a Web server for large Web sites. Neither is it intended as a database server, unless the load is modest and the demands for availability are small. But this version includes IIS 5.0, which makes it great for smaller intranet or Internet solutions. There is, however, a way to use this server as a member in large Web clusters. By installing Application Center on it, you also get support for Network Load Balancing, and suddenly you are able to cluster IIS. This means that you can handle large Web sites using Windows 2000 Server as a platform. So as a Web server using Application Center, this version is a good choice for running your Web sites. The cost of the operating system is less than its other siblings too, which makes it even more attractive for these solutions.

Windows 2000 Advanced Server includes tools for enhancing scalability and availability from the start. Network Load Balancing is included, as well as Microsoft Cluster Service. This makes it an ideal platform for running e-commerce and lines of business applications. Advanced Server is also a good choice for medium-sized databases, and for messaging servers like Microsoft Exchange Server, providing good availability to these applications. Since the cost of this server version is higher than the Windows 2000 Server, we would not recommend it as a platform for Web sites, regardless of whether they are on an intranet, an extranet, or the Internet. If you are building that kind of application, you are better off using Windows 2000 Server with Application Center on it.

Microsoft's flagship when it comes to operating systems is undoubtedly the Windows 2000 Datacenter Server. Upon its release, this was the most powerful operating system from Microsoft ever. This server was designed for enterprises that demand the highest level of availability and scalability. This edition is, however, not available from retailers. The only way to purchase a Datacenter Server is by contacting one of the Microsoft OEM partners. To be able to sell these systems, the OEM companies need to comply with the Datacenter Server program. This means both hardware and software are put under close examination to ensure they meet the high standards that can help enterprises reach 99.999 percent uptime on their systems. No updates to the Datacenter systems, be they hardware or software, are allowed without this close examination. This way it is not possible for an administrator to install insecure code or devices, which was, as you saw earlier, the cause of a large number of unnecessary reboots.

Table 2-1 gives an overview of the feature set included with the different versions of the Windows 2000 Server family.

Table 2-1: An Overview of the Features in the Windows 2000 Server Family

Feature

W2K Server

W2K Advanced Server

W2K Datacenter Server

Max CPU

4

8

32

Max memory

4GB

8GB

32GB

IIS 5.0

Yes

Yes

Yes

COM+

Yes

Yes

Yes

MSCS

No

Yes

Yes

NLB

No

Yes

Yes

Process control management

No

No

Yes

Winsock Direct

No

No

Yes

Active Directory

Yes

Yes

Yes

Kerberos/PKI support

Yes

Yes

Yes

Windows Server 2003 Family

With the computing world becoming more and more distributed, the need for integrating IT systems grows with it. Enterprises must offer personnel in various locations the same services as those available at headquarters. For example, with the connected possibilities these days, the need to distribute a complete product catalog to every salesperson, regardless of location, no longer exists. The catalog can reside at headquarters, and each salesperson can use a Web-based application to access it, just as if it was located on his or her own computer. With the introduction of SOAP, XML, and Web services, it has become even easier to share services within an organization, as well as with partners and customers. It is now possible to build features based on a Web service into a Windows application. The application itself is run on the user computer, but the Web service can be run on the other side of the world if necessary. If you want to learn more about Web services and their benefits, please see Chapters 5 and 6 in this book where Web services will be dissected thoroughly. Web services are here to stay, and they give you great opportunities. Microsoft has realized this, and its .NET initiative is a response to this. By using Visual Studio .NET, it has become fairly straightforward to integrate various Web services into your own applications.

The next generation of server operating systems from Microsoft, the Windows Server 2003 family, includes .NET Framework integration. This offers great possibilities to simplify the development of large-scale applications that can exploit XML Web services. This way, businesses of all sizes can benefit from the .NET application platform.

Note 

The .NET Framework is available for Windows 2000 as well, but in Windows Server 2003 it is integrated right out of the box. Performance tests also show great performance gains for running .NET applications on a Windows Server 2003 compared to running the same applications on a Windows 2000 system. In Chapter 9, we will give you a closer look at the performance gains we have found in our tests.

Let us take a look at some selected improvements in the new server family that enhance scalability and availability. First of all, the new version of Internet Information Services, version 6.0, has been completely rearchitected from earlier versions. IIS 6.0 includes a new fault-tolerant process model that definitely improves the reliability of Web sites and applications. In earlier versions of IIS, a single application failure could bring down the entire Web site. Now, in IIS 6.0, a new feature called the application pool provides a self-contained process consisting of a single Web application or multiple sites. If an error occurs in an application pool, only that process is affected, and the others will still be functioning. You will learn more about the application pool later in the book, but as you can understand from this short description, the availability of Web sites has increased significantly.

IIS 6.0 also includes native support of ASP.NET. This is not such surprising news, as the .NET Framework is included in the operating system, and ASP.NET is a part of this framework. But a good thing about ASP.NET is that it gives you better performance compared to the old ASP model.

Web services are deeply integrated in the Windows Server 2003 family. Existing COM+ applications and Microsoft Message Queuing objects can easily be converted and exposed as Web services. MSMQ now also uses SOAP and XML natively, so loosely coupled applications can interoperate with a broader range of systems. This lets legacy systems take advantage of the connectivity .NET offers.

Both scaling out and scaling up has had some significant boosts. When it comes to scaling out, clusters using Microsoft Cluster Service can now have up to eight nodes. This is twice the number of nodes Windows 2000 offered. Thus you are provided with tools to give you many possibilities in deploying applications and setting up failover policies that suit your business. It is also possible to separate nodes geographically, which provides for high fault tolerance. What this really means is that you can deploy an application on an eight-node cluster that is geographically dispersed over two separate locations. If you lose functionality at one location, the application will still function.

All versions of the Windows Server 2003 family now offer Network Load Balancing without the use of Application Server.

Scaling up has also been enhanced. The Windows Server 2003 family can now offer from 2- to 32-CPU SMP support, depending on which version is used. The amount of RAM a system can handle has been improved, giving you the possibility of having as much as 512GB in your system.

The administrative tools have also been improved, with more wizards and options for configuring the system. Figure 2-1 shows the Manage Your Server Wizard starting page, which helps administrators configure the server for different uses.

Click To expand
Figure 2-1: The Manage Your Server Wizard in Windows Server 2003 Enterprise Edition

Figure 2-2 shows the Server Administration page from the Web Edition.

Click To expand
Figure 2-2: The Server Administration page in Windows Server 2003 Web Edition

The server family itself has once again grown. Now you have four versions to choose from. (If you want to be picky, you actually have six, since two of these also come in 64-bit versions.)

  • Windows Server 2003 Web Edition

  • Windows Server 2003 Standard Edition

  • Windows Server 2003 Enterprise Edition 32-bit/64-bit

  • Windows Server 2003 Datacenter Edition 32-bit/64-bit

Next we will take a look at them separately so you know when and where to use which version.

Windows Server 2003 Web Edition

As you saw earlier, the only way to use Windows 2000 Server as a Web server in a cluster was by using Application Center and the Network Load Balancing features it offers. In the Windows Server 2003 family, one version, the Web Edition, is designed for providing Web serving and hosting. This way it is easy to deploy and manage a new Web server, and at the same time get a server that is optimized to be a robust platform for Web serving and hosting, and functioning as a host for XML Web services.

The Web Edition is not intended for any other use but as a Web server. This means you cannot install other .NET enterprise servers on this platform. SQL Server, Exchange Server, and most other enterprise servers just will not be allowed to install, as Figure 2-3 shows.

Click To expand
Figure 2-3: SQL Server is not allowed to install on the Web Edition.

The .NET Framework, however, is included so you can take full advantage of this. Since ASP.NET is a powerful way of building your distributed applications, you now have a good platform to deploy your Web applications on.

Another aspect of the slimmed down Web Edition is that fewer services are running on it. The Web server can concentrate on its tasks without the operating system having to spend CPU time on Windows services that really are not necessary on a Web server. This paves the way for increased performance, which is something you want on a Web server. The Web Edition is also an excellent platform for you to develop and deploy your XML Web services on. In Chapter 9 you will see how this can be done.

Since the use of the Web Edition is as a Web server only, the scale-up capabilities are not so good, and they need not be either. This version supports two-way SMP and only 2GB of RAM. As you can see, it is intended to run on fairly standard hardware, so as to be easy to deploy and manage. This is also what you seek for the servers in a Web cluster. You want to be able to go out and buy standard hardware when you need more power in your cluster, and easily deploy it in your solution.

Note 

Keep in mind that the Web Edition can be a member of an Active Directory domain, but cannot run Active Directory itself.

Windows Server 2003 Standard Edition

Like its predecessor, Windows 2000 Server, the Windows Server 2003 Standard Edition is an excellent choice for small businesses, as well as for departments. You can use this version as a robust platform for file and print services. It is also a good choice for secure Internet connectivity. Since the Standard Edition can run Active Directory, it offers the possibility of being used for centralized desktop application deployment.

When it comes to scalability, this server version offers up to four-way SMP support and handles up to 4GB of RAM. This means it scales up better than the Web Edition, but if you are looking for a Web server solution only, you would still be better off using the Web Edition. As a database server, however, you can definitely use Standard Edition for small to medium-sized databases. If you do this, you must keep in mind that it offers no support for Microsoft Cluster Service, which means you cannot guarantee constant availability for your databases. If you need MSCS, you must move up to at least the Enterprise Edition. The Standard Edition is, on the other hand, a preferred platform for your business logic, with which it will perform well indeed.

Windows Server 2003 Enterprise Edition

This edition of the Windows Server 2003 family, named the Enterprise Edition, is the next version of Windows 2000 Advanced Server, and you probably recognize the name from Windows NT 4.0 Enterprise Server.

The Enterprise Edition offers many scalability and availability features. First of all, it is provided for both the 32-bit and the 64-bit processor architectures, giving it optimal flexibility and scalability. Besides this, it includes Network Load Balancing as well as Microsoft Cluster Service. Scaling up is possible for as many as eight CPUs. The 32-bit version can handle 32GB of RAM, whereas the 64-bit manages 64GB.

You can use this edition as a Web server in one of your clusters if you want, but we recommend it as a database, application, or messaging server. We feel it would be overkill to use it as a Web server, given all its features.

You can also cluster this edition in an eight-node cluster, which further stresses the use of it as something other than a Web server.

Windows Server 2003 Datacenter Edition

When you need the highest level of scalability, availability, and reliability, Microsoft offers the Datacenter Edition. On this platform you can, without worry, deploy your mission-critical applications and databases. This version offers everything the Enterprise Edition does, only much more of it. It includes Network Load Balancing and Microsoft Cluster Service, and, like the Enterprise Edition, it is also available in a 64-bit version. So far no news, but when it comes to scaling up, the Datacenter Edition provides you with 32-way SMP. The 32-bit version manages at most 64GB of RAM, and if that is not enough for you, the 64-bit version handles 512GB.

As you can see here, this is a powerful platform best suited for when you need scalability and availability. Like the Windows 2000 Datacenter Server, it can only be purchased through the Windows Datacenter Program and the OEMs participating in it.

When you build an application that has high demands on availability and needs a stable and well-performing database, the Datacenter is the platform of choice. But it comes with a high price tag, so you need to consider your application demands carefully before running out and getting this system. It could be that the Enterprise Edition offers everything you need instead.

Table 2-2 presents an overview of the different Windows Server 2003 editions.

Table 2-2: Overview of the Feature Set of the Windows Server 2003 Family

Feature

Web Edition

Standard Edition

Enterprise Edition 32/64

Datacenter Edition 32/64

Hot-add memory[*]

  

X/X

X/X

RAM

2GB

4GB

32GB/64GB

64GB/512GB

SMP

2

4 Way

8 Way/8 Way

32 Way/32 Way

NLB

X

X

X/X

X/X

MSCS

  

X/X

X/X

.NET Framework

X

X

X/X

X/X

IIS 6.0

X

X

X/X

X/X

ASP.NET

X

X

X/X

X/X

UDDI

 

X

X/X

X/X

[*]Depending on OEM hardware

To summarize all this information, Table 2-3 shows our recommended platform for different parts of a scalable application design.

Table 2-3: Recommended Use of Microsoft Operating Systems in a Multitier Application

Web Server

Business Logic

Data Layer

W2K Server with
Application Center

W2K Server
W2K Advanced Server

W2K Advanced Server
W2K Datacenter Server

Windows Server

Windows Server 2003

Windows Server 2003

2003 Web Edition

Standard Edition

Enterprise Edition

 

Windows Server 2003

Windows Server 2003

 

Enterprise Edition

Datacenter Edition

We prefer the Windows Server 2003 family, but most companies do not jump on the first train when it comes to technology, so it is probably safer to go with the Windows 2000 track (at least until internal testing of the Windows Server 2003 editions are done). As we have been participating in the official Microsoft beta program for Windows Server 2003 since beta 1, our own servers run Windows Server 2003 exclusively in various forms. We find them stable and reliable so far, and our testings have shown a great performance increase in our applications, as we will demonstrate in Chapter 9.


Team LiB
Previous Section Next Section