Recently one of our colleagues has been talking about getting a new car, and the fact that there’s now so many things to consider compared to a few years ago. After all, you’d think getting a car would be pretty simple, right? But now there’s choices everywhere; do you go full electric, a hybrid, or traditional combustion? What colour would you like because there’s every colour under the sun? Do you want a manual gearbox? Automatic? A semi-automatic DSG?
This neatly moves us onto a very similar problem we’ve found talking to our cloud customers about when getting started in Azure, and the topic of storage for their virtual machines came up. Again, it’s just a disk against an Azure virtual machine, right? Well, very quickly they realised that unlike on-premises, there’s more considerations than just how big the disk is.
To help you, we thought we’d put together 4 things to consider when planning your cloud-based virtual machine storage needs.
- Which disk is which?
For your Azure virtual machines, there isn’t one disk type, but differing disk types depending on your needs and wants. In Azure, there are four specific disk types available:
- Standard HDD disk – these disk types offer the lowest performance and are generally used on workloads where data is infrequently accessed or is not considered critical. We’re limited here to around 500Mb/sec of throughput or up to 2,000 IOPs.
- Standard SSD disk – Standard SSDs offer an increase in performance of around 3 times the IOPs and 50% more throughput, but this is still only considered to be used for relatively light applications.
- Premium SSD disk – this is the most common disk type in use for critical production workloads, offering a good performance level up to 20,000 IOPS and 900MB/sec throughput.
Nearly all virtual machines will support standard HDD disk type, but the further you go up the scale, the more important it is to check that the virtual machines you are using supports the disk type that you require. For example, a D2v3 VM size will support a standard HDD and standard SSD disk type, but not a premium SSD type. For the premium SSD support you’ll want its cousin, D2Sv3.
- Performance, like your mileage, varies…
While we’ve talked a little bit about performance already within the differing disk types, there’s more to performance needs than what each disk type is capable of.
When you pick the size of the disk you need, this also affects the performance the disk is capable of. So, while there’s a performance difference between the 4 disk types above, there’s also a performance difference on disk size as well.
As an example, imagine you have an application that doesn’t take up a lot of storage, but is quite performance intensive. If we select a Premium SSD type that gives us 32GiB of storage, although this meets the storage requirement, it may not meet the performance needs. This is because this 32GiB disk only gives me 120 IOPs and 25MB/sec throughput of performance by default.
If we were to change this to a disk offering 512GB of space, the performance immediately jumps – we now have access to 2,300 IOPs and 150MB/sec.
As you can see, unlike on-premises, looking at just the storage space is not necessarily a true picture of what you may need.
Cost is always a hot topic when it comes to cloud and that is, like we’ve said before, because you pay for what you use. But disk-based storage is a slight exception to this.
First off, each disk type is more expensive than the one before it, so standard HDDs are the cheapest and ultra-SSDs are by far the most expensive. You’ll need to take this into account when deciding on which disk type to choose.
Secondly, and most importantly, your disk types are billed on what you have provisioned, rather than what you have used.
For each disk type, the smallest disk available to you is 4GiB, with every disk size doubling up to 32TiB in size. Let’s say you select a 128GiB premium SSD disk. Even though your Operating System might only be using 10% of storage space on the disk, you’ll still pay for the entire disk that has been provisioned.
This simple example highlights the fact that you need to be careful not to over-provision your disks where possible as you could end up paying more for your disk than you intend. This requires a shift in mindset to on-premises planning and so often catches people out.
- Service Level Agreement
A Service Level Agreement, or an SLA, is what the cloud provider offers for service availability such as uptime of your virtual machine. This is expressed as a percentage.
For cloud environments such as Azure there are many differing SLAs for different solutions, but for Azure virtual machine uptime you can affect the SLA you are offered based on the disk type you select.
- For standard HDD disks used on a virtual machine, Azure will give you at least a 95% SLA, i.e., the VM will have connectivity at least 95% of the time it is available. To put that into context, this equates to around 18 days and 6 hours of potential unexpected downtime per year if the virtual machine is in use 24/7/365.
- For standard SSD disks this SLA increases to at least 99.5% which results in a big improvement of around 1 day and 19 hours of unexpected downtime per year.
- For ultra and premium SSDs, this SLA increases a step further to 99.9% - a little over 8 hours per year.
These are all for single instances of virtual machines, and you can increase the SLA further still through high availability, but we’ll save that for another blog.
On-premises there were very few things to consider for our virtual machines and their attached disks outside of the amount of storage needed. Within cloud environments however there are other considerations that affect our decision, from cost and SLA’s to performance.
All of these have a part to play in making sure we select the right disk type and balance everything accordingly, and whilst with a raft of experience and some dedicated time you can strike this balance, a performance and cost optimisation solution such as IA-Cloud might just save you a bit of pain.
And on that note, we think a Tesla is a nice choice, right?
IA-Cloud is our automated management, monitoring and optimisation platform for your Microsoft Azure workloads. IA-Cloud provides easy to understand optimisation and performance analytics in a consolidated platform. As part of IA-Cloud our performance optimisation services take into account many metrics and data points, including disk performance, to make it easy for you to understand without having to sift through the data on how to get the best out of your cloud infrastructure.
There’s so much more to the tool, so why not find out more at https://www.ultima.com/ia-cloud
Why not find out more at https://www.ultima.com/ia-cloud