Export (0) Print
Expand All

Microsoft.com Scales Using Windows Server 2012

Quick Reference Guide

Published December 2012

The following content may no longer reflect Microsoft’s current position or infrastructure. This content should be viewed as reference documentation only, to inform IT business decisions within your own company or organization.

Microsoft IT uses Windows Server 2012 to improve microsoft.com front-end web server performance and efficiency while maintaining peak availability.

Downloads

Download Quick Reference Guide, 1.37 MB, Microsoft Word file

Executive Overview

Situation: Microsoft.com is one of the busiest websites in the world, attracting over 228 million unique visitors each day. Microsoft Information Technology (Microsoft IT) hosts the website on 67 physical servers configured into server clusters that reside in several geographically distributed data centers.

As the company's first and best customer, Microsoft IT has a mandate to adopt the latest versions of Microsoft products and to use them in real-world, enterprise-scale environments. With the release of Windows Server® 2012, Microsoft IT wanted to gain the performance, scalability, and reliability benefits of migrating their corporate front-end web servers to Windows Server 2012 while demonstrating best practices for a seamless and transparent deployment.

Figure 1. The microsoft.com website
Figure 1. The microsoft.com website

Why You Should Care:

  • Corporate websites are a highly visible component of a business entity.
  • Scalability, availability, and performance are all critical considerations for maintaining a high-profile website.
  • Enterprises can leverage the deployment best practices used by Microsoft IT to ease their migration of their front-end web servers to Windows Server 2012.

Shared Goals With Stakeholders

Microsoft IT partnered with the Windows Server and Internet Information Services (IIS) product groups on the following goals:

  • Ensure zero degradation in web server performance and site availability. Microsoft IT has a site availability target of 99.90%, with a current year-to-date availability benchmark of 99.95%. Microsoft IT needed to maintain at least the same level of availability—if not to realize a demonstrable improvement—by implementing Windows Server 2012 throughout the website.
  • Leverage multi-node scalability. Microsoft IT wanted to take advantage of hardware advances to achieve high throughput on multicore servers, and to improve the performance of existing multicore servers.

Deployment

  1. Microsoft IT engaged with the Windows Server team from the very earliest Windows Server 2012 builds to test the technology in a real-world enterprise environment.
  2. Microsoft IT first formalized the implementation goals it shared in common with the product team, and then established a milestone schedule to target what percentage of the website infrastructure that handles live microsoft.com traffic would be running on Windows Server 2012 throughout the deployment process.
  3. Next, Microsoft IT developed scripts to automate as much of the build process as possible. With the launch of a single command, Microsoft IT's script would completely rebuild an existing Windows Server 2008 R2 server into a Windows Server 2012 environment. Additional scripts would configure the server for the microsoft.com environment and then initiate content synchronization.
  4. Using an iterative test cycle, Microsoft IT installed the latest build of Windows Server 2012 onto a production machine that was allocated a small percentage of live microsoft.com traffic. Preparing a test machine involved:
    1. Running scripts as described in step 3 above to install and configure the machine with Windows Server 2012, then synchronize site content.
    2. Sending a synthetic load to the servers in order to validate the installation and configuration, and to identify any potential performance bottlenecks in the current build.
    3. Closely monitoring the system:
      1. Obtain IIS log files from existing Windows Server 2008 R2 servers and compare their output to the test Windows Server 2012 machine.
      2. Identify any HTTP errors or other anomalies.
  5. Microsoft IT added more production servers to subsequent test cycles as the Windows Server 2012 builds matured.
    1. A similar sequence of installing and configuring the servers, synchronizing site content, sending a synthetic load to the servers in order to validate the installation and configuration, and then comparing IIS log files from the test machines with log files from other production systems was performed for each iteration.
    2. By the time of Windows Server 2012 Beta availability, fully 50% of the company's production microsoft.com servers were running on Windows Server 2012 Beta.
  6. Microsoft is continuing to migrate all its microsoft.com front-end web servers to Windows Server 2012 RTM and expects to complete the process to have all its front-end web servers running on Windows Server 2012 before the end of calendar year 2012.

Results

The overall performance improvement of the Windows Server 2012 front-end web servers is promising. In fact, Microsoft IT is seeing demonstrable improvements in CPU utilization, memory usage, and efficiency.

The following table compares the key performance indicators and performance metrics Microsoft IT measured on the production Windows Server 2008 R2 SP1 systems with the RTM version of Windows Server 2012.

Table 1. Comparison of key performance indicators and performance metrics between Windows Server 2008 R2 SP1 and Windows Server 2012 RTM.

Key Performance Indicator

Windows Server 2008 R2 SP1

Windows Server 2012 RTM

Change

CPU Utilization (%)

20.5%

18.5%

9.9%

Available Memory (GB)

15.7

21.1

34.6%

 

Performance Metric

Windows Server 2008 R2 SP1

Windows Server 2012 RTM

Change

Requests/Second per CPU Cycle

7.3

8.3

13.4%

In addition to these performance improvements, Microsoft IT has also maintained their year-to-date 99.95% uptime for the site throughout the testing and migration process.

Deployment Best Practices

  • Gain consensus between all stakeholders as to agreed-upon goals that work for all relevant teams. For microsoft.com, the goals were shared between Microsoft IT and the Windows Server and IIS product groups.
  • Ensure you have plenty of capacity (such as configuring multiple clusters in multiple data centers) to handle the large-scale demands of your website and to maintain high availability during the migration process.
  • Use Windows PowerShell™ 2.0 or other scripting technologies to automate and standardize as much of the deployment process as possible. Microsoft IT has developed scripts for building out the system from bare hardware, to loading the operating system, to configuring for the website, and even for syncing content. Most scripts are running on Windows PowerShell 2.0. A few legacy scripts use Microsoft Visual Basic®, but Microsoft IT is in the process of migrating everything to Windows PowerShell 2.0.
  • Establish processes to streamline and isolate the target servers that will migrate to Windows Server 2012.
  • Determine how you will monitor the migration process and confirm systems are fully operational for production use. In addition to developing scripts to monitor and log the migration process, Microsoft IT also performed a thorough QA pass on each test machine to validate the script results and confirm that the machine was operating as expected.
  • Plan how you will balance server cluster loads when taking servers in and out of rotation during your implementation. Microsoft IT works with a Content Delivery Network (CDN) partner to manage the percentage of website traffic that is routed to a particular cluster. In this way, Microsoft IT can "dial down" traffic passing to a cluster that has one or more servers currently being upgraded to Microsoft Server 2012.

Conclusions

  • Windows Server 2012 is a key enabler that helps Microsoft IT improve microsoft.com front-end web server performance and efficiency while maintaining peak availability. When considering the "efficiency" or "cost" (as measured in the number of requests/second per CPU cycle), Microsoft IT found that the Windows Server 2012 RTM servers are 13% more efficient than the Windows Server 2008 R2 SP1 servers in handling live web traffic on the www.microsoft.com site.
  • Windows Server 2012 includes additional technologies that can further improve efficiencies. For example, Microsoft IT is investigating utilizing the Windows Server 2012 enhanced Hyper-V® virtualization in hosting the microsoft.com environment.

Resources

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft