Blog

Amazon EBS, Amazon EFS, or Amazon S3: Which is the Best Storage System for You?

Amazon Web Services (AWS) offers various kinds of storage systems, and users can sometimes be confused about which one is the right choice for their cloud storage operation. This article will talk about three common AWS storage services: Amazon Elastic Block Store (Amazon EBS), Amazon Simple Storage Service (Amazon S3), and Amazon Elastic File System (Amazon EFS).

This comparison of the three systems will go in-depth and give you the tools to identify the optimal storage option for you. We’ll also show you how NetApp’s Cloud Volumes ONTAP (formely ONTAP Cloud) can help enhance your use of AWS cloud storage with cost-saving features and added flexibility.

Amazon EBS, Amazon EFS, and Amazon S3


Before looking at Amazon EBS vs S3, Amazon EFS vs S3, and Amazon EBS vs EFS, let’s get to know them a little better.

Amazon S3 is a static storage service useful for static website hosting, media distribution, version management, big data analytics, and archiving.

Amazon EBS is a persistent storage device that can be used as a file system for databases, application hosting and storage, and plug and play devices.

Compared with these two storage systems, Amazon EFS is the new kid on the block. An Amazon EFS file system is excellent as a managed network file system that can be shared across different Amazon EC2 instances. Amazon EFS works like NAS devices and performs well for big data analytics, media processing workflows, and content management.

With that brief introduction, it is very important to know which is a more suitable storage service for your specific needs. People decide on a storage service based on their system requirements as well as parameters such as cost, performance and access type.

The table below will let you evaluate the parameters of all three AWS storage services, Amazon EBS vs S3, Amazon EFS vs S3, Amazon EBS vs EFS.

Features Amazon S3 Amazon EBS Amazon EFS
Storage Size No limit on number of objects Maximum storage size of 16 TB No limitation on the size of the file system
File Size Limitation Individual Amazon S3 objects can range from a minimum of 0 bytes to a maximum of 5TB No limitation on file size in EBS disk Single files have a maximum size of 52TiB
Data Throughput and I/O •Supports multipart upload. It is recommended for capability of objects larger than 100MB •The largest size of a single object uploaded using PUT API can be of 5GB SSD- and HDD-backed storage types •Use of SSD backed and Provisioned IOPS is recommended for dedicated IO operations as needed Default throughput of 3GB
Performance •Highly scalable managed service supports 100 PUT/LIST/DELETE requests per second by default•Can automatically scale till 300 PUT/LIST/DELETE requests per second or more than 800 GET requests per second •Manually Scale the size of the volumes without stopping instance.•Baseline performance of 3 IOPS per GB for General Purpose volume•Use Provisioned IOPS for increased performance   •Highly Scalable Managed Service•Supports up to 7000 file system operations per second
Data Stored •Stored data stays in the region. •Replicas are made within the region in multiple availability zones•Amazon S3 objects can be copied to other region using the cross region replication feature •Data stored stays in the same Availability zone. •Replicas are made within the AZ for higher durability •Data stored stays in the region.•Replicas are made within the region
Data Access Accessible over internet based on access policy configured Can be accessed only by single EC2 instance Can be accessed by 1 to 1000s of EC2 instances from multiple AZs, concurrently
File Permissions/ File System •Can be mounted as a file system, but it is not recommended•Unlike traditional file systems, bucket permissions do not pass on to the folders by default (bucket policies can be used to achieve this) Supports various file systems, including ext3 and ext4 •File storage service for use with AWS EC2 •EFS can be used as network file system for on-premise servers too using AWS Direct Connect.
Supported Encryption Mechanisms Server Side Encryption with Amazon S3-Managed Keys (SSE-Amazon S3),AWS KMS-Managed Keys (SSE-KMS), and with Customer-Provided Keys (SSE-C) Client Side Encryption using an AWS KMS–Managed Customer Master Key (CMK) and using a client-side master key Uses an AWS KMS–Managed Customer Master Key (CMK) and AES 256-bit Encryption standards Uses an AWS KMS–Managed Customer Master Key (CMK) and AES 256-bit Encryption standards
Access Control •Using bucket policies and user policies 
- Managed with ACLs
- Pre-signed URL access based on IAM
•Security groups
- NACL
- User based Authentication such as IAM
•Security groups
 -User-based authentication
- IAM 
Availability 99.99% available 99.99% available Highly available (No public SLA)
Availability Zone Failure Can withstand up to two concurrent AZ failures Cannot withstand AZ failure without point-in time EBS Snapshots Every file system object is redundantly stored across multiple Availability Zones so it can survive one AZ failure.
Durability Eleven 9’s of durability 
(99.999999999%)
20 times more reliable than normal hard disks Highly durable (No public SLA)
Eventual Consistency Problem AWS Amazon S3 offers eventual consistency for overwrite PUTS and DELETES in all regions. No such issues No such issues



Amazon EBS vs S3, Amazon EFS vs S3, Amazon EBS vs EFS

Of the three options, Amazon S3 is cheapest and can be configured to be accessed from anywhere. Using Amazon S3 is like taking a write-once, read-multiple-time approach.

Amazon EFS is almost 10 times more expensive than Amazon EBS, but the cheaper Amazon EBS can only be accessed by one Amazon EC2 instance at a time. This can be problem in a clustering or distributed app. However, Amazon EBS can give better performance than Amazon EFS. Amazon EFS gains a point on Amazon EBS in its ability to be used as shared network storage.

When considering these prices it’s also useful to remember the amount you spend on AWS storage can be significantly lowered with the help of Cloud Volumes ONTAP.

Static Amazon EBS vs. Auto-Scaled Amazon EFS


Arguably the most interesting comparison is Amazon EBS vs EFS. The difference between using Amazon EBS and using Amazon EFS can be compared to parking a car in a home garage versus parking a car in a rental parking lot. Using Amazon EBS is like parking in your own private garage: you tend to use your car frequently and the space is highly secure. Using Amazon EFS is more like parking in a big rental parking lot: there are lots of people, including yourself, sharing a common space available to accommodate a large number of individuals. Let’s look at how analogy works in real life.

Amazon EBS is generally used for persistent block storage. It is ideal for databases and other low-latency interactive applications that require high IOPS or throughput, and specifically low latency with consistent and predictable performance. Now, there is an argument that you can use Amazon EFS instead of Amazon EBS, so you won’t have to worry about space. But, returning to our analogy, building a huge parking lot to have extra space just for your car is not a smart idea: it will cost more, and the space will go unused. Plus, Amazon EBS volumes can scale up or down with a single API call and without stopping the instance.

So, when is it a good idea to use Amazon EFS? Amazon EFS is designed for the huge amounts of data that big data workloads and analytic applications generate; amounts of data that are so large it is impossible for an Amazon EBS EC2 instance to access for processing or analyzing. Because of that, Amazon EFS outweighs Amazon EBS in media processing workflows, content management, and web serving.

Inexpensive Amazon S3 vs. High-performance Amazon EFS


Now let’s look at Amazon EFS vs S3. Because of Amazon S3’s eventual consistency problem, Amazon S3 might be little slow when compared to Amazon EFS, which has Max I/O performance modes that will have higher write speeds and throughput.

Amazon EFS can be accessed by multiple Amazon EC2 instances from multiple Availability Zones in the same region at any point in time; Amazon S3 can be accessed from anywhere by API’s. Amazon S3 guarantees eleven 9’s of durability but Amazon EFS does not. There is also a limit to the number of Amazon EFS instances that an account can launch.

If you’re thinking of trying to use Amazon EFS for regular-use, individual instances, you are not the first person to have that idea. Many have tried to implement that solution, but in the end, they’ve all discovered that Amazon EFS does not do well with small general-purpose workloads.

Optimizing Your AWS Storage System with Cloud Volumes ONTAP


Whichever storage system you choose, NetApp’s Cloud Volumes ONTAP can be used to help make the most out of your AWS storage solution. Cloud Volumes ONTAP gives you the ability to use Amazon EBS and Amazon S3 as your requirements demand, but it gives you much more when used on top of those AWS services.

One advantage of Cloud Volumes ONTAP is that it can be used with NFS, CIFS, and other file share formats. Plus, that functionality comes with an option for increased reliability with the ONTAP Cloud HA configuration for AWS. With ONTAP Cloud HA you can create a high availability solution that ensures failover and failback are automatic and seamless processes that meet your RPO and RTO goals when outages occur.

Another added benefit comes with Cloud Volumes ONTAP’s storage efficiency features. The storage efficiencies such as data deduplication, compaction, compression, and thin provisioning mean you spend less on cloud storage costs because you consume less raw AWS storage. With Cloud Volumes ONTAP, storage costs can regularly be reduced by 50% and in some cases, reduced by as much as 70%.

Data Tiering to Amazon S3 allows you to store infrequently-used data, such as DR copies and snapshot data, in Amazon S3, and configure your system to automatically bring that data back to Amazon EBS when it needs to be used and is considered hot. Data tiering saves on data storage costs significantly.

Cloud Volumes ONTAP snapshots are space efficient, as additional space is consumed by the snapshots only when data in the live copy is updated. Amazon EBS snapshots update incrementally the same way that NetApp snapshots do, except the initial snapshot must create an entire copy of the live data. And the lack of snapshot capabilities on Amazon EFS is another consideration when it comes to that service.

Increased Manageability means Amazon EBS allocations can be managed centrally under Cloud Volumes ONTAP for all disk types. All Cloud Volumes ONTAP functions across public clouds can be easily managed through the OnCommand Cloud Manager.

Provision test/dev environments quickly with FlexClone, which creates temporary writable clones for development and testing with any of the AWS storage formats mentioned above.

Conclusion: A Balance of Cost and Necessity


In the end, the deciding factor between Amazon EBS vs S3, Amazon EFS vs S3, Amazon EBS vs EFS most likely comes down to how much you can afford to pay for storage.

Amazon S3 comes with a lot of features, but comes with various pricing parameters such as storage used per month, number of requests made (E.g.: POST, GET etc.), Amazon S3 Inventory, Amazon S3 Analytics, Storage Class Analysis, Amazon S3 Object Tagging, Data Transfer per GB out of Amazon S3 and Amazon S3 Transfer Acceleration.

Compared to Amazon S3, Amazon EBS pricing is simpler and it includes per/GB storage allocated per month, Provisioned IOPS, and Amazon EBS snapshots. Amazon EFS pricing is even more straightforward: you just pay for the storage used measured in GB/month.

With this analysis, Amazon S3 looks the cheapest but that might not always be the case. For performance, Amazon EBS is the fastest due to high IOPS, but when it comes to shared and scalable file systems Amazon EFS is the best option. But in all cases, with Cloud Volumes ONTAP, you consume less AWS storage and therefore save on storage costs.

If you’re ready to make the most of AWS storage without paying for more resources than you need, try Cloud Volumes ONTAP free for 30 days on AWS.

AWS Storage Options

Related Articles

ONTAP Cloud is Now Cloud Volumes ONTAP

Read More

Data Replication: How SnapMirror Works When it Comes to...

Read More

Alibaba Cloud Computing: An Introduction

Read More
-