Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking at expanding the hardware behind our .NET web application from a single box running the Web Server and SQL Server to two separate units with the web server on one and SQL Server on the other.

During my research I've read various things about Virtualization but wonder how it features as a web application scales? For me it doesn't seem like a strategy for high availability as it's all sitting on top of the same hardware, so if that goes down, the whole thing will fall like a stack of cards! Although I'm sure I'm missing something here.

So what is the business case for virtualization? Essentially I'm looking to achieve a good scale out strategy for the long term, with high availability (I know HA is difficult with two servers, but this is where I want to be eventually, maybe not right now). How would virtualization be used to move beyond a single or dual server configuration? I would have thought that a more effective strategy for high availability and scale-out would be to use more servers with a load-balancing web tier and a federated database?

share|improve this question

closed as not a real question by Shane Madden, Sven, MDMarra, Jay, Jacob May 18 '13 at 23:49

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 4 down vote accepted

What you achieve by virtualising on only one virtual host is HA at a higher level - the ability to create clusters of more than one server at each tier of your server application (e.g. two SQL servers with log shipping or whatever, two web servers with Load Balancing configured) and you can then carry out scheduled maintenance on components at each level, one at a time, without interupting your service availability.

Obviously with just one box you don't get HA at the hardware level from this, but that's a choice you make. You can add it as and when its appropriate for your needs.

As for how you use virtualisation to achieve large numbers of highly available servers, the top virtualisation products allow some degree of failover in the event of virtual host server unavailability - VMWare vmotion is an example of this technology. If you start off with a virtual host that supports this kind of thing then it becomes trivial to add, remove, upgrade, etc. the virtual hosts that are available in the failover group without interupting your public service.

It's not a magic bullet. But it is pretty damn awesome.

share|improve this answer
Thanks, I never really considered HA from a software perspective..makes sense! – QFDev May 18 '13 at 20:42
You'll need to think about HA from the hardware layer up through the application layer. Hardware HA won't address application failures, database failures, etc. – joeqwerty May 18 '13 at 20:59

Keep researching. Hyper-V w/Failover Clustering and VMware HA both address the hardware HA issue. To make your application highly available you'd start by making your hardware highly available, which is what Hyper-V w/Failover Clustering and VMware HA are for.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.