Archive

You are currently browsing the Fewtureweb blog archives for March, 2009.

Mar

28

How Microsoft migrated HOTMAIL from FreeBSD Unix to Windows 2000 Server

By raheem

Its cool stumbling on to nuggets on the web. I started out searching for Windows 2003 architecture diagrams. I found one, and noticed a box called the POSIX subsystem and wondered what it did and why it was there. Found out that the POSIX subsystem allows Unix applications to run on windows. But who does that? I have never heard of anyone running Unix apps on Windows. I searched some more and found another nugget – documentation of how Microsoft had migrated Hotmail from Unix to Windows back in 2000. Based on that documentation, the unix migration was possible due to Windows ability to run Unix services using the POSIX subsystem, specifically windows services for Unix. So it seems that the whole POSIX subsystem has been built for interoperability and to enable migrations from the Unix platform to Windows.

So now to the meat of this post – how Microsoft did it. The project documentation is hidden in technet under interoperability notes. The project involved migrating almost 3800 servers and was conducted over a 4 week period. To make it interesting, the servers were migrated remotely, automated and involved zero new hardware. Here are a some of the more interesting project constraints:

  • Zero user impact or downtime. To maintain the availability of the Hotmail service, a zero user impact or downtime was considered the key requirement of the migration.

  • Rapid deployment. The migration included nearly 3,800 servers, and was limited to a 4-week conversion cycle. Remain competitive in the Internet space, requires rapid response to competitive situations. This had resulted in new releases of the Hotmail application suite occurring approximately every eight weeks. It was important that the migration to Windows 2000 could be accomplished in Windows so that the development staff would not have to maintain the follow-on release of the application for both FreeBSD and Windows 2000. The same model that was used for the initial deployment will also be used for new software releases, which generally occur once every two months.

  • Use existing staff. All staff should remain effective regardless of operating system. This includes staff in system development, QA, and Operations.

  • Use existing site hardware and network. The migration would quickly “reimage” each piece of equipment and return it to service. No physical hardware or network topology changes should be necessary.

  • Totally remote and unattended. The migration should not require any physical human interaction to migrate the servers. All updates should occur through software scheduling and should report success/failure to a central console so migration can be verified.

Reading the document, you also get some idea of the Hotmail network infrastructure from the diagrams shown in the document. Here is the pre-migration diagram and here is the post-migration diagram. The essential strategy was to reimage the UNIX machines to Windows 2000 Server running IIS 5. The reimage process were automated and remote. The Unix servers were part of a cluster. Unfortunately, the document does not reveal how the cluster configuration was migrated. There is some meat in there for developers on how the Hotmail codebase was migrated. Overall its good stuff. Understandably they dont share all the details, but there is enough meat to allow you to cook up your own massive migration project.

Here are the links:

  1. Project Overview
  2. The Project Planning Guide – most interesting stuff is here including network diagrams
  3. The Deployment Guide – this was not as detailed but still contained some nuggets and details about the actual deployment and code migration
[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Mar

4

Designing a two-site active directory network

By raheem

Implementing a two-site active directory network is remarkably simple. The following diagram shows a design that I implemented a couple of years back. The client did not have any AD infrastructure at the time and they needed a way to share documents between their two offices in Manhattan and Long Island. The solution involved setting up a single AD domain with two sites. A server was dropped at each location that performed authentication, file and print services. The two sites were connected via site to site VPN implemented thru a Cisco PIX 501 firewall. Each site had DSL access of 3Mb/768Kb. I wanted to implement DFS to make the file-sharing simpler, but it tipped the clients’ budget (they were a nonprofit). Active Directory Sites and Services was used to manage replication traffic between the sites. It worked fairly well and the users were able to share files between the offices.

Two site Active Directory design

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Mar

2

24GB of RAM on your desktop

By raheem

Kingston has begun demoing a desktop with 24GB of RAM. That’s a lot of RAM and one expensive desktop! But its a cool demo with nice background music.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]