Selecting the right VM for your On-Premises SQL Server workloads

Running SQL Server workloads on an Azure virtual machine is one of the quickest and easiest ways to lift-and-shift the workloads into the cloud. But it is not as straightforward as it sounds as choosing the right Azure VM for your On-premises workload is both an art and a science.

Sizing the right IAAS VM on azure for a lift and shift operation depends on many factors, the most important being the baselining of your on-premises workloads. While there are a lot of configurations to choose from documents that are available on Microsoft’s web portal, choosing a VM based on those configurations may not be the right fit.
There is no one size fits all when it comes to choosing the right VM.

The VMs come with advertised Performance sizing parameters such as:
– vCPU
– Memory
– MBps
– Cached/Uncached support

All of the above parameters are important to consider when choosing a VM. Our experience has shown that while MS does advertise very large VM to accommodate lift and shit TB of Data, some of these advertised VMs do not scale up according to your needs.

Azure VM Type and its characteristics and performance parameters are described here.

When you are considering performance of a VM, you must consider apart from vCPU & Memory:
IOPS and throughput limits both for the VM and the disks that get attached to the VM.
– Cached and uncached limits of the VM and the attached disks.

What is IOPS and throughput limits:

The Application performance depends on these two factors, If the Application needs a lot more throughput then what the VMs sized or disks attached, then either the VM will stall and latency issues will creep in , resulting in an suboptimal performance.

What is Cached and Uncached Limits:

These are limits related to bandwidths and set at the storage level and can be enabled for the different storage tiers i.e.  premium & premium storage caching. While the uncached limits are by default defined by the vendor, It is the cached limits that can be customized and uses a feature called host caching, this improves the performance of the VM by placing the storage very close to the VM. Host caching is an option that you can choose based on your workloads read /Read write.  Host caching can enable reduced latency.

Running benchmark on current On-prem infrastructure.
Benchmarking allows for running and testing different workloads to get a realistic view of what the on-premises SQLServer workloads point to . Stats can be collected for DISK IO, cache, Read & write throughputs, Read and write IOPS there are variety of benchmarking tools available in the marketplace  and tools are readily available for MS to make informed decisions and size an appropriate VM for a particular workload on Azure. There are quite a few benchmarking tools available today that help capture performance baseline. ideally you would want to run these benchmarks for an extended period and capture workloads at different times of the day

Sizing the Azure VM and Storage
Once you have these baselines of the on premises workloads loads It becomes easier to identify the right VM size. This enables the IT to add value to the organisation and helps make an informed decision, save time and avoid misconfigurations.

Summary and Next Steps:

Moving workload to cloud should be properly planned and executed. Even though lift-and-shift workload from On-premises to Azure Virtual machine carefully planned and measured. 

Need help moving On-premises workload from On-premises to Cloud? Please contact Intelliopz.