Think carefully when choosing your VMs
Choosing the right Azure VM size will bring a range of benefits to your IT infrastructure, including:
- Cost optimisation: Avoids overprovisioning, reduces waste, and significantly cuts costs. The right VM choice can lead to substantial savings over time.
- Performance tuning: Each Azure VM SKU is optimised for specific types of workloads. Whether your applications are CPU-intensive, require high memory, or need fast I/O operations, there’s an Azure VM that fits the bill. If you match VM characteristics with your workload requirements, you’ll get better app performance, improve user experience, and keep services running smoothly under varying loads.
- Scalability and flexibility: The ability to scale services up or down based on demand is a classic cloud computing advantage. Azure VMs offer great scalability and flexibility, allowing you to adjust resources in real-time as your business needs change. Getting the right size VM means you can respond quickly to market dynamics, launch new services rapidly, and stay competitive.
- Strategic deployment: Understanding the strengths and limitations of different Azure VM SKUs, you can plan your infrastructure to support your strategic growth. Anticipating future needs and deploying resources in a way that aligns with your long-term IT and biz objectives will cement your place as a Game Changer.
- Compliance and security: Azure VMs are built with security and compliance in mind, so your data is protected and meets regulatory requirements. Selecting the appropriate VMs (and their configurations) plays a crucial role in your overall security posture, so your infrastructure will stay resilient against threats and compliant with industry standards.
Azure VMs are really powerful and flexible. They integrate nicely with a bunch of Azure services, like Azure Backup (for automated data safekeeping and restoring), Azure Monitor (in-depth telemetry and analytics), and Virtual Machine Scale Sets (management for thousands of VMs at once, if you need that many!)
Let’s take a look at the categories you’ll want to consider when choosing your VMs.
Azure VM sizes and types
Azure VMs come in a wide range of sizes and types, and each SKU (variation) has different capabilities in terms of CPU, RAM, and storage. Whether you’re working on-premises or in the cloud, understanding how Azure scales these resources is key to selecting the right VM. VMs can be categorised into several types:
- General purpose: Ideal for balanced CPU-to-RAM ratio needs. Can be used for testing and development, web servers that don’t have high traffic, and databases of small / medium size.
- Compute-optimised: High CPU relative to RAM, suitable for compute-intensive applications. This might include busier web servers and app servers.
- Memory optimised: Provides more RAM per CPU core, perfect for memory-intensive tasks like SQL databases.
- Storage optimised: These are made for big data throughput and working with massive databases.
- GPU: Graphic rendering, video editing and AI model training / deep learning.
- High-performance compute: Made for the most demanding computing tasks. We’re talking big data analytics, scientific research, engineering simulations, financial modelling, media rendering, and so on.
Generally, these options scale their CPU and RAM at different ratios. So if it’s more compute-intensive, it’ll have less RAM and more CPU. And if it’s more memory-intensive, it’ll lean towards more RAM per CPU.
Choosing VM storage options
Storage performance varies significantly across Azure’s VM range. This affects how quickly you can write and retrieve data.
You get to choose from:
- Standard HDDs
- SSDs
- Premium SSDs
- Premium SSDs v2
- Ultra disks
Ultra disks currently offer the best features and performance, followed by the v2 Premium SSDs.
Original Premium SSDs max out at 32TiB and 20k IOPS. The latest Ultra models support up to 64 TiB of storage and significantly higher IOPS – 400k – (Input/Output Operations Per Second), marking a substantial upgrade in performance. The cost is higher for these, of course.
Decoding Azure’s VM naming scheme
Azure VMs are denoted by a series of letters and numbers, each indicating specific characteristics:
- Series (e.g., D, E, F): Indicates the VM’s category classification – D is general, for example.
- CPU Cores (e.g., 2, 16): The number of CPU cores.
- Special features: Any additional capabilities of the VM. S signifies premium storage support, A is for AMD processors, etc.
For example, you might be looking at the E16s_v5. This is a memory-optimised machine offering 25,600 IOPS. In contrast to the 3750 IOPS version we mentioned above (E2s_v5), that’s a big difference. Plus, that previous version only supports 4 max data disks, in contrast with E16s_v5’s 32.
So if you wanted to separate your SQL databases, your logs, your master DB and your backups, you’d already be at the limit with that lower-tier option.
This illustrates how different VMs cater to varying performance needs, especially for workloads like SQL databases that demand high CPU usage and disk performance.
Choosing the right tier for your VM
Choosing the right VM often goes beyond simple CPU and RAM considerations. You have to consider disk throughput and IOPS alongside the basic specs.
Imagine you’ve done a sizing exercise and figured out your workload requires only two CPU cores. Due to the way the options are set out, you might actually need to opt for a VM with a higher core count to get your disk throughput needs.
As you can see from the options, if you choose the standard size with 2 CPU cores, you’ll only get 3750 IOPS. Most workloads that are database-intensive are going to need a higher amount of performance. So your VM sizing does need to take into account what’s available and closest to your needs.
Constrained core VMs for cost efficiency
Azure virtual machine pricing is set up so that you’re choosing from a ‘set menu’. You can’t usually specify a custom loadout of components. With one exception – constrained core VMs.
One issue that might come up is the potential for getting more CPUs than you need.
Some workloads need high memory, storage and data throughput, but don’t need many CPU cores. Each different Azure VM option has a certain amount of disks, a certain amount of storage, and a certain amount of throughput, and that might lead you to have to use an option with a higher CPU count than you really need.
In cases like this, a useful workaround with Azure is the constrained core VMs. These VMs maintain the same performance features of their higher core count counterparts but with fewer CPU cores – reduced by a quarter or a half of the original.
So you won’t end up with an unnecessary core count if your chosen option has an otherwise ideal specification. As some VM products are licensed by CPU count (like SQL), this also prevents you having to pay unnecessary costs.
Generational differences and recommendations for VMs
Most machines have a version number listed next to them. We advise always opting for the latest generation of VMs (indicated by v2, v4, v5, etc.) to benefit from the latest technology at often lower or comparable costs. These newer generations offer better performance characteristics and are generally more cost-effective.
As for your series type, most enterprise workloads will find a fit within the D, E, and F series. We usually advise against using burstable (B series) VMs in production due to their variable performance.
You might end up with some F workloads – F series VMs have slightly higher CPU counts for CPU-intensive tasks. Memory-optimised machines are really good for SQL, and GPU-loaded ones are ideal for certain types of processing.
Where to go next
If you want to dig deeper into the range of options available, have a look at Microsoft’s VM sizing tables here. If you click through the sidebar into the different options (compute optimised, memory optimised, etc.) you’ll see there’s a LOT to choose from.
Hopefully you’re now a bit clearer on the complex picture of Azure VMs, even if they do seem to have a million different variants. You should now be able to make good decisions about the type of setup your business needs.
Want some guidance on setting up Azure VMs? Synextra’s team of experts know the Microsoft cloud platform inside out. You can get help in just a few clicks – contact us to find out more.