HA Without the Data Center Bill: What Azure Changed for Small Business

High availability used to be an enterprise feature. Not because the technology was inherently complicated, but because the price of entry was high enough that only organizations with full-time infrastructure staff and six-figure hardware budgets could justify it. Azure changed that math in 2010, and the implications for the clients I worked with in 2011 were significant enough that I want to document exactly what changed and why it mattered.

What HA Actually Cost Before Azure

A production SQL Server deployment with meaningful high availability in 2010 looked something like this:

  • Two physical servers (primary + secondary) — call it $6,000–$12,000 each
  • SQL Server Enterprise licenses for both nodes — $25,000+ per server for the 2008 era licensing
  • Shared storage or a SAN for AlwaysOn Failover Cluster Instances — another $15,000–$30,000 for anything reputable
  • Two network switches with redundant uplinks
  • A secondary physical location if you wanted geo-redundancy, with all of the above duplicated
  • A DBA to configure and maintain it

A bare minimum HA SQL Server setup — two nodes, one location, no geo-redundancy — would run $60,000 to $80,000 in upfront hardware and licensing. That's before the ongoing operational cost.

For a company with 20 employees and a line-of-business database that kept their business running, this was simply not a conversation. Their HA plan was "we hope the server doesn't die" or, if they were sophisticated, "we have a backup we can restore from."

What Azure SQL Database Provided by Default

When you created an Azure SQL Database in 2011, you got three replicas of your data, maintained synchronously, with automatic failover, for the price of the database tier you selected. The Business edition — which handled most small-business workloads — was $99.99/month for up to 150 GB. That included:

  • Three synchronized replicas across two fault domains
  • Automatic failover without manual intervention
  • Point-in-time restore for 7 days
  • Geo-redundant storage for backups

This is not a list of premium add-ons. This is the baseline. Microsoft had already spent the engineering effort and the capital to build this infrastructure across their data center network. The marginal cost of extending it to one more customer's database was low. So they included it.

The Failover Story Changes

Before Azure, when a small-business server failed at 6 PM on a Friday, the recovery process went: call someone who has physical access, get them to the office, assess whether the server can be repaired or needs to be rebuilt, restore from backup. Best case: 4 hours. Realistic case: Monday morning.

With Azure SQL Database, a hardware failure in Microsoft's infrastructure triggered an automatic failover to a replica. The connection would drop and then reconnect — a few seconds of interruption at most if the application handled connection resiliency correctly (more on that in a separate post). The end user experience might be a brief "connection lost" message that resolved on retry. That's it.

I want to be precise about what "automatic failover" meant for clients in 2011: it meant their application reconnected without anyone doing anything. No pager, no drive-in, no restore from backup. Just a reconnect.

The Geo-Redundancy Conversation

The on-prem conversation about a second site was usually short: "Here's what it costs. Here's what we can afford. These are not the same number." The second site conversation ended before it started for most small businesses.

Azure's geo-redundant storage meant backups were replicated to a second Azure region automatically. SQL Azure Active Geo-Replication wasn't available in all tiers in 2011, but the backup redundancy alone represented a meaningful improvement over "one drive in a desk drawer." A full site failure at a Microsoft data center wouldn't take down the backup.

What This Actually Changes

The most important thing that changed wasn't technical. It was organizational. When HA required a capital investment and an ongoing operational commitment, businesses made conscious choices about which systems warranted it. Most didn't make the cut. You'd see the invoicing database on the $80K HA stack, and the project management database on a shared fileserver, because you had to prioritize.

Azure collapsed that decision. Once the baseline service included redundancy, you didn't have to decide which databases were "important enough" to protect — you just put them all in Azure SQL and got the same guarantee across the board. That's a governance improvement as much as a technical one.

For the clients I was moving to Azure in 2011, the punchline was always the same: you're going to spend less money and get better infrastructure. That combination doesn't come around often. Trust me on this one.

If you're thinking through the HA economics for a workload you're running or planning to migrate, I'd love to hear the numbers you're working with. As always, I'm here to help.

Read more