Web Farm Framework 2.0 overview

Posted: Jul 30, 2010  1 comments  

Average Rating

Tags
Other
Web Farm

IIS team has recently released a Web Farm Framework 2.0 beta. The goal of the Web Farm Framework is to enable easy provisioning, deployment and managing of web farms. This blog post provides an example of what Web Farm Framework can do and how it can simplify the Web Farm management tasks.

To demonstrate the capabilities of the tool, we will create a simple web farm that looks as on the following diagram:

  • The load balancer will be using the Application Request Routing for IIS 7 and will also act as a Web Farm Controller. Web Farm Controller manages all the machines within the web farm and it has the Web Farm Framework 2.0 installed.
  • The Primary Server, in addition to serving the web requests, also acts as an example server for all the other servers in the farm. Web Farm Framework will ensure that every new secondary server added to the web farm has exact same components installed and is configured exactly as the primary server.
  • The Secondary Server(s) will serve web requests. It’s configuration and content matches the primary server.

Setting up a web farm

The example web farm will contain 3 servers:

  1. DEMOCONTROLLER – this is the load balancer and controller machine. It has ARR 2.0 and Web Farm Framework 2.0 installed.
  2. DEMOPRIMARY – this is the primary content server that has a PHP application setup. Here is what is installed on the primary server:
  3. DEMOSECONDARY – this is the secondary content server that is a clean OS installation without any components or content installed. There is nothing installed on that server:

Once the Application Request Routing 2.0 and Web Farm Framework 2.0 have been setup on the controller server, the new web farm can be created by using IIS Manager UI:

In the “Add Server Farm” dialog specify the name for the web farm (e.g. demofarm) and make sure that “Server Farm is available for load balancing” and “Provision server farm” options are selected. You will also need to provide the credentials for the account that exists all all the web farm servers and that has administrative privileges on all those servers.

On next page add the primary server and the secondary server to it. The Web Farm Framework will verify that it can connect to those servers. If connection fails then most probably the firewall on a server is not configured correctly. Follow the instructions at System Requirements for the Web Farm Framework 2.0 to troubleshoot connection problems.

After both servers have been added, the Web Farm Framework starts provisioning the web farm. You can monitor the provision process by using the IIS Manager UI:

Here is what happens during the web farm provisioning:

  1. The Web Farm Agent component is installed on both content servers in web farm. The Web Farm Agent is used to establish communication between each content server and the controller.
  2. The primary server is added to the Web Farm and Web Deployment Tool is installed on it. Web Deployment Tool is used to synchronize the web content and configuration across all servers in the web farm.
  3. The primary server is queried for all the installed components and for the web content.
  4. The secondary server is added to web farm and the Web Deployment Tool is installed there too. After that all the same components that were installed on the primary server are also installed on the secondary server.
  5. Finally both servers are marked as ready for load balancing, which means that they are now included in the web farm and web request will be routed to them.

After both servers have been added to the web farm, the secondary server has exact same components installed and exact same web content as the primary server:

The Web Farm Framework periodically checks all the servers to ensure that they are synchronized with the primary server. If any new component is installed on the primary server or if any content has been changed on the primary server, those changes will be propagated to secondary servers. As soon as another secondary server is added to the web farm, the provisioning process for that server will start automatically. This makes it very easy to add new servers to the web farm. Also, the servers in the web farm do not have to use exact same version of the operating system. For example a web farm can contain a mix of x86 and x64 machines, as well as Windows Server 2008 and 2008 R2.

More information

Automatic provisioning of the servers and applications in a web farm is one of the many capabilities of the Web Farm Framework. Other cool things included in Web Farm Framework are:

More information about the Web Farm Framework 2.0 can be found at Microsoft Web Farm Framework 2.0 Beta for IIS 7.

View the original post