Easier to Implement SQL Server Availability Groups on Azure

With each update to Azure, it’s been getting easier to implement options for SQL Server. One of the challenges for the teams that write documentation and training is this rate of change.

For a long time, Availability Groups weren’t able to be implemented properly on Azure as there was a limit of one IP address per VM. That problem was fixed some months back.

I recently needed to set up Availability Groups wholly within Azure. I followed the documentation here:

(Tutorial for setting up Availability Groups in Azure)  http://msdn.microsoft.com/en-us/library/dn249504.aspx  

and the documentation here:

(Tutorial for adding a listener)  http://msdn.microsoft.com/en-us/library/dn376546.aspx  

which has just been updated here:

(Tutorial for adding a listener)  http://msdn.microsoft.com/en-us/library/dn425027.aspx

As I was reading the listener tutorial, I noted that the tutorial used Powershell for creating the endpoint as there was no GUI based method for enabling Direct Server Return on the endpoint. I thought “I’m sure I’ve seen that”. And this is the challenge for the documentation. In the portal, when I was creating the endpoint, the following dialog appeared:

image

This is wonderful in several ways. Not only has the option been added, the popup help text is actually very helpful, and also provides a link to details related to how to use it. (I’m a firm believer that help should first and foremost be helpful). Kudos to whoever implemented that.

The one remaining real roadblock for Availability Groups in Azure was the use of them for disaster recovery. The VMs involved needed to be contained in the same VPN. That’s fine for local high availability and for read-only replicas for load balancing but it’s not OK for disaster recovery where we want a secondary VM to be in another datacenter in another region.

That roadblock has also been removed now. The Azure team added support for interconnecting different regions via secure tunnels. This is documented here:

http://msdn.microsoft.com/en-us/library/azure/dn690122.aspx?WT.mc _id=Blog_SQL_General_DI

This allows you to construct a VPN like this: (image from the article)

image

In fact, with the site to site connectivity, you can also combine your on-premises systems as well: (image from the article)

image

This is important news for those wanting to implement Availability Groups in Azure, with a need for DR. Support for this has been announced:

http://blogs.technet.com/b/dataplatforminsider/archive/2014/06/19/sql-server-alwayson-availability-groups-supported-between-microsoft-azure-regions.aspx

And the guidance for using it has also already been updated here:

http://msdn.microsoft.com/en-us/library/jj870962.aspx?WT.mc _id=Blog_SQL_General_DI

Kudos to all involved in making this possible so quickly.

2014-06-21