We are excited to announce the release of a SQL Server AlwaysOn template in the Microsoft Azure Portal Gallery. This offering was announced in Scott Guthrie’s blog post along with several other exciting new features.
This template fully automates the configuration of a highly available SQL Server deployment on Azure Infrastructure Services using AlwaysOn Availability Groups.
AlwaysOn Availability Groups
AlwaysOn Availability Groups, released in SQL Server 2012 and enhanced in SQL Server 2014, guarantee high availability for mission-critical workloads. Last year we started supporting Availability Groups on Azure Infrastructure Services. The main components of such a configuration are two SQL Server replicas (a primary and a secondary), and a listener (DNS name). The replicas are configured for automatic failover, and each replica is contained on a distinct Virtual Machine. The listener is a DNS name that client applications can use in their connection string to connect to the current primary replica. The image below shows a depiction of this setup.
Other components required are a file share witness to guarantee quorum in the configuration to avoid “split brain” scenarios, and a domain controller to join all VMs to the same domain. Similar to the SQL replicas, there is a primary and secondary domain controller to prevent a single point of failure for the domain. The SQL replicas are deployed to an availability set to ensure they are in different Azure failure and upgrade domains. Likewise, the domain controller replicas are in their own availability set. The configuration is depicted in the image below.
SQL Server AlwaysOn Template
Setting up the Availability Group configuration requires a long set of steps and a decent time commitment. In order to dramatically simplify this, we have released a SQL Server AlwaysOn template in the Azure Gallery. This template fully automates the configuration of a highly available SQL Server deployment on Azure Infrastructure Services using an Availability Group. Currently, this feature only supports SQL Server 2014 Enterprise images.
The SQL Server AlwaysOn Template, depicted below, is found in the Gallery under “Virtual Machines” and “Recommended”.
After selecting it, it will show a description of the configuration that will be created, and the option to specify some arguments. This is depicted in the picture below.
The only arguments required are a Resource Group (an identifier of the deployment) and administrator credentials. From that point on, all settings are optional and will be auto-generated based on these 3 inputs. The domain Sysadmin account, the local SQL Server accounts, and the SQL Server service account password will be auto-generated based on the credentials entered. The names for all resources being created will be based off of what was entered for Resource Group name. The SQL Server service account name and the domain name will be auto-generated but will not be based on the Resource Group name or credentials. If you wish to customize any of these arguments, simply go to the other configurations and change the values entered for any setting. One argument that you may want to change is the Listener name, which your applications will use to connect to SQL Server. By default, entirely new resources will be provisioned for you. You have the option to select an existing domain for the deployment. In future updates, there will be more options to add existing resources to your configuration.
After the template has executed, 5 Virtual Machines will be created under the resource group: 2 Standard A5 VMs for the SQL Server replicas, 2 Standard A1 VMs for the Domain Controller replicas, and 1 Basic A0 VMs for the file share witness. This is depicted below:
You can RDP to one of the SQL Server VMs to see the Availability Group configuration as depicted below:
Try out the SQL Server AlwaysOn Template today by going to the Azure portal: http://portal.azure.com/