Q. How do I deploy a SQL cluster to Azure IaaS?

A. On premises there are two primary types of SQL cluster (both use Failover Clustering)

  • AlwaysOn Failover Cluster Instance which uses a shared disk
  • AlwaysOn Availability Group which replicates the data between a replica of the database on each SQL instance

In Azure IaaS the same concepts of leveraging a cluster apply. There are no shared disks in Azure which means the Availability Group option must be leveraged to replicate the database between the replicas which are IaaS VMs running SQL Server.

New to Windows Server 2016 is Storage Spaces Direct (S2D) which enables disks local to each node to be aggregated within the cluster to provide a resilient shared disk (exposed as a Cluster Shared Volume) which would then enable the Failover Cluster Instance to be leveraged however this would only be possible when using Windows Server 2016 as the guest OS.

There is some magic behind the scenes for the SQL endpoint utilizing a load balancer (this is implemented automatically when deploying the Azure SQL templates).