Web farm architecture

I want to design a web farm with three web servers. Can I use Application Center to do that If yes, is there any reference design diagram If no, any other suggestion


Answer this question

Web farm architecture

  • yanivpinhas

    pyeung wrote:
    I think deployment issue is yet to be solved before I can recommend it to my boss without using Application Center. Suppose a developer is using Visual Studio 2005 on Windows XP, how can he detached a node from the cluster, deploy the application and add the node back to cluster. Any reference materials


    You certainly need to solve the deployment problem, but that depends a lot about your architecture and needs, so it's hard to say exactly what the answer will be; but it is certainly doable. That said, you probably don't want your developers directly accessing and taking off servers from the cluster to do an upgrade :P Leave that to the admins and create a clear and specific deployment process for your application.

    Also, realize that some deployments are likely to affect things in a way that you might need to schedule full downtime for your cluster during the update process, unless you've designed, architected and developed your application in such a way that it makes this unnnecessary, so keep that in mind as well.


  • VBScriptor

    Hi Tomas

    Thank you very much. You advice is extremely valuable.



  • Santanu B

    Hi Tomas

    I use 3 instances of virtual PC (1 Windows XP and 2 Windows Server 2003) to test the environment. I configure the 2 Windows Server as follows:

    Server 1: cluster IP - 192.168.1.50, dedicated IP - 192.168.1.1

    Server 2: cluster IP - 192.168.1.50, dedicated IP - 192.168.1.2

    I find that I can access the cluster with 192.168.1.50, 192.168.1.1 and 192.168.1.2. Is that correct If yes, I think I can deploy application to the server one by one with their dedicated IPs and without detaching the server from the cluster. Am I correct



  • BBK

    You can access the cluster using the .50 address, the other two access a specific server in the cluster (since it is not a shared address).

    You can certainly deploy the application to a given server without detaching, but it's not recommended, because then one of your users might get their request routed to the server you're deploying to and get an error. However, if you detach it from the cluster, all user's will still get all their request serviced by the other servers and won't likely noticed your operations.


  • Neuman

    To be honest, I've never tried to configured NLB on virtual machines. I've seen conflicting reports around of whether it is supposed to work or not, so I can't say for sure, but testing it shouldn't be too hard.

    Regardin gthe deployment question, the answer is no. In a regular NLB cluster, it is your responsability to update all machines in the cluster consistently. This was one of the things that AppCenter Server could do, btw. One of the benefits of NLB, though, is that you can take a server off the cluster to update it and then bring it back on without completely disrupting services.


  • BD_Elektrona

    Hi Tomas

    Thank you very much for your valuable advice. I will read your suggested topic carefully before I start planning. Because it is the first time I plan server farm, I would like to use a simpler solution. I hope you don't mind I ask some more beginner questions:

    1. Does MS officially announce that Application Center will be out of support in the near future I need to persuade my boss not to consider this option.

    2. If I use windows server's built-in NLB, I think two network cards for each server is a must. But do I need to have some other hardware or server to coordinate

    3. Is hardware load balancer is an easier option



  • INKHAND

    Hi Pyeung,

    Typically when you load balance applications, you want to distribute requests only to healthy servers. It is possible that the machine is up, but the application is down due to some reason. NLB wont be able to detect that. Load balancers ( both hardware and software- also called reverse proxy ) will support some kind of Health check to let you do that.

    Free/open source load balancers are also available. Even the hardware load balancers are available in a wide range of prices depending on the Throughput ( in MbPS), number of clusters they support, configuration extras and the brands your networking team may be willing to support.

    Pranshu



  • davros51

    Hi Tomas

    I appreciate your advice. I want to do a demo to my boss using 2 instances of Windows 2003 Server on Virtual Server and 1 instance of Windows XP on Virtual PC to get his approval for using windows server's built-in NLB. Is it possible

    When I deploy an application to cluster, is there any thing that I need to pay special attention Is it the same as deploying an application to a single server Does the two instances automatically updated at the same time



  • jitendra badkas

    You most likely do not want to use Application Center. Though it can be used to build a web server farm, it's an expensive product that is also on the way out and almost out of support, so it's definitely not something you want to rely on too much at this point.

    You can still build a farm using standard features in ASP.NET together with the built-in NLB (Network Load Balancing) facilities in windows server (it's available in Win2k Advanced Server and all editions of Win2k3 server). There are several things you need to keep in mind when building a server farm on your application, and that includes things like ensuring you use a shared session repository (like a sql server database) and that all your session objects are serializable; configuring viewstate correctly, and a lot more you'll need to keep in mind from an application design point of view.

    Here's a place you might want to start reading on this topic.
    http://msdn.microsoft.com/practices/apptype/webapps/default.aspx pull=/library/en-us/dnpag/html/scalenetchapt04.asp
    http://msdn.microsoft.com/practices/apptype/webapps/default.aspx pull=/library/en-us/dnbda/html/apparchch4.asp


  • jlwilliamson

    Thank you everyone!

    I think deployment issue is yet to be solved before I can recommend it to my boss without using Application Center. Suppose a developer is using Visual Studio 2005 on Windows XP, how can he detached a node from the cluster, deploy the application and add the node back to cluster. Any reference materials



  • drdexter33

    pyeung wrote:
    Thank you very much for your valuable advice. I will read your suggested topic carefully before I start planning. Because it is the first time I plan server farm, I would like to use a simpler solution. I hope you don't mind I ask some more beginner questions:

    1. Does MS officially announce that Application Center will be out of support in the near future I need to persuade my boss not to consider this option.

    Sure. As you can see from here, AppCenter is already out of mainstream support and into extended lifetime support.

    pyeung wrote:
    2. If I use windows server's built-in NLB, I think two network cards for each server is a must. But do I need to have some other hardware or server to coordinate

    You don't need any extra hardware, and hardware on each machine does not need to be the same (so you can mix and match). While having two network cards on each server is recommended for performance reasons, it isn't strictly required (though it was in AppCenter because of how it configured NLB), as long as your network cards allow you to configure multiple IP Addresses, which most do anyway.

    pyeung wrote:
    3. Is hardware load balancer is an easier option

    It is certainly an option, though usually more expensive. It is usually used in cases where you have very large farms, as NLB I believe only supports up to 32 machines in a single cluster.



  • Web farm architecture