R – ASP.NET Hosting on Virtual Servers running on VMWare

asp.nethostingvirtualizationvmware

My Company is running several international websites for selling insurance products.
Our current setup is a Webfarm with multiple Loadbalanced Webservers hosting our ASP.NET applications. The backend is a single – yet powerful – SQL Server. (all in one data center)

Our network admins want to move to virtual servers running on VMWare.

Scenarios could be

  1. Webfarm: Multiple standard webservers, Loadbalanced (current setup), Session state on SQL Server
  2. Virtual Webfarm: Multiple virtual servers, loadbalanced on one physical VMWare Host, Session state on SQL Server
    2.a same as above but with multiple physical hosts
  3. Single Virtual Webserver: One big powerful virtual webserver, no loadbalancing required, session state can be kept in process

There is a big hype around virtualization and I can see the benefits, but have no experience with this. I cannot tell what issues we will face and to what we should pay special attention.

  • Does anyone have experience with such a virtual setup?
  • What are general recommendations?

I tend towards 2a. I am afraid of having all webservers on one single physical machine.

Many thanks in advance to share your thoughts.

Best Answer

There are three reasons to use more than one webserver for an application:

  1. Scaling - More grunt is required than one machine can provide
  2. Reliability - Website should keep running in case of failure (a. hardware b. software)
  3. Prioritization - One of the webservers takes on heavy work (perhaps scheduled tasks) leaving the other to respond to client requests quickly.

Marrying that up to you scenarios:

Scenario 1 provides 1, 2, 3 Scenario 2 provides 2b (perhaps 2a if it is fully hardware redundant (doubt it)) Scenario 2a provides 1, 2 Scenario 3 provides none of the above

Advantages of Virtual Hosting:

  • Lower Total Cost of Ownership (TCO) on big cluster serving multiple purposes is cost effective
  • New servers can be created quickly if needed
  • Redundant hardware is easier to justify if the cost is shared among many applications

Disadvantages:

  • Other virtual machines may suck away your CPU/Disk IO capacity

IMHO there is little point to load balancing multiple virtual machines on the same virtual server.

Related Topic