For instance, a developer can build a Web application that runs on a Windows 2000 or a Windows XP desktop, and then deploy the application to a single server, where it can be scaled up b
Trang 1Microsoft Corporation
Published: November 2002
Updated: January 2004
Abstract
This white paper outlines the many ways in which Microsoft® Windows Server™ 2003 was designed to give organizations the ability to scale their environments up and out, with maximum flexibility and cost effectiveness It also outlines how administrators can easily incorporate other Microsoft servers and many third-party applications
Trang 2This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of
publication Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any
information presented after the date of publication.
This document is for informational purposes only MICROSOFT MAKES
NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE INFORMATION
IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation
Microsoft may have patents, patent applications, trademarks, copyrights,
or other intellectual property rights covering subject matter in this document Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
© 2002 Microsoft Corporation All rights reserved.
Microsoft, BizTalk Server, Visual Basic, Visual Studio, Windows, the Windows logo, Windows NT, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Trang 3Contents 3
Introduction 4
Scalable and Flexible by Design 4
Server Consolidation 6
Implementing Flexible Scalability 8
Scaling Up and Out 8
Table 2 Cluster Nodes Supported by Operating System and Technology 9
Additional Server Software 10
SQL Server 10
BizTalk Sever 11
Conclusion 13
Related Links 14
Trang 4Modern organizations require flexibility in order to adapt to new and different requirements that the marketplace forces upon them
Microsoft® Windows® Server 2003 was designed to maximize the flexibility provided by an organization’s software The product family provides systems that can adapt to new and different requirements very quickly For instance, a developer can build a Web application that runs on a Windows 2000 or a Windows XP desktop, and then deploy the application to a single server, where it can be scaled up by adding processors and memory As demand increases, the
application can be moved to a Web farm, where the application can be scaled out to multiple machines Client/server systems built with the NET Framework have the same flexibility as ASP.NET applications because the backend server components can be dropped on to a single server or moved to an NLB cluster when needed
Instead of making all design and implementation decisions up front, the Windows Server 2003 architecture empowers you to move from scale up to scale out and does not lock you into one mode of scalability, thus allowing developers to defer the need to make design decisions
prematurely A properly written application can be scaled up today and scaled out tomorrow The only changes required are to the configuration of the server – not the application You can also use scale up and scale out in the same server farm, adjusting both the number of servers and the capabilities of each server to your needs This reduces development and deployment costs compared with mainframes or overbuilt server farms, and speeds time to market without
undermining future scalability
Scalable and Flexible by Design
Traditionally, applications have encountered limitations that prevented them from smoothly scaling up (by adding memory and processing power) or scaling out (by adding additional
servers) For the reasons discussed in “Implementing a Scalable Architecture,” adding more memory or increasing the CPU speed won’t improve performance if, say, the bottleneck is file I/O Likewise, when scaling out, you need to implement scalability at the application level if it is not supported at the architectural level Windows Server 2003 and the Windows Framework were engineered with scalability in mind Developers can scale out an application by simply switching the session state from InProc to StateServer or SqlServer as described under “State
Management” in Migrating Win32 Applications to NET
The NET Framework and NET Compact Framework offer a rich library of object classes that allow developers to create scalable applications both implicitly and explicitly For developers requiring explicit control, the NET Framework offers object classes that access, for example, Microsoft® Message Queuing (MSMQ) messaging services Furthermore, the NET Framework allows you to build desktop and Web applications and then redeploy them for handheld devices using the NET Compact Framework or for cell phones using the Mobile Internet Toolkit
For an example of this type of flexibility, let’s say you have either a client/server or intranet system built on top of the NET Framework and this system is an n-tier system with a set of middle tier objects Now your boss comes in and says, “How fast can you start putting certain features of this
Trang 5application onto mobile devices?” You can answer “Just about as fast as you can deploy the hardware to support the wireless network!” How can you say that? Because the NET Framework supports devices with the Mobile Controls And with the NET Compact Framework, you can reuse those middle tier components to quickly create applications to run on those mobile devices
If the application exposes XML Web Services, you can, of course, use them also
Ethernet
Client Hub
Client Client client
Hub
NLB Cluster
NLB Cluster NLB Cluster
Wireless Hub Wireless Hub
CIS COSY ST EM S
At the tools level, Microsoft Visual Studio® NET and system utilities such as Active Directory (AD) provide a complete IDE and suite of tools for development and deployment Windows Management Instrumentation (WMI) allows applications to be monitored and managed remotely and across Web farms The Windows Installer, SMS, and Application Center assist in deployment
to clients and across server farms
The Windows Server 2003 family and applications built with the NET Framework are scalable by design Not only does the Windows Server 2003 family offer rich servers, from a basic Web Edition through an advanced Datacenter Edition, the same industry-standard hardware used for Windows NT 4.0 or Windows 2000 can be redeployed as a Windows Server 2003
Because the Windows family shares a common architecture, developers can create NET
Framework applications on desktop operating systems including Windows XP These systems are great for development and local testing (note that non-server platforms such as Windows XP Home Edition don’t support some of NET’s server-only features)
When ready to deploy on a server, the NET Framework and ASP.NET are supported on Windows
XP Professional, Window NT 4.0, Windows 2000 and, of course, the Windows Server 2003 family The same ASP.NET applications that were tested locally or on earlier Windows server operating systems can be moved to Windows Server 2003 without changes
When the time comes to scale out, the same software can be deployed easily on a server farm
At that time, the server software can also be upgraded seamlessly from Windows Server 2003,
Trang 6Standard Edition to Windows Server 2003, Enterprise Edition or even Windows Server 2003, Datacenter Edition
Finally, the Windows Server 2003 family provides a range of best-in-class server platforms for requirements ranging from a single server with one processor to a data center supported by a clustered Web farm of servers, each with multiple processors
Scalability is inherently intertwined with other architectural features, such as performance and reliability For example, “Implementing a Scalable Architecture,” discusses how performance improvements in Windows Server 2003, Internet Information Services (IIS) 6.0, and ASP.NET allow IT professionals to deploy more applications or support more Web sites than was previously possible, without upgrading hardware
For more information, see the following white papers:
• Implementing a Scalable Architecture
• Moving Windows NT 4 and Windows 2000 Applications to Windows Server 2003
• Windows Server 2003 Application Reliability
• Preparation, Verification, and Deployment of Applications
Server Consolidation
Organizations are increasingly looking for creative ways to reduce the overhead needed to manage their IT infrastructures Over time, it is easy for any type of server infrastructure to grow
in a way that becomes unmanageable This experience doesn’t result from using one particular brand of server or another, but rather, it is simply something that easily happens over time Server consolidation is one way for organizations to achieve availability, scalability, and greater value while reducing overall cost
The increased efficiency of the NET Framework allows applications to handle the same load while running on fewer servers, yet still maintaining the same user responsiveness The following figure demonstrates this, where an NLB cluster of five servers running an ASP or other Web application moves to a new Windows Server 2003 NLB cluster with three servers Thus, the overall management and number of systems goes down by two fifths
Trang 7NLB Cluster
Current Server Farm
Consolidated Server Farm Windows NET Server
NLB Cluster NLB Cluster NLB Cluster NLB Cluster
NLB Cluster NLB Cluster NLB Cluster NLB Cluster NLB Cluster NLB Cluster NLB Cluster
Server consolidation is not limited to Web server farms You can also consolidate file and print servers and other types of application servers The upper end members of the Windows Server
2003 family provide scaling to many processors and to a large memory footprint The Windows Server 2003 64-bit versions will scale far beyond the ability of currently available 32-bit systems, protecting your investment in the Windows family For more information, see the Server
Trang 8Implementing Flexible Scalability
Talking about flexibility and scalability is fine, but how is it realized? Let’s look at some of the
ways the Windows Server 2003 and the industry-standard hardware on which it runs can be
upgraded to meet your applications’ evolving scalability requirements
Scaling Up and Out
Microsoft is working with system partners to build highly scalable server technologies with the
goal of being able to dramatically scale up within a single server When looking to scale up by
adding RAM and multiple CPUs to existing servers, the version of Windows Server 2003 used is
important
The two most advanced configurations, Enterprise Edition and Datacenter Edition, also allow you
to “scale wide” from 32-bit (x86) processors to 64-bit (Itanium) processors Thus, organizations
typically scale up by adding hardware to a particular server first Then, if they need support for
more resources they can scale from Web Edition or Standard Edition to Enterprise Edition
Applications can also be moved to Datacenter Edition as needs change over time Table 1 details
the maximum allowed RAM and number of CPUs, for each version of Windows Server 2003
Table 1 Windows Server 2003 Family supported RAM, Processors, and Clustering
configurations
Server
Edition
Max RAM 32-bit (x86)
Max RAM 64-bit (Itanium)
Min CPUs Max CPUs
per Node 32-bit
Max CPUs per Node
64-bit
Max Nodes (32-bit and 64-bit)
Standard
Edition
Enterprise
Edition
Datacenter
Edition
When looking to scale out by adding servers, the clustering technology and the server operating
system are both important If your application is TCP/IP based, then NLB is normally going to
provide a good clustering solution If the application is a server application that requires
sophisticated failover support, then MSCS will probably provide you with the best solution The
server’s role is to provide you with choices As Table 2 shows, all versions of Windows Server
2003 support NLB with up to 32 nodes in a cluster Thus, any version of Windows Server 2003
can be used in an NLB environment to scale up any server application (that supports NLB) that is
accessed via TCP You would typically move from one version of Windows Server 2003 to
another because you either need new features or you need additional hardware that is supported
by a particular version In any case, you make the choice of when to switch to another version
Trang 9Table 2 Cluster Nodes Supported by Operating System and Technology.
Operating
System
Server Edition NLB Nodes Cluster Support Server Cluster Nodes
The other versions of Windows 2000 are not shown here as they do not support either NLB or
Server Cluster (formerly MSCS)
Trang 10Additional Server Software
One of the key problems an IT professional faces is purchasing applications that run on the servers they have installed For instance, if you have seven servers and three of them are running an OS on one brand of hardware, and the other four are running another OS (or OS version) on another brand of hardware, how do you buy applications that run on those systems? For instance, if you need a robust Customer Relationship Management application, you must make sure the application runs on the version of software and hardware running on your servers This can be an expensive and time-consuming task
Microsoft offers a variety of server products that can be installed atop Windows Server 2003, including the BizTalk Server™, Host Integration Server (HIS), Microsoft Exchange, and Microsoft SQL Server™ Each of these has implications for scalability and clustering configurations In addition to Microsoft, the Windows server family supports more applications from third parties than any other operating system
Let’s take a look at two applications from Microsoft and how they add flexibility to the application server
SQL Server
SQL Server is a powerful database platform that supports both scaling up and scaling out In addition to scalability, SQL Server provides flexibility with inherent capabilities such as replication Replication is a set of technologies for copying and distributing data and database objects from one database to another Replication provides for situations such as when you need to roll out part of a database to a satellite facility You can simply configure the master database to publish the data to the satellite There are many options for replication that allow you to finely tune how the process works depending upon application requirements
Replication can also be used to push data to data warehouses Some potential data warehouse applications of replication are the distribution of data from a central data warehouse to data marts, and the updating of data warehouse data from the data preparation area
In addition to scaling up, SQL Server can scale out by using a concept known as federation This allows you to spread databases across a group of autonomous database servers This solution is capable of supporting the processing growth requirements of the largest Web sites and enterprise data-processing systems built with the NET Framework
For more information, see the following topics