In this blog post, Karl Robinson explores what Amazon EFS is, and how the pricing for EFS works.
Amazon’s Elastic File System (EFS), is a serverless, set-and-forget file storage system which supports Network File System (NFS) version 4. Amazon EFS is scalable to Petabytes of data and it grows and shrinks as files are added or removed, so you only pay for what you use. Amazon guarantees certain throughput rates calculated as a percentage of storage space the client is using at any given time.
EFS is compatible with on-premises servers, as well as Amazon Cloud services such as EC2, ECS, EKS, Fargate, and Lambada. It’s available as both a single region model and as a cross-region storage replication service.
This article will explain all of the options that the AWS Elastic File System has to offer and present some typical use cases to illustrate the pricing model.
Amazon EFS – Total Cost of Ownership
In order to understand where the savings come from within the AWS EFS pricing model, and demonstrate how Amazon’s incredible economy of scale enters into the picture, it is helpful to compare the total cost of ownership between EFS and a typical self-managed Cloud solution.
Forrester did an in depth study of these two scenarios. What they found was that the savings didn’t come from raw storage costs. Rather, the compute costs for running an independent storage solution and the data costs associated with replicating data across multiple Availability Zones (AZs) were what drove up costs on the self-managed side.
In the first scenario, involving 1TB of total storage replicated across two AZs, the total cost of ownership was $3,686 under AWS EFS pricing, and $9,457 using a self-managed solution. That represented a 61% saving by using EFS.
But even within a single AZ, completely eliminating data replication costs, the total cost of ownership was $6,377 on the self-managed side. Being generous, we could call it $6,000 because a fraction of the compute usage would have been for data replication. Even then, the built-in compute costs already baked into the Amazon EFS pricing model offer a 38% savings when calculating the total cost of ownership.
What this study shows is that ‘do it yourself’ solutions, no matter how much open source is being used, can’t compete with Amazon EFS. At least when considering typical usage. We can examine some of the more edge cases by digging deeper into the cost structure.
A Deep Dive Into AWS EFS Pricing And Options
Playing around with the AWS EFS Pricing Calculator might produce some surprising, and confusing, results. What follows is an attempt to demystify the process.
First of all, entering certain low combinations of numbers might result in a ‘$0’ charge. That’s because Amazon EFS offers a free pricing tier for the first 12 months for low-volume users. It has a 5GB cap per month (only available in the multi-region storage space), but that’s plenty for trying out the system, getting used to the interface and perfecting integrations.
Outside of the free tier, the base charges will depend on the primary region that the customer chooses, and whether or not they wish to make use of multi-region data replication. For example, as of Q1 2022:
U.S. West pricing puts ‘Standard’ multi-zone storage at 33 cents per GB per month. This is data that will be accessed frequently. Depending on the application, that’s often a surprisingly small percentage of the overall data being stored.
‘Infrequent’ multi-zone storage makes up the bulk of most typical applications, sometimes in excess of 80% of total storage. The charge for Infrequent storage in U.S. West is 2.8 cents per GB per month. This is data that won’t be accessed on a regular basis, and when it is accessed it incurs an Infrequent Access Request charge of 1.1 cents per GB transferred. This is still far, far cheaper than Standard storage.
Then you have the same two classes available as single-zone storage. They’re identical to the storage defined above, but they don’t replicate across regions. The savings for using single-zone storage is around 40% in most regions.
To simplify: Assuming the percentage of frequently accessed data is 20%, putting infrequently accessed data at 80%, the overall effective storage price in U.S. West is 4.3 cents per GB per month for single zone, and 8 cents per GB per month for multi-zone.
Here’s how the regional pricing compares as of early 2022:
AWS EFS Pricing – Extras
As with anything else, there are certain ‘premium’ options that a client can opt into that will increase performance, particularly in high-demand situations.
The main add-on to standard AWS EFS pricing is additional available throughput. By default, EFS provides a core throughput of 50 KB/s for each GB of data stored. This calculation is based on ‘Frequent’ storage figures.
But in periods of high use, that default data transfer rate can be dramatically increased. This is called Burst Throughput, and it’s the default data transfer mode for Amazon Elastic File System. Burst mode doubles the core throughput rate until Burst credits run out. A full Burst Credit guide can be found here.
As an example: A Burst credited file system can drive up to 100 MBps per TB of storage, with a minimum of 10 MBps. With no Burst credits available, the file system can drive up to 50 MBps per TB of storage, with a minimum of 5 MBps (in reality the figures are a fraction higher, as we’re about to see).
For some applications, this is just fine. For others, clients might wish to pay for Provisioned Throughput. This mode allows the client to specify a level of acceptable throughput, ignoring the Burst credit balance. They’re charged for the configured amount of throughput only if it’s in excess of the rate that they’d get using Burst Throughput mode.
To put real numbers to this scenario, let’s say a U.S. West based client has 1TB of Frequently Used storage. The AWS EFS pricing model would give them a base of 51.2 MBps per month (the extra 1.2 is thanks to the existence of the Free tier). Referring back to the U.S. West rate chart, every additional guaranteed 1 MBps per month would cost $6.60.
So 52.2 MBps per month would be an additional $6.60. 60 MBps per month would be an additional $58.08. A guaranteed 100 MBps per month would cost $322.08. And sure enough, this is consistent with the output of the pricing calculator.
The other extra is AWS warm and cold storage for backups. This is a simple calculation – 6 cents per GB per month if they want warm storage backups (frequent access), and 1.2 cents per GB per month if they want cold storage backups (infrequent access).
AWS EFS pricing is one of the more straightforward calculations for Amazon Cloud services. That having been said… there are a couple of estimates that can make a huge difference as to what a company can expect to pay on a monthly basis.
Calculating ‘Standard’ storage VS ‘Infrequent’ storage is critical. And that means a deeper understanding of how particular apps, services, and databases work. If IT and DevOps have a difficult time making the calculation of what percentage of data will be frequently accessed, they may need some specialized help.
Similarly, estimating the benefits of single-zone VS multi-zone storage options is important. And that difference alone can represent up to a 40% savings on monthly EFS charges. Factors will include typical regional access patterns, load balancing setups, results of performance testing, and which internal and external groups have access to the dependent apps or servers in question. Once again, this can be a bit convoluted without some in-depth traffic analysis.
Luckily, there’s help available. Amazon Cloud management, including aspects of AWS EFS pricing, doesn’t need to be an in-house operation. Instead, you could consider hiring a reliable Cloud management and migration service like Logicata. It’s quite often the case that a savvy Cloud management firm can save companies a significant percentage of their monthly spend. At a minimum, consider booking your free discovery to see what we can do to make the entire Amazon Cloud experience a little more frictionless.