DEV Community

Tech Tim (@TechTim42)
Tech Tim (@TechTim42)

Posted on • Edited on

How to choose AWS Data Store

AWS offers different data store for files, these are used for difference using cases.

  • Object Storage, i.e. AWS S3
  • Block Storage (POSIX), i.e. EBS, EFS
  • And many different database options, such as DynamoDB, AWS Aurora etc

One Table of AWS Storages Updated in 2024

https://dev.to/timhub/how-to-choose-aws-data-store-55e4

In this article, we are focusing on files storage only (S3, EBS, EFS).

Object Storage - AWS S3

data

Object Storage it is an "abstract" level to store files, in AWS, it is AWS S3 (Simple Storage Service), there are bucket (folder/directory) to store files and folders. It is very similar to Dropbox (actually Dropbox is powered by AWS S3)

Pricing

The price model is actually simple, users are charged by the storage size, for example in us-east-1,

  • $0.023/GB/Month at the first 50TB
  • when store more than 50TB, it is cheaper per GB per month,
  • for infrequent access or glacier archive, it is cheaper

Overall, AWS S3 is cheap, comparing all other data/file storage options.

Block Storage - EBS

blocks in a bucket

Block Storage in the other hand, it is used as a POSIX-compliant file system. AWS EBS and EFS are both POSIX-compliant and can be used to store files.

EBS is required for running an EC2 instance, imagine that AWS Cloud Services as a local computer components, EC2 will be the CPU and RAM, EBS will be the Storage Drive. So users cannot share an EBS to different EC2 instances when they are running. To solve this restriction, AWS has another storage option, EFS.

Price

EBS Price model is a little bit more expensive, instead of charging through the storage size, it charges users through the EBS Volume size. it has a few different EBS options. For example, in us-east-1, the price for GP2 (SSD) is $0.125/GB-Month. (GP3 has a more flexible price model)

Block Storage - AWS EFS

files for storage
Same to EBS, EFS is POSIX-compliant as well, at the same time, it is able to be shared across different EC2 instances.

EFS offer the capability to share files between different instances. Let's imagine the AWS Services as local computer again, EFS is not EBS as a local storage drive, EFS it will be a NAT device in your LAN, all computers are able to visit it, but at the same time, you cannot boot your OS from it.

Pricing

The price mode is similar to S3, it basically charges users based on the storage users use, but price is the most expensive one among S3, EBS, EFS. $0.30/GB-Month

Simple Comparing Table between AWS S3, EBS and EFS

We have been discussing the limit and the price about these 3 service above, but actually there are more differences.

AWS S3 AWS EBS AWS EFS
Storage Limit Unlimited 64TB Unlimited
Individual File Limit 5TB Unlimited 47.9TB
Price 0.023 0.125 0.3
Shareable Yes Not Really Yes
Durability 99.999999999%(Eleven Nines) 20*Normal HDD Durability ~(No public data)
Availability 99.99% 99.99% ~(No public data)

How to choose then?

how to choose AWS data store

This diagram is based on price, consistency/scalability factors in the AWS data solutions.

You can open the image here in a new tab, if the text are too small.

References

Other Related Projects/Services

With the popularity of some AWS Service, other cloud provider and open source community, they provide the compatible AWS services as well, especially for AWS S3.

AWS S3 Compatible Options

  • minio Open source S3 Compatible object storage
  • Cloudflare R2 gives you the freedom to create the multi-cloud architectures you desire with an S3-compatible object storage.
  • Oracle object storage Using the Amazon S3 Compatibility API, customers can continue to use their existing Amazon S3 tools (for example, SDK clients) and make minimal changes to their applications to work with Oracle Object Storage.


twitter

Top comments (0)