It might come as a shock to many (or maybe not) that by default virtual machines on the Azure Cloud offer no high availability whatsoever. Although microsoft does offer a 99.95% availability option if you utilize availability sets - however competitors such as AWS offer this as standard.
Availability sets require at least two or more virtual machines to function - for example you could have two web servers and two backend SQL servers running both running in an availability set.
An availability set provides a guaranteed availability ensuring that the VM's are spread accross different racks in the Azure datacentre - hence offering switch and power supply redudency. They are also vital when Microsoft are performing planned maintainence due to the fact that sometimes the VM's need to be restarted as a result.
We can set an availability set up in one of two ways - either defining the availability set upon creation of the VM's:
$vm1 = New-AzureVMConfig -Name "myvm1" -InstanceSize Small -ImageName $img -AvailabilitySetName "myavset"
or simply assigning the availability set with a pre-provisioned VM (although note that a VM restart will be needed for changes to take effect):
Get-AzureVM -ServiceName "mycloudsvcname" -Name "myvm1" | Set-AzureAvailabilitySet -AvailabilitySetName "myavset" | Update-AzureVM
In the scenerio of a web application as above - you would also obviously require the use of a load balancer for the web servers.
Pricing / Costs
As far as I can tell there are not any charges explicitly for using an availability group - although he fact that both of the VM's must be running in the group double your costs anyway.
0 comments:
Post a Comment