When we think about cloud providers, Amazon Web Services (AWS) is one of the first names to come up. As the leading cloud services vendor provides more than 100 different services on the SaaS model. This array of options may sometimes confuse the users when it comes to making the right choice for their cloud storage.
In this article, I’ll cover the three most popular AWS services: Amazon Elastic Block Store (Amazon EBS), Amazon Simple Storage Service (Amazon S3), and Amazon Elastic File System (Amazon EFS), comparing their performance and pricing schemes to give you the information to decide which is the right storage option for you.
Three Different AWS Storage Options
Before getting into comparisons, let’s review the three options features and capabilities.
Amazon Simple Storage Service (Amazon S3) is a web-based, high-speed, scalable cloud storage offering for online storage and backup of data and applications on AWS. Offers static object storage for static web hosting, version management, archiving and big data analytics.
S3 works by storing each object as a file with its metadata included and assigned an ID number, which is used by applications to access the object.
Some key features include:
- 99.99% durability for objects stored in the service
- Can be accessed via a REST API
- Can receive data uploaded through public internet via S3 APIs.
- Integrates other AWS services such as for example Amazon Redshift Spectrum for complex analyses.
S3 comes in three storage classes: Standard, Infrequent Access and Glacier.
- Standard—for frequently accessed data needing low latency and high throughput.
- Infrequent access—for data that needs to be accessible but is needed less often. Useful for backups, disaster recovery and long-term data storage.
- Glacier—the cheaper option in S3, designed for archival storage since the retrieval rate can take hours.
Implementing lifecycle management policies can help optimize the data, moving it to colder tiers over time.
Amazon Elastic File System (EFS)
EFS is a highly scalable file storage service provided by AWS, that unlike S3, uses
NFSv4 protocol to enable a traditional hierarchical directory structure. EFS works by distributing the infrastructure deployed and managed by AWS, scaling the storage capacity to avoid performance bottleneck.
This scalability provides elastic storage capacity to workloads running on Elastic Compute Cloud (EC2) instances, through an application programming interface (API) requests. It is useful for Big Data analytics, lift-and-shift enterprise applications, database backup where do you need low latency, high consistency and good throughput.
Amazon Elastic Block Store (EBS)
EBS is a cloud-based block storage system, that provides highly available block-level storage volumes for use with Amazon Elastic Compute Cloud (EC2) instances. It stores the data in blocks that can be attached to EC2 instances. The system allows you to keep data persistently, even after you shut down the attached EC2 instance by the use of EBS snapshots.
However, Amazon EBS is not easy to scale, requiring attaching new volumes or increasing the size of a volume every time you need more storage. Therefore, if you use EBS capacity planning is critical to avoid becoming short of storage.
The current generation of EBS volumes includes:
- General Purpose SSD Volumes (gp2)—is the default EBS volume, offers high IOPS for volume, enabling to burst up to 10.000 IOPS. It is a good fit for small and medium-size databases, intended for virtual desktops, dev-test workloads and low-latency apps.
- Provisioned IOPS SSD (io1)—the highest performance volume, designed for high workloads, supporting up to 64,000 IOPS and 1,000 MB/s of throughput, making it ideal for database workloads, especially high volume RDBMS databases like Oracle, Postgres and MySQL.
- Throughput optimized HDD (stl)—this low-cost magnetic storage option provides high throughput per volume, making it a good fit for data warehouses.
- Cold HDD (sc1)—as its name suggests, it is intended for cold data storage, supporting the lowest IOPS per volume, being also the cheapest.
You can learn more about the functions of AWS EBS volumes here.
How to Choose the Right Storage for You (comparing EFS vs EBS vs S3)
After that brief introduction, now it’s time to compare the storage options. For that matter, we arranged this comparison table that covers the main aspects you should take into consideration when choosing the right storage solution:
Final Considerations—Which One Should You Choose?
Regarding cost, Amazon S3 is no doubt the cheapest in terms of pure storage costs. S3 is suitable for a write-once, read-multiple-time approach, as it can be configured for access from anywhere. However, in terms of performance, EBS and EFS are superior to S3, with stronger throughput and lowest latency.
If you manage unpredictable workloads and need to rely on easy scalability, S3 could be a good choice. If, for example, if you manage a large relational database requiring block storage, S3 is a better choice. Ultimately, the option you choose will depend on your budget, but it should also take into account the needs of your organization and the use cases you intend for the storage solution.