October 12, 2018
Compare the performance, functionality, and price when serving web content from S3 versus an EC2
An EC2 instance is a highly customizable VM hosted somewhere in AWS data center. As a VM, EC2 is meant to provide processing power, however, EC2 also ships with a small amount of local storage, which is meant to assist in processing activities, but not for long term, large data storage purpose.
Removing an EC2 instance will lead to loss of any data in local storage.
S3 is a highly durable, highly available, and inexpensive object storage service that can serve stored objects directly via HTTP. S3 is perfect for keeping file objects, as it provides features such as object version tracking, access policy set up, multiple redundancies of object, which is why Netflix stores thousands of petabytes of video files there.
Amazon EBS is short for Elastic Block Store, which provides persistent block storage volumes for use with Amazon EC2 instances in the AWS Cloud. Amazon EBS is designed for application workloads that benefit from fine tuning for performance, cost and capacity.
EBS uses both SSD- and HDD-backed storage types, with a baseline performance of 3 IOPS per GB for General Purpose volume. Provisioned IOPS could be used for increased performance.
S3 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.
S3 is a highly scalable managed service supports 3500 PUT/LIST/DELETE requests per second, and 5500 GET requests per second.
EC2 (EBS)
Maximum storage size of 16 TB, with no limitation on file size in EBS disk.
S3
No limit on number of objects, with individual S3 objects ranging from a minimum of 0 bytes to a maximum of 5TB.
Written by Warren who studies distributed systems at George Washington University. You might wanna follow him on Github