I want to study about high-availability server, and then build a demo system (which contains HA web server - IIS, and a HA database - SQL Server ). I have some experiences about high-availability SQL-Server, but I don't know that at system level, are HA solutions different from database level?
How to I start to study this? Any leads? Any books? Any information?
Thank you very much!
On a basic level, high availability is the reduction of single points of failure. You can build a cluster of machines having active/standby load-balancers, multiple web/app-tier, active/active database replication, but, if those machines only have a single connection to the network, there's still a massive point of failure. If those machines are dual-homed, but, your ISP only has one transit carrier to the meet-me room, there's another point of failure. What about power, you may have two power supplies in your machines, but, what about the power supplied by the ISP, is it fully redundant to your rack?
What level of availability are you looking for?
I've read good reviews of http://www.amazon.com/Blueprints-High-Availability-Evan-Marcus/dp/0471430269/ref=sr_1_1?ie=UTF8&s=books&qid=1267782128&sr=8-1 but I'm from *Nix background so couldn't comment on it's appropriateness for IIS + MSSQL
Good luck!
Another often overlooked but massive point of failure is malicious activity. A hack on kernel.org took it out for months! look at the PlayStation network hack! Not just 2 hour downtime, significant downtime of DAYS/WEEKS! Millions in damages! Hacking should be considered as much of a threat to your uptime as a failed HDD/PSU ect...
If you are really serious about uptime have a look into the hacking side of the world, maybe get a computer security consultant to test your setup.
HA for IIS is much different from HA for SQL Server. When building an HA system for web servers you scale out behind a load balancer so that if any one web servers goes down the website is still online. The load balancer should actually be a pair of load balancers working in an active/passive pair. The same applies for all routers, firewalls, network uplinks, etc.
That kind of misses the point of HA. You can't encapsulate HA into a demo system, because if you did the demo system itself would be vulnerable to an outage.
HA is not a solution. HA is an approach that leads toward the solution.