Wednesday, March 21, 2018

Azure vertical scaling basics: Why use it and how does it work?

Hosting applications and services on Microsoft Azure gives organizations access to a powerful platform with a flexible underlying architecture. This is particularly evident in the ability to vertically scale an Azure virtual machine with minimal disruption. Microsoft certified training programs can help you understand the full implications of vertical scaling in Azure, but here's a quick look to help you get started.

What is vertical scaling?
According to a Microsoft blog post, the idea of vertical scaling is the equivalent of adding or reducing to the size of a virtual machine. Instead of expanding a workload outward by adding or subtracting virtual machines in a system - which is horizontal scaling - vertical scalability keeps a single VM intact, but changes its size and resource parameters.

Vertical scaling is also distinct from reprovisioning, as the Microsoft article explained that a completely new VM is required for a fresh provision, whereas scaling simply adjusts the existing configuration.

"The value of vertical scaling often boils down to cost reductions."

Why scale vertically?
Microsoft explained that the value of vertical scaling often boils down to cost reductions. If you have a workload that experiences consistent usage patterns - such as an enterprise app that isn't particularly active during the weekends - you can scale down the size of the virtual machine to support the smaller user base. This reduces the quantity of cloud resources you are consuming and controls the cost of the plan. Conversely, if you have plans to add users to a service or otherwise expand workloads on a VM, you can vertically scale up. By starting smaller and easily expanding, you avoid waste caused by over-provisioning from the outset.

What happens when you enact vertical scaling?
Resizing a virtual machine is not as large a change as a complete refresh. Furthermore, you are generally going to keep the VM in the same server (or simply move it to one new system), so the actual change can be much simpler than horizontal scaling or rebuilding the VM.

According to Microsoft, vertically scaling an Azure VM does require a reboot, but that's it. Simply restart the VM and you have a freshly scaled solution.

How do you establish scalability?
Of course, the ability to vertically scale isn't too helpful if you have to manually go in and tell the system to do it every time use requirements change. You'd have to spend all your time staring at performance metrics and making manual changes. Instead, you can create scripts to automatically trigger VM scaling in Azure. The Microsoft blog post mentioned earlier explained that you can do this through an Azure Automation account. From there, you import vertical scale runbooks, add a webhook and create alerts so the webhook will identify use statistics and notify users when scale changes need to be made. 

In some cases, particularly for smaller systems, you'll still need to trigger the change manually, you just won't have to track behavior because you'll get alerts. Larger Azure VMs can use autoscaling.

Want to learn more about the inner workings of Azure? Contact New Horizons today. We can help you develop a training strategy for your staff or develop your personal skills as an IT professional.


Categories: Azure, Microsoft NewsNumber of views: 3777


Theme picker