Deploying Pre-release Products Internally at Microsoft

 One of the fun aspects of my job is the opportunity to manage the team that partners with MSIT (Microsoft's IT department) to deploy Microsoft products internally prior to release. I say fun because of the fast-paced challenge pre-release deployment presents. Several weeks prior to releasing a milestone build, whether a Beta (feature complete milestone), Release Candidate (milestone built for testing to validate readiness and quality for release to manufacturing), or a product that is complete and ready for manufacturing, we prepare a build for internal deployment to validate the quality. Once the build gets into the hands of our engineers at MSIT, they start building deployment images, and testing their configurations.

Then, we begin a ramped server operating system deployment by putting the build on 2 or 3 machines in a domain called Windeploy. Most of the Windows division has their user accounts in the Windeploy forest. We do this so that if a problem occurs, people are really motivated to get it fixed since it impacts their ability to do work and access the tools required to do their jobs. We have found that the development team responds quickly in this scenario -- nothing like feeling your own pain.

After the initial server deployments, we wait for 24 to 48 hours and then start deployment servers more rapidly. At the end of 10 days, we will have up to 180 to 190 servers running the pre-release (or escrow) build. Sometimes the deployment goes completely smooth and other times, we hit hiccups that cause us to stop and take fixes. When we hit the hiccups, all hands come on deck to keep the service running and to solve the problems as quickly as possible.

A few weeks ago I talked about providing performance information about 64-bit in MSIT. So far, the data we have is anecdotal. Here it is:

  • Roles where we have 64-bit server deployed with the 64-bit OS: Domain controllers, SQL database applications (both clustered and non-clustered), file servers such as our large bug database in Windows, and Web servers
  • For our large database applications, we are seeing the 64-bit box handle twice as many production queries than the next fastest 32-bit box (mix of 1740g28x2.8GHz w/8GB memory)

And plans are in the work for more. I'm curious what you think about the emerging 64-bit marketing. Is it going to come faster or slower than expected in business and government IT departments?