fbpx
aws efs vs aws ebs

AWS EFS (Elastic File System) vs. AWS EBS (Elastic Block Store)

When working with the AWS cloud, you often find yourself asking which service should you use to meet a specific need. Most of the time, there are multiple offerings available that meet your requirements. Each has its benefits and limitations. The ever-changing nature of the AWS cloud—which includes constant updates to existing services, as well as the introduction of new ones—can make choosing the right service challenging. What was a proper choice in the past may not be the right one today.

This article will consider one very common example of this type of choice: making a decision about appropriate storage options. We will compare Elastic Block Store (EBS) vs. Elastic File System (EFS), two extremely popular storage options, to see which one is best for which situations.

What is AWS EBS?

AWS EBS is a block storage service designed to be used exclusively with EC2 instances. It provides a high performance option for many use cases, and it can be used for various databases (both relational and non-relational), for a wide range of applications, and for big data analytics.

EBS works by providing volumes, which are collections of small network attached blocks that you see as “disks.” Volumes come in different types, and whether you need the best possible performance and require a single-digit millisecond latency or you’re just looking for a high throughput, there is an EBS volume that meets your needs.

Note that elastic block store volumes persist separately from EC2 instances and can be attached and detached at any time. When they are mounted they can be used as any other block storage. Our block storage series introduces EBS block level storage and digs into the two main block storage categories: SSD-backed and HDD-backed volumes.

At the moment, there are four volume types being offered by EBS. The grid below shows a summary. You can also read more about AWS EBS: HDD vs SSD Cloud Block Storage and how they are priced here:

AWS EBS Volume Types

AWS EBS General Purpose SSD (gp2)

Throughput Optimized HDD (st1)

Cold HDD (sc1)

Provisioned IOPS SSD (io1)

Use Case

A balanced volume type

A low-cost volume for frequently accessed and throughput intensive workloads

A cheap volume for less frequently accessed data

A volume designed for latency-sensitive transactional workloads

Pricing

$0.10/GB

$0.045/GB

$0.025/GB

$0.125/GB + an additional $0.065 per provisioned IOPS


EBS volumes are designed to be very durable, and they are replicated within the Availability Zone (AZ). However, this means that they are limited to one AZ, so you can’t move a volume around unless you create a snapshot of it and recreate it elsewhere.

What is AWS EFS?

AWS EFS is a storage service that provides a shared elastic file system with virtually unlimited scalability support. It was designed to work with Linux instances (and with support for both 4.0 and 4.1 Network File System (NFS) protocols), and it offers durable, highly available storage that can be utilized by thousands of servers at the same time. AWS EFS is a fully managed service that is automatically scalable. This means that the file system will actually go up or down in size as you add files to it or remove files from it.

On the surface AWS EFS sounds like a simple service but there is a lot more to it when you dig a bit deeper.

When the size of the EFS’s file system scales, so does its performance. This is a somewhat strange choice, and, as a result, the performance of EFS can be a bit underwhelming for low utilization. When used more heavily, however, AWS EFS can offer as much as 10 GB/sec along with 500,000 of IOPS.

One upside of using EFS is that your existing environment won’t require any changes. Your applications and services need only attach the file system to be ready to go.

The use of EFS is not limited to the AWS cloud. For those running a hybrid cloud environment, AWS EFS can be used by on-premises instances as well. This feature greatly expands the possible use cases for EFS.

EFS has also received an update recently, gaining a new storage tier. Now, in addition to offering Standard storage, EFS also offers Infrequent Access. Using it only requires you to enable a lifecycle management which will move your data based on the desired policy. You can still use EFS normally. No infrastructure or application changes are needed on your end because EFS handles everything for you behind the curtain.

As with most AWS services, EFS only charges customers for what they use. EFS Standard tier storage costs $0.30 per GB per month. The cost of using the AWS EFS Infrequent Access tier storage is drastically lower—$0.025 per GB per month. Keep in mind, however, that when retrieving data using this tier, you incur an additional cost ($0.01 per GB transferred).

AWS EFS vs. AWS EBS: Which one should you use?

While both EBS and EFS offer great features, these two storage solutions are actually built for two completely different uses. EBS volumes are limited to a single instance, and, more importantly, then can only be accessed by one instance at a time. With EFS, you can have hundreds or thousands of instances accessing the file system simultaneously. This makes AWS EFS a great fit for any use that requires a decent performing centralized shared storage—uses like media processing or shared code repositories.

You can also use AWS EFS to serve web content, keep various backups, and reduce storage spending. While EFS does cost more than EBS ($0.30 per GB for EFS vs. $0.10 per GB for EBS), you only pay once per EFS file system. This means that if you attach a dozen instances to it, you will still pay the same amount as if you only had one instance attached to it. With EBS volumes, you pay for each volume. Therefore, to save money on storage, EFS can sometimes serve as a replacement for EBS.

EFS scales performance along with capacity, and, while this can be very beneficial in some cases, it can also be a significant drawback. You might not have high enough utilization to reach the desired throughput of the file system. Because AWS EBS provides you with steady and predictable performance, EBS is almost always be a better fit, unless you require that multiple instances access your storage at the same time,

Using N2WS Backup & Recovery for automated backup, restore, archiving and much more

As both EFS and EBS are extremely popular storage options available and there are evident advantages to both, it is important to keep in mind that, as discussed above, AWS EBS can only be accessed by a single instance at a time. Many times you require a storage system that can be accessed by multiple instances. While AWS EFS does provide this there will be cases where customers will want to back up their data to a persistent and isolated storage location. AWS EBS is a great solution because of its ability to create application-consistent snapshots. While EBS snapshots are not enough for secure backup on AWS, choosing N2WS Backup & Recovery allows you to sleep at night by automatically managing your backup, recovering immediately, plus providing many additional capabilities for managing your EBS snapshots. (Be sure to try N2WS for free for 30 days, after which is automatically converts to N2WS Free Edition — forever). 

This article provides a useful step-by-step on how to backup data from EFS using N2WS Backup & Recovery.

With this tool in place, even if someone unknowingly deletes your data from AWS EFS, or if a bug or outage causes downtime to your AWS EBS, you will always have a backup available which can be restored near instantaneously.

Short note about NAS vs SAN

To choose an efficient storage solution, companies must choose between NAS (Network Attached Storage) and SAN (Storage Area Network). Many small to mid sized businesses with demanding usage requirements choose NAS. These teams tend to want data in a centralized storage solution with secure remote data access, file sharing, and scalability — a system that is used for storing data and not much else. NAS delivers ample storage and room to grow for scaling data, and NAS functions much like a standard volume insofar as multiple machines can have access to the same files. With block storage, however, generally speaking, the machine that is attached to the volume is the only one that can read/write from/to it. NAS is a shared file system that doesn’t require much understanding under the hold.

That’s where SAN (Storage Area Network) comes in. SAN is typically suitable for larger enterprises as they have a significant amount of unstructured data with more storage needs such as reliability, fast performance, the need to access to large blocks of data from any location and huge capacities. SAN provides direct access to consolidated block level storage data. It consists of a file system (on top of a volume) and creates raw volumes of storage with each block of storage controlled by a remote server.

Amazon FSx for Windows File Server: Where does it fit in?

Amazon FSx for Windows File Server is somewhat equivalent to AWS EFS, since it provides the shared storage (file systems) necessary for various applications and workloads such as storage for Windows applications, machine learning and high performance computing (it also supports file systems for Lustre). The main difference between it and EFS is that AWS FSx was built specifically for Windows use cases using SMB protocol. EFS is designed to work with Linux. There are also other differences between the two; for example, EFS charges you for the storage you are using while Amazon FSx charges for provisioned storage, but they are both shared storage solutions, and you can choose to use the one that matches your environment and operating system.

The final lowdown on EFS vs. EBS

EBS is a staple storage solution that is used by AWS EC2 instances and provides multiple types to fulfil most needs. EFS offers benefits for those needing shared storage for Linux machines running in their AWS cloud environment. EFS can span the entire hybrid cloud if necessary, and it is best used when you are running multiple instances. If you are limited to Windows-based servers, AmazonFSx for Windows File Server could be the best option for you.

Because these services fill different niches, they rarely compete with each other. Ultimately, you should choose the one that best suits your business requirements.

Click here to read the original post –>

Keep Reading

Share this post →

Share on linkedin
Share on twitter
Share on facebook
Share on email
You might also like:
small_c_popup.png

Limited Time Offer:

Get the best-in-class backup & recovery tool for AWS —AND get $250? Yes!

Try the all-new N2WS Backup & Recovery 3.0 today —and we'll give you $250 in AWS credits.

Days
Hours
Minutes
Seconds
*All new active trials will receive $250 in AWS credits for a limited time!