Windows – How to design/ensure high-availability of web servers

dedicated-serverhigh-availabilityiisload balancingwindows

I have been given a dedicated server by 1&1 internet, which has two hard drives in a RAID1 configuration. I expected this would be good enough as if one disk fails, the other can take over until the damaged one is replaced. However on two ocassions both hard drives have failed (or 1&1 have been incompetent and replaced them in the wrong order) which has caused serious issues.

I would like to know what is the best way to ensure high-availability of a web server that is running on a dedicated machine? So far I have:

  1. Dedicated server with 2x500GB HDD running IIS 7, SQL Server + Web App software
  2. EaseUS server backup running twice a day
  3. No load balancer

The problem I have is that if the machine goes down again, its taking 1&1 on average 3 days to get it back up. I can't afford another loss like that. They don't offer a load balancer for dedicated servers, but maybe it can be done by software I'm not sure.

My only other option is to drop the dedicated server altogther and go with a 'Cloud' server that is a VMWare machine. They're claiming its robust because the infrastructure is so huge that any hardware problems have little effect on customers. But I hate the idea of losing a dedicated server because I find them easier to configure.

What's a good way to go about doing this? That is, enusring my website is always available with very little outage. My budget would be around $150 per month. My server currently costs about $60pm.

Best Answer

High availability without some kind of load balancing using a dedicated server would not be possible.

You would need to have 2 servers and there are some software options for load balancing. Windows does offer a load balancing service. Seems to work rather well however you would need a very low end 3rd server.

Two question: How are you going to replicate the website data and how will you replicate SQL.

Replicating the data would be easy enough with DFS and there are some other third party options but there would be licensing involved. DFS would require AD, so there is some extra cost there as well im sure.

Now about SQL,

Log shipping: Not real time, provided redundancy not high availability. I list here as one of the options because it would be the cheapest and no need for an additional server. Log story short on log shipping changes are written to a log and those logs are shipped every ~15 minutes and applied to the backup server.

Mirroring: One again redundancy not high availability however would need a third server for a witness, probably using you Load Balancer/AD server would do fine, SQL express would work fine, however im not 100% sure about what versions of SQL support mirroring.

Availability Group: Does provide high availability in an active active setup however only on SQL 2012 and SQL 2014. Also would need a quarm.

Quarm - Witness: Basically a 3rd party that does two things:

Decides what server os currently active, and acts as a communication bridge in the event the 2 SQL cannot talk to each other.

If they are offering a dedicated servers at $60 im sure their cloud option is cheaper.

One thing I would ask them is the a VPS or Dedicated Cloud.

Difference here is VPS is resource sharing Dedicated Cloud is Dedicated Resources from a pool of resources.

Most Dedicated Cloud infrastructures are a better way to go if you have low disk I/O, If they are running it correctly they will have ESXi fulling configured for Vmotion, QOS, hopefully HA datastores, and for the price its usually not bad. I have seen simple Dedicated Cloud solutions go for anywhere form $300/pm to $50pm, but remember you get what you pay for.

You can't by a Ferrari for the same price as a Honda there is a reason for that.