3 Tips for Running SQL Server Databases in the Amazon Cloud
1. Leverage “Zones”
Amazon maintains a number of data-centers around the world. These data-centers are called Regions. Regions in the US include East (“Northern Virginia”) and two West (“Northern California” and Oregon) Regions. Each Region is divided into “Availability Zones”. Zones are physically isolated data-centers within a Region. The key point to remember is that issues within a Zone typically do not impact other Zones (or Regions). We usually recommend to our clients that they use any of the following to guard against a Zone failure or performance problems:“Mirrored Servers” – Duplicate web servers are placed in different Zones. Amazon’s routing service (“Elastic Load Balancer”) will distribute web traffic to available servers in a round-robin order.
“Database Mirroring” – Microsoft SQL Server databases should be mirrored across Zones. When a SQL “Witness Server” is used, automatic fail-over to the mirrored database occurs when the primary database is not available. My colleague Patrick Jasinski has written a detailed guide to setting up SQL Mirroring using machine certificates; you can read it here.
2. Use Dynamic Server Names
3. Applications should connect to the server using the “Public DNS” address
