Azure Files storage, released back in late 2015, has quickly turned into the go-to solution for hosting files and folders, including user-profiles, on Microsoft Azure. It is often used in combination with Azure Virtual Desktop (AVD), and more specifically FSLogix profile containers. In short, Azure Files storage is consumed as a service, offering more flexibility. But what is it exactly? How does it work and what common mistakes do we need to look out for when using the technology? Let’s have a look.
Below we’ll discuss what Azure Files is, how it works and the various (pricing / performance) options available. More importantly, we’ll address how Azure Files helps make sure that provisioning storage is no longer a “guessing game” when it comes to the number of gigabytes (GBs) we may or may not need, and eventually must pay for.
What Azure Files Is All About (The Use-Case)
Azure Files offers fully managed file shares in the cloud that are accessible via the SMB and NFS file system protocols. In other words, Azure Files can be used to replace your infrastructure-as-a-service (IaaS) based virtual machines, or NAS systems traditionally used as a file server.
Azure Files is based on so-called serverless technology and therefore much more elastic and scalable than the aforementioned technologies. Adding additional GBs is done via a few mouse clicks. The service itself is kept secure and highly available by Microsoft — meaning no more virtual machines, NAS software, or hardware to patch and monitor.
The use case for Azure Files is quite obvious. Any task you can think of where a file server = the solution, Azure Files = an even better one because the overall management burden will be much less.
When it comes to Azure Virtual Desktop, for example, Azure Files are often used for storage related to FSLogix profile containers. Anecdotally, 75% of the customers I talk to are leveraging Azure Files in this way – and very successfully, I might add.
How Azure Files Works
Azure Files shares are based on storage accounts within Microsoft Azure. These are top-level objects that make up a shared pool of storage. This storage account can then be used to deploy multiple file shares, as well as other storage resources such as blob containers, queues, or tables.
When creating a new file share based on Azure Files you can choose between the Standard or Premium storage tier. Depending on your choice of tier, you will utilize either a storage account backed by standard hard drives, or HDDs (Standard), or one backed by solid state drives, or SSDs (Premium).
Important to note, the Standard tier was officially recently renamed to Transaction Optimized; however, we’ll continue referring to it as Standard throughout this article to keep things simplified. In tandem with the name change, Microsoft recently added two more (cheaper) options to the Standard tier. Both are based on traditional HDD storage, defined as Hot and Cold by Microsoft as follows:
- Hot: Hot file shares offer storage optimized for general purpose file sharing scenarios such as team shares. Hot file shares are offered on the standard storage hardware backed by HDDs.
- Cool: Cool file shares offer cost-efficient storage optimized for online archive storage scenarios. Cool file shares are offered on the standard storage hardware backed by HDDs.
Your choice of Azure Files tier will mainly depend on your use case. In the example I gave earlier, where Azure Files is used in combination with FSLogix profile containers, we’ve noticed that the Standard storage tier is not sufficient, and that many organizations choose the Premium tier option to avoid performance constraints. For more details on Azure Files performance characteristics, which were upgraded in Q4 2021, read Microsoft’s documentation. The performance characteristic of Azure Files Premium has been upgraded as of Q4 2021. For more information and differences between the various Azure Files pricing tiers use this link.
The price difference between Standard and Premium has dropped considerably throughout the last couple of years, making the Premium version much more palatable and primed for utilization. Premium storage is around $0.19 per GB, and pricing differs per Azure region. Do note however, that there might be some other costs involved related to the type of data redundancy applied, if backup is enabled, the number of transactions involved, etc.
There are many elements related to Azure Files tier options and criteria for evaluating each based on your needs. However, this article is meant to give you an overview of Azure Files, where it fits into your design, and how to benefit from this resilient service. Having said that, there are a couple of things I wanted to mention, a few notable insights that apply to all Azure Files tiers:
- Data can be protected by storing multiple copies of a file, setting up replication between multiple availability zones, and a Geo-redundant option where files are stored six times in total spread over two separate Azure regions.
- Data can be backed up using share snapshots, these are incremental, and you can have up to 200 snapshots per file share.
- Files can be protected using Microsoft Defender for Storage.
- Data can be encrypted in transit as well as in rest.
Pricing and Performance Tiers
I already highlighted a few differences between Standard and Premium Azure Files, but there is another important difference to be aware of as it relates to the pricing of the two options.
When using the Premium tier you will be charged for all provisioned storage, even when not in use. This is also referred to as the “provisioned model.” For example, let’s say you have provisioned 500 GBs of storage you may potentially use, and already have 250 GBs in use. In this scenario you will be charged for the full 500 GBs even though you are only consuming half of that. Also, beware that 100 GBs of storage is the default minimum amount of storage when using Azure Files Premium.
With the Standard pricing tier, it works differently. You only pay for what you consume. There’s no set minimum as with Premium and as your storage consumption grows, so will your monthly bill. In other words, this is the “pay as you go” (PAYG) model.
As with Azure virtual machines (Reserved Instances) there is an option to reserve storage for one or three years upfront to reduce your overall costs by committing to Azure. This is a nice addition to some of the existing pricing options. But in remembering the cost concern in the aforementioned 500 GB example, committing to one or three years of storage without knowing how much you’ll actually consume can be a hard pill to swallow.
As you can see Azure Files is a robust and flexible service when it comes to replacing the more traditional ways of provisioning and offering storage to your users, even when AVD might not be in the picture. I love what Microsoft is doing with the service as it’s always in constant development, being improved and fine tuned. I recommend checking out “What’s new in Azure Files” for the latest updates.
Hopefully, the above has helped in clearing up a few things. Of course, there is always more to talk about and show – like shrinking your FSLogix profiles, reclaiming unused storage, saving on additional resources, etc.
If you are interested in learning about managing and cost-optimizing Azure Files and FSLogix profile containers, you’ll want to read the below. We profile how you can, using Nerdio Manager for Enterprise, only pay for your Azure Files Premium storage consumed. Yes, really! You won’t have to worry about running out, performance issues, or the need to frantically monitor all this manually.
Turning Azure Files Premium into Pay-As-You-Go with Nerdio Manager
When using Azure Files Premium to store your FSLogix profile containers, the 100GB minimum will not be much of a concern. Most environments will have at least a few dozen users, if not hundreds or thousands even. On average, an FSLogix profile container will be somewhere between 5 to 20GB in size.
The challenge is that storage provisioning based on Azure Files Premium will continue to be a guessing game because of its provisioned model. If we do some basic table math and calculate 15 GB of storage per 100 users, we get 1.5 terabytes (TB). Great – we know how much storage we’ll need, but when will this level of usage be reached? We can confidently say not in the first couple of weeks, or months even as this is a lot of data, but we never really know for sure.
If we start out with let’s say 1 TB of storage, the billing meter starts running immediately. In other words, even though only 30-40% might be in use, you will be invoiced for 1TB. Here at Nerdio, we hate seeing money go to waste. So we have architected a way to make Azure Files Premium PAYG using our patented storage auto-scaling technology.
How Nerdio’s Storage Auto-Scaling Optimizes Azure Files Premium
Azure Files Premium is easy to set up, join to the domain etc, especially when Nerdio Manager is thrown into the mix. You’ll be up and running in minutes.
Nerdio Manager for Enterprise offers an advanced auto-scale engine specifically designed for Azure Files Premium. It ensures you never have to over-provision or guess how much storge is needed by effectively turning the Premium tier into a PAYG model.
When we enable auto-scale for Azure Files Premium in Nerdio Manager, storage auto-scale will grow the provisioned share size in response to anticipated usage demand or increased storage latency. It will also decrease the provisioned capacity to reduce costs when extra storage / performance is no longer needed (not more than once every 24 hours, which is based on how the native Azure Files service works).
What does this mean exactly? If we take the above example where we calculated 1.5 TB of storage needed for our 100 users, we can start with the default, 100 GB minimum and Nerdio’s autoscale engine will add additional storage as needed.
When the 100 GB reaches full use you can configure our auto-scale engine to automatically add any number of GBs that you specify. This could be in increments of 10, 20, 50, 100 GB etc. — literally any number you want. It will continue to do so until it has reached the maximum allowed by Azure Files, or when it reaches your own set limit. You can set quota units to either GBs or percentages. Configure this all once and you don’t have to look back anymore, Nerdio will take care of the rest.
And I should mention our auto-scale engine does this FAST. It constantly monitors the latency in milliseconds. Based on your configured metrics it will scale out or in. This means adding or removing a predefined number of GBs as per the example above. The auto-scale trigger can be set to the average or maximum time used to process a successful (I/O) request by Azure Storage.
If the number of GBs in an Azure Files Premium file share go up, the performance characteristics will grow with it. Meaning, you are able to scale in and out based on performance as well. The performance characteristics are clearly shown in Nerdio Manager’s auto-scale configuring page. They change in real-time when storage metrics are edited.
Finally, we also have the ability to scale based on quotes. If you need additional storage or performance during certain weekdays or the weekend, you can pre-configure it. When the storage is no longer needed you can scale it down.
Interested in learning more about Nerdio Manager for Enterprise? Check out its features and access our 30-day free trial here.