Web Farm Framework 2.0 overview

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.

1,763 views

ruslany on July 30th 2010 in Other

PoorFairAverageGoodExcellent (No Ratings Yet)

11 Responses to “Web Farm Framework 2.0 overview”

  1. Gravatar ImageWeb Farm Framework 2.0 beta released! : BillS IIS Blog : The Official Microsoft IIS Site responded on 05 Aug 2010 at 1:09 pm #

    [...] more about Web Farm Framework and see screen shots on Ruslan’s blog post.  Documentation for the beta is available on the learn.iis.net site.  Download Web Farm [...]

  2. Gravatar Imageparacetamol responded on 06 Aug 2010 at 8:39 am #

    Hi,
    What’s happen when webfarm controller is down ?

  3. Gravatar Imageruslany responded on 06 Aug 2010 at 9:46 am #

    Hi paracetamol:

    If controller is down then webfarm will be down. The reason being thats your front end server which has ARR and URL rewrite installed. So if Controller is down, it can no longer forward requests to the farm machines which has app installed.

  4. Gravatar Imageparacetamol responded on 07 Aug 2010 at 2:29 am #

    So,how to configure controller in a high availability mode ?
    I have done a lab with 2 controller and nlb.
    On the second controller i have stopped web farm controller service
    It works fine, but is it the right way ?

  5. Gravatar ImageGurpreet responded on 09 Aug 2010 at 3:20 pm #

    I didnt get your question properly. But here is an answer on what I understood. There are many advantages you get with webfarmservice running. It lets you manage the whole webfarm seamlessly. You can reboot, install products, get requests etc by just clicking a button in the UI, and the service takes care of performing the operation on the whole webfarm making sure that the webfarm has zero downtime. It keeps the whole webserver in sync too with the primary server.

    When the webfarm is getting provisioned, the webfarm has to be brougth down and it only happens during the setup of the webfarm and after that the service makes sure atleast one of the servers is up to serve the request.

  6. Gravatar ImageCJ Pattekar responded on 09 Aug 2010 at 3:32 pm #

    Do both the controllers have same set of servers in the farm? Are you planning to leave the controller service started on both controllers?
    If you have it stopped on one controller and the other controller goes down as well for some reason, then the site will go down.

  7. Gravatar ImageCarlB responded on 12 Aug 2010 at 8:44 am #

    Is there a way to use a real HW load balancer with this solution, such as a netscalar, A10, or F5 LTM?

    ARR is nice, but introduces an unacceptable SPOF into our environment.

    This is great stuff, other than that. Looks and reads a lot like a modern port of MS Application Center 2000 without the monitoring display panel that aggregated perf counters using MSDE.

  8. Gravatar ImageYounus Aftab responded on 12 Aug 2010 at 10:35 am #

    Yes. You can use a Load Balancing Solution of your choice. When you are setting up the web farm. You have the option to select these servers to participate in ARR load balancing or you can do the setup without it and continue to use other load balancing technologies.

  9. Gravatar ImageYusuf Ozturk responded on 14 Aug 2010 at 12:37 pm #

    It also can sync custom tools like AspJpeg or Jmail?

    What happens if a visitor uploads an image to secondary server with an upload script? How we can sync that?

  10. Gravatar ImageLawrence Berger responded on 16 Aug 2010 at 10:50 am #

    What about the content is it coppied to each server of just a file share.?

  11. Gravatar ImageGurpreet responded on 16 Aug 2010 at 11:59 am #

    It cannot sync custom tools. It can only sync products which are supported in Web PI. You can only sync content from primary server. So if user uploads image on to the secondary server, we cannot sync that to all the servers.

    Did you think about sharing content between all the servers?

Trackback URI | Comments RSS

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

XML Markup: If You want to add XML code to the comment please XML encode it first, otherwise the code will not show up.

Recently Published Articles