EBS -EFS -S3 Comparison from AWS Storage Solutions

A. Yigit Ogun
6 min readApr 30, 2022
Differences Between EBS -EFS -S3 Services from AWS Storage Solutions

AWS offers a number of storage solutions for us: EBS, EFS, and S3. We need to use one of the storage services. Swell. All of them seem strong and advantageous in different aspects compared to each other. But we have to make a decision. So which one is more advantageous for us? What is the difference between these services? Let’s examine it together.

AWS is a customer-oriented organization, friends. That’s why they try to develop services for all kinds of situations that customers may need. The good news is that; Although sometimes the services are similar to each other, when you look carefully, you can see that there are certain features that distinguish the services from each other. There is only one thing we have to do: decide what we need and make a list of our needs. Because if we can understand our needs well, you can easily decide on the right storage service.

The even better news is that I’ve listed everything you need to make that decision below.

1. EBS: High performance per instance block storage

EBS used to be accessible only by a single EC2 instance, which makes it similar to the physical hard drive we use on our computers.

It’s still generally used that way today (as per-instance storage), but in special cases Amazon EBS Multi-Attach can convert EBS to multi-instance storage like EFS.

Amazon Elastic Block Storage (EBS)

EBS Instances can be either General Purpose SSD (for general use) or Provisioned IOPS SSD, for mission-critical workloads.

What type of storage is EBS?

EBS is a block storage service, meaning all data in EBS is stored in blocks of equal size. This system offers some performance advantages over traditional storage and generally offers lower latency.

Key benefits of EBS

Within its role as a per-EC2 instance service, EBS has a range of benefits:

  • Low latency performance — Up to 16,000 IOPS for General Purpose SSDs and up to 256,000 IOPS for new Provisioned IOPS SSD
  • Easy data backup and restore — through hourly snapshots, EBS ensures all your data is well protected
  • High availability — 99.8% — 99.9% for General Purpose SSDs and 99.999% for Provisioned IOPS SSD
  • EBS encryption — You don’t have to worry about key management, because EBS takes care of it for you.

When to use EBS?

I think the use case of EBS will be easier to understand than the other two. EBS must be paired with an EC2 instance. Therefore, when you need a high performance storage service for a single instance, you can use EBS.

2. EFS: scalable file storage for multiple EC2 instances

EFS, unlike EBS, EFS can be mounted on multiple EC2 servers, meaning many virtual machines can store files within one EFS instance.

Amazon Elastic File System (Amazon EFS)

However, its main feature is its scalability. EFS is scalable, meaning it can grow or shrink on demand as more files are added without breaking your application or having to provision new infrastructure.

What type of storage is EFS?

EFS is a “file” storage system. File storage is a system you’ll probably be familiar with, as it’s the way files are stored on the hard drive on your computer. File storage is fast and accessible, but doesn’t offer the increased potential for complex queries that object storage does (more on that in section S3).

Key adventeges of EFS

EFS provides many benefits under a shared file storage service role for multiple EC2 instances:

  • Adaptive throughput — EFS’s performance can scale in-line with its storage, operating at a higher throughput for sudden, high-volume file dumps, reaching up to 500,000 IOPS or 10 GB per second
  • Highly flexible — when you start an EFS instance, you can add add files without worrying about provisioning or disturbing your application’s performance
  • Additional accessibility — EFS can be mounted from different EC2 instances, but can also cross the AWS region boundary using VPC peering

When shall we use EFS ?

  • EFS can be used when you need a shared file storage option for multiple EC2 instances with automatic, high-performance scaling. This makes it a great candidate for file storage for content management systems.
  • It can be used for “Lift and Shift” operations, as you don’t need to re-architect, thanks to its automatic scaling potential.
  • EFS’s shareable file storage is ideal for storing code and media files, so it also makes sense to use it for application development.

3. S3: object storage for complex queries and archived data

S3 is scalable like EFS and has access to multiple EC2 instances. However, it is also accessible by other cloud services and being an object storage system makes it ideal for handling large volumes of static data as well as complex queries.

Amazon Simple Storage Service S3

What type of storage is S3?

S3 is an object storage service. Unlike file storage, where all data is hierarchically organized in a top-down network of folders, data in S3 resides on the same flat plane with more extensive metadata (tags) to make it manageable.

Consider a family. Think of a family tree lined up right from our ancestors to our descendants. Also consider a family party where each family member wears a name tag. In the first scenario, people exist in a hierarchical relationship with each other; in the second, they are all on equal footing.

Marking each object in this way makes it easy to run complex queries on each object without resorting to an existing hierarchy.

Key benefits of S3

As part of its object storage system role, S3 offers many benefits:

  • Performing analytics — S3 can be used as a data lake where other services run complex queries on S3’s data to gain various insights, as S3 can interface with other services such as AWS Lake Formation and analytics tools.
  • Data archiving — S3 can archive data, meaning that simpler forms of your data can be retained at a lower cost than a “full” version
  • Incredibly durable — Amazon S3 Standard, S3 Standard–IA, S3 Intelligent-Tiering, S3 One Zone-IA, S3 Glacier and S3 Glacier Deep Archive at 99.999999999% (11 piece of 9 😆) of objects over a period of time It is designed to provide data durability. This level of durability corresponds to the expected annual loss of objects of 0.000000001% per year. If you store 10,000,000 objects with Amazon S3, on average, you can expect a single object to be lost every 10,000 years.
  • Highly available — S3 offers 99.99% + availability
  • The flexible — S3 can be mounted in an application to act as a shared drive, making files shareable between multiple services running the web application.

When to use S3?

S3 is good for storing long-term data because of its archiving system. Things that haven’t been used for years, like reports and logs, can be stored in S3 at a lower cost than the other two storage services mentioned above.

As mentioned earlier, S3 is also useful for storing data on which complex queries can be run. This makes it useful for data about customer purchases, behavior or profiles, as this data can be easily queried and imported into analytics tools.

Its capacity to interface with other tools makes S3 a great option for backup and restore as it can be paired with Amazon Glacier for even more secure backup.

S3 also supports static websites, so S3 is a good choice if you need to host a static HTML page.

SUMMARY

EBS is a high-performance per-instance block storage system designed to act as storage for a single EC2 instance (most of the time).

EFS is a highly scalable file storage system designed to provide flexible storage for multiple EC2 instances.

S3 is an object storage system designed to provide archiving and data control options and to interface with other services beyond EC2. Also useful for storing static HTML pages and shared storage for apps.

--

--

A. Yigit Ogun

42 Heilbronn ✦ AWS Community Builder ✦ DevOps ✦ Cloud ✦ C/C++ ✦ GNU/Linux ✦ https://linktr.ee/ayogun