Scale Up vs. Scale Out: Microsoft Shows Its Roadmaps

NEW ORLEANS -- It seems anytime anyone from Microsoft Corp. opens his or her mouth about technology roadmaps these days, the phrase "scaling out" or "software scale" rolls out.

It’s happening so often, and occasionally in combination with disparaging remarks about scaling up, that Microsoft’s (www.microsoft.com) big iron-oriented Windows 2000 partners were becoming concerned.

During the Windows Hardware Engineering Conference (WinHEC) here last month, Microsoft provided hardware partners with a comprehensive view of both strategies: scaling up and scaling out. The clarification shows that Microsoft will be pursuing and emphasizing both strategies with different customer sets in mind for each.

"Microsoft’s fundamental strategy is to enable scaling up and scaling out," Carl Stork, general manager of Microsoft’s Windows Hardware Strategy Group, said during a WinHEC keynote speech.

As yet unreleased technologies form the core of each branch of Microsoft’s dual approach to scalability. Scaling up means using bigger servers to run larger applications. Scaling out means building giant farms of commodity servers to power a single large application.

Scaling up depends on Windows 2000 Datacenter Server, a fourth iteration of Windows 2000 that is expected to ship this summer. Compared with Windows 2000 Advanced Server, Datacenter Server would push SMP support from 8 processors to 32 processors, memory support from 8 GB to 64 GB, and failover clustering support from two nodes to four nodes. The version also would bring support for faster interconnects among servers and give administrators more granular control over which processes run on which processors.

When 64-bit Windows 2000 Server ships with the release of Intel Corp.’s (www.intel.com) 64-bit Itanium processor, that will also figure into Microsoft’s scaling up strategy.

Scaling out or software scale will be built around Application Center 2000, a product designed to help administrators manage large farms of Web servers. Application Center 2000, which is still referred to in some Microsoft literature as AppCenter Server, will allow administrators to increase the scalability of large Web farms by quickly adding new Web servers. The software would "stamp" a new server with the configuration already in use on other servers in the farm, reducing deployment time. Application Center 2000 is also the home for the Component Load Balancing (CLB) midtier clustering technology that had been slated for, but later removed from, Windows 2000.

Windows 2000 Advanced Server will play a key supporting role in Microsoft’s scale-out strategy (see related story on page 12).

One of the most frequently displayed PowerPoint slides at WinHEC was the Transaction Processing Performance Council (TPC, www.tpc.org) slide showing Microsoft holding the top two positions on the TPC-C benchmark for OLTP. Although done in advance of Application Center 2000, using the distributed partition view technology to come in SQL Server 2000, Microsoft officials repeatedly used the numbers to demonstrate how the scaling out strategy works. Microsoft used 12 servers to achieve the top benchmark result.

"Because of our software scale approach, we could add systems and put those numbers up even higher," said Bill Gates, Microsoft chairman and chief software architect, during his WinHEC keynote. "There’s no limit here."

Jeff Westerinen, lead program manager for Microsoft’s Enterprise Products Group, spelled out the benefits of each approach and detailed the applications Microsoft expects users will deploy each approach for.

Technical advantages to scale-up systems are a single system image, which means no change to operations and no change to applications for compatibility. Scale-up systems also have simple system resources: shared memory, shared disk, and a shared network connection. Load balancing is done in the operating system kernel, and eight-way SMP servers are widely available.

Westerinen said the optimal scenarios for a scale-up approach are large database applications, such as enterprise resource planning (ERP), customer relationship management (CRM), business intelligence, and some e-commerce applications. Other scale-up scenarios are legacy application servers with high numbers of concurrent transactions, complex business logic, or large in-memory database requirements. Scaling up can also be useful for server consolidation efforts to reduce numbers of servers, consolidate n-tier applications on fewer machines, or to simplify management and operations.

Scaling out also has technical advantages. In addition to eliminating the hardware limit to scale that Gates mentioned, Westerinen said the approach also uses commodity components, eliminates the single point of failure, and allows for upgrades through incremental growth.

Some of the best scenarios for scale-out include application service providers doing application hosting for Web servers and enterprise applications; dot-com companies for their front-end and midtier structures and partitionable back-end data stores; and enterprise infrastructures for Exchange 2000 and file and print, Westerinen said.

[Infobox]

Scaling Roadmap

Microsoft positions scale up and scale out for different purposes:

Scale-Up Scenarios

*Large databases

ERP

CRM

Business intelligence (data mining)

E-commerce

*Legacy application servers

High number of concurrent transactions

Complex business logic

Complex/large in-memory databases

*Server consolidation

*Reduce the number of servers

*Physical consolidation of n-tier/application servers on fewer machines

*Simplify management and operations

Scale-Out Scenarios

*ASP (application hosting)

Web servers

Enterprise applications

*Dot-com

Front-end and mid-tier structures

Back-end for partitionable data stores

*Enterprise Infrastructure

Exchange 2000

File and print