Business Continuity and High Availability: How SQL Server and Azure can help you achieve “The Nines”

Published on July 27, 2017 by Solvaria

Topics: SQL Server

Today we are going to share how to keep "The Nines" along with the principles needed to achieve High Availability. We will discuss how to know if your company needs High Availability and possible solutions for this change. 

A few definitions before we get started:

Business Continuity (BC): The capability of the organization to continue delivery of products or services at acceptable predefined levels following a disruptive incident. 
(Source: ISO 22301:2012) 

High Availability (HA): Refers to a system or component that is continuously operational for a desirably long length of time. Availability can be measured relative to "100% operational" or "never failing". 

Disaster recovery (DR): A set of policies, procedures and tools to enable the recovery or continuation of vital technology infrastructure and systems following a natural or human-induced disaster

Why do companies implement High Availability?

Businesses chose to implement this for RPO & RTO. This implementation helps IT by patch and hardware testing, software release management, eliminating human admin errors, and data center management. 

What to consider? 

  • Needs (What is my SLA & How many 9’s does my company have?)
  • Budget (The more 9’s the higher the cost)
  • Hardware/Software Versions (Make sure versions are able to support targets)
  • Automation (How much of the process do you want to automate?)
  • Team Level Support (What can your team comfortably support if an event occurs?)

Three main principles that help achieve High Availability:

1. Eliminate Single Point of Failure

2. Reliable Failover Solutions and Procedures 

3. Continuous System Monitoring 


Note- Don’t OVER Engineer… make sure processes and procedures are simple, test your procedures, and your procedures should be a living document!

What can SQL Server do & what are the High Availability options?

  • Always On Failover Cluster Instances: This allows SQL Server Instance level HA.   It leverages the use of the Windows Server Failover Clustering.
  • Always On availability groups: This allows database HA.   This also leverages the use of the Windows Server Failover Clustering.   Depending on the version of SQL Server, you can cluster one or more databases in a single failover group.
  • Database Mirroring:  This allows single database HA.  Although still a valid option, Mirroring will be removed from future versions of SQL Server.  Always On has been designed at the replacement for Database Mirroring.
  • Log shipping:  Like Always On availability groups and database mirroring, log shipping operates at the database level. You can use log shipping to maintain one or more warm standby databases for a single production database.

 

What can Azure do?

  • Physical isolation – When possible, Azure prefers at least 300 miles of separation between datacenters in a regional pair, although this isn't practical or possible in all geographies. Physical datacenter separation reduces the likelihood of natural disasters, civil unrest, power outages, or physical network outages affecting both regions at once. 
  • Platform-provided replication - Some services such as Geo-Redundant Storage provide automatic replication to the paired region.
  • Region recovery order – In the event of a broad outage, recovery of one region is prioritized out of every pair. Applications that are deployed across paired regions are guaranteed to have one of the regions recovered with priority. 
  • Sequential updates – Planned Azure system updates are rolled out to paired regions sequentially (not at the same time) to minimize downtime, the effect of bugs, and logical failures in the rare event of a bad update.
  • Data residency – A region resides within the same geography as its pair (with the exception of Brazil South, as their pair is outside its Azure Geography) in order to meet data residency requirements for tax and law enforcement jurisdiction purposes.


Each Azure Region is paired with another Azure Region within the same Azure Geography to create a Regional Pair.

These pairs are beneficial because they can act as built in DR solution as well as a way to distribute your workload.

What can Azure Cross Region do?

 

  • Azure Compute (PaaS) – Allows the replication of Azure Platform as a Service offering.
  • Azure Storage - Geo-Redundant that is automatically replicated three times within the primary region, and three times in the paired region. 
  • Azure SQL Databases – Depending on the tier, you can configure figure asynchronous replication to your Azure Paired region or to any Azure Geography.
  • Azure Resource Manager - Resource Manager inherently provides logical isolation of service management components across regions. 


Feel free to shoot us a comment or for more information watch the full webinar on Business Continuity and High Availability here!