Imagine that you have a successful web application that uses ASP.NET and IIS 7. It generates many calls to a SQL Server 2008 database, and is expected to be available to the public with 99.9% uptime (downtime of 8 hours, 45 minutes per year).
Our goals are:
- Install Windows Updates on the server without causing downtime to our customers
- Prevent hardware crashes on the server from slowing down ASP.NET applications because of timeouts
Unlike load-balancing an ASP.NET application, load-balancing SQL seems to be much more difficult. What are your best practices for setting up a simple load-balanced SQL Server 2008 R2 cluster for a Micro-ISV that uses the Microsoft stack?