How to run NFS in Microsoft Azure – The missing piece of the stack


Microsoft Azure service offerings grow on a daily basis, therefore it’s no wonder that it can get quite time-consuming to look into the lower level details. For one such customer of mine, their on-premise applications were architected with NFS, however, they hadn’t realised that NFS is not available as a service in Azure.

Services in Azure (credit:

This is a common challenge that arises, NFS as a service is currently not available in the Azure portal. Microsoft has historically recommended SMB3 (CIFS) for networked file based storage and this is mirrored in the current service offerings from Azure.

But what if your architecture is currently reliant on NFS, such a most UNIX, Linux architectures? Do you re-architect the solution and change your operational processes? Sometimes this is isn’t an option as application vendors specify supported configurations.

Using ONTAP Cloud for Azure is an intelligent way to provide enterprise-class NFS services that consume Azure native resources. ONTAP Cloud runs as a VM and consumes Azure premium or standard storage. This brings a number of benefits:

  1. ONTAP will provision, manage and report on your Azure storage and can be controlled via REST API, Azure Workflow, PowerShell and CLI.
  2. Existing enterprise applications that use NFS, iSCSI or SMB3 can be migrated to Azure with no change or protocol. This also allows easy migration to and from Azure.
  3. By removing the dependency on locally attached cloud storage you can implement a multi-cloud data strategy.
  4. You can operate a full hybrid cloud strategy, allowing you to move or failover to and from Azure with ease using NFS as the common protocol across locations.
  5. Storage efficiency – at time of writing there are no storage efficiencies available across native cloud storage services. Using ONTAP you are able to reduce your storage footprint and save money via deduplication and compression technologies, in turn reducing your cloud consumption spend.

ONTAP Cloud is available in the Azure Marketplace and can be deployed in minutes. It also comes with a free license for the first 30 days.

Cost analysis: Storage costs in Azure

Following on from my previous post about storage costs in AWS, I had a few people say “Hey Kirk, liked the post, could you show this for Azure please?”. So here it is.

Let’s take the same business scenario I worked on last week (5 x MySQL Servers) and use Azure services instead of AWS, here’s what it looks like from an architectural view:

The business I was working with uses AWS, however, I wasn’t that surprised to find that the same challenges exist in Azure:

  1. Cost – Storage represents 94% of the MySQL estate cost
  2. Performance – Azure provides disks with varying performance characteristics. The larger the disk, the higher the performance. Therefore with smaller workload footprints, you would purchase more capacity that required to meet your performance needs.
  3. Cloning – Azure stores snapshots in blob storage. However, in Azure, there is a limitation of a maximum snapshot size of 10TB per storage account. This would rule out the use of snapshots in Azure for this particular customer (as their DB is just over 10TB).

So let’s do the appropriate cost modelling:

From the modelling, we can see that the Azure storage cost represents 94% of the MySQL estate cost, pretty much identical to AWS as a percentage, but overall more expensive (AWS:£5503/mo vs Azure:£6190/mo).

So, it’s no secret that I work for a company that develops a cloud storage platform that overlays native premium/standard storage in Azure and adds storage efficiencies such as deduplication and compression, plus the added advantage of instant cloning, with no additional space consumed.

So here’s how that same scenario looks with the ONTAP Cloud storage running:

The first thing you’ll notice is that you no longer have to manage to premium storage disks. ONTAP takes care of this for you. That means no worrying about raid types, capacity or performance on a host-to-host basis. Win.

The second benefit is reduced costs. ONTAP brings deduplication and compression to the party. Your mileage will vary depending on your data’s suitability for storage efficiencies but it’s not uncommon to see >30% space savings. Win.

If we apply that logic to this scenario, the resulting storage expenditure will be reduced from £5,830/mo to £4,180/mo. That’s a saving of £1,650/mo representing a 28% reduction of the overall expenditure.

But wait, this all assumes that the customer is not using the instant cloning functionality that ONTAP has. This scenario has two servers (dev/test) that use copies from the main prod database (not uncommon).

So what does this look like if the business was to use both storage efficiencies and cloning for two dev/test databases?

The storage costs have reduced even further, from the original £5,830/mo to £2,310/mo, representing a saving of just under 40%. In addition, the customer now benefits from instant on demand cloning of their databases.

So this is looking pretty impressive, but of course, ONTAP has a licencing cost, what would our final savings look like once we take that into account? I’m basing this on the pay & go option (most expensive) over 12 months:

ONTAP Cloud Pay & Go (DS13V2) / 12 months = $14,731.20 ~ £11,567.30/year

Therefore the customer would be in line for a total saving of £30,672.70/year, saving almost 44% of their overall Azure cost, pretty impressive!

This solves the cost problem for the customer and provides the capability to perform instant cloning of their databases.

Not only that, ONTAP cloud has APIs, PowerShell, Kubernetes and CLI management, meaning that it can be seamlessly integrated into their developer toolsets and processes.

So, the customer is now able to rapidly develop in Azure with on-demand clones and further reduce their storage footprint with storage efficiencies.

So, it’s a no-brainer – try it today – free of charge for 30 days here.