More about AWS EBS
- AWS EBS Multi-Attach Volumes and Cloud Volumes ONTAP iSCSI
- AWS EBS: A Complete Guide + 5 Functions To Start Using
- AWS EBS Volume Backup Using Automated Snapshots
- How to Clean Up Unused EBS Volumes with A Lambda Function
- Boost your AWS EBS performance with Cloud Volumes ONTAP
- AWS EBS Volumes: How to Optimize Performance and Cost
- EBS Pricing and Performance: A Comparison with AWS EFS and S3
- How to Clone AWS EBS Volumes
- The Largest Block Storage Volumes the Public Cloud Has to Offer
- Storage Tiering between AWS EBS and Amazon S3 with NetApp Cloud Volumes ONTAP
- Lowering Disaster Recovery Costs by Tiering to Amazon S3
- 3 Tips for Amazon EBS Optimized Performance
- Backing Up Instance Store Volumes to AWS EBS
- Block Storage vs. Object Storage in the Cloud
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 (formerly ONTAP Cloud) can help enhance your use of AWS cloud storage with cost-saving features and added flexibility.
AWS Storage Options: 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.
What is Amazon EFS?Amazon EFS is an NFS file system service offered by AWS. 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. Below we'll see more about how it compares to Amazon S3 and Amazon EBS costs and performance.
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. Note that as all of these services take advantage of Amazon EC2, storage pricing should also be considered with compute costs in mind.
So how do these AWS services stack up? Do Amazon EBS costs make it more attractive than Amazon EFS? Does Amazon S3 provide as much reliability as Amazon EFS? In, the table below you’ll be able to evaluate the parameters of all three AWS storage services, Amazon EBS vs S3, Amazon EFS vs S3, Amazon EBS vs EFS.
What Is Amazon S3?
Amazon S3 offers object storage for AWS. It’s a static storage service useful for static website hosting, media distribution, version management, big data analytics, and archiving.
What Is EBS in AWS?
Amazon EBS is the block storage offered on AWS. An Amazon EBS volume is a persistent storage device that can be used as a file system for databases, application hosting and storage, and plug and play devices.
Amazon S3, Amazon EFS, and AWS EBS Pricing Table
|Features||Amazon S3||Amazon EBS||Amazon EFS|
|Storage Cost (US-East, for example)||Amazon S3 pricing: First 50 TB / Month $0.023 per GB Next 450 TB / Month $0.022 per GB Over 500 TB / Month $0.021 per GB||Amazon EBS pricing: General Purpose SSD (gp2) $0.10 per GB-month
Provisioned IOPS SSD (io1) $0.125 per GB-month ($0.065 per provisioned IOPS-month) Throughput Optimized HDD (st1) $0.045 per GB-month
Cold HDD (sc1) volumes $0.025 per GB-month
|Amazon EFS pricing:
$0.30 GB-month ($6.00 per provisioned MB/s-month)
|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 47.9TiB|
|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/s for all connected client|
|Performance||•Highly scalable managed service supports 3500 PUT/LIST/DELETE requests per second
•Supports 5500 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 in AWS EFS stays in the region.
•Replicas are made within the region
|Data Access||Accessible over internet based on access policy configured||Can only be accessed by a single Amazon 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
- User based Authentication such as IAM
|Availability||99.99% availability of objects over a given year||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
|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|
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.
Now let's look at the Amazon EFS and Amazon EBS costs. Amazon EFS is almost 10 times more expensive than Amazon EBS pricing, 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 this analogy between AWS EBS and AWS EFS 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, even though Amazon EBS costs less.
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 Cloud Volume ONTAP’s AWS high availability configuration. 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%. That can go a big way to reducing your Amazon S3 and Amazon EBS costs.
Because Amazon EBS pricing is based on its use for high performance workloads, it can be expensive for data that doesn’t require access via highly performant disks. There’s a way Cloud Volumes ONTAP can help lower your Amazon EBS costs: storage tiering. Tiering data 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, offsetting the higher rates of Amazon EBS pricing.
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. Comparing these storage options on AWS, EBS pricing and performance strike a balance that makes it very attractive. Combined with Cloud Volumes ONTAP, you consume less AWS storage and therefore save on storage costs.