Amazon S3

Welcome to issue #1 of the โ€œAWS services shortsโ€, In each issue, I present to you an AWS service and explore what its strengths and weaknesses are, discover some use cases, and finally what the most common mistakes people are making with it.

Todayโ€™s issue is about one of the most used services, Amazon S3!

Letโ€™s start ๐Ÿ˜Š


If you prefer you can listen to the podcast or watch the YouTube video!


Amazon Simple Storage Service (S3) is a cloud-based object storage service provided by Amazon Web Services (AWS).

Main Purpose of AWS S3

Provide highly reliable, scalable, and cost-effective storage for various data types in the cloud.

Official AWS docs: https://docs.aws.amazon.com/s3/


Top Strengths

Durability and Reliability

AWS S3 is designed for 99.999999999% (11 nines) of data durability, ensuring that data is protected against hardware failures and errors.

Scalability

It can scale to accommodate virtually unlimited data storage and handle high request rates, making it suitable for applications with varying data storage needs.

Security

S3 offers robust access control mechanisms, including bucket policies and access control lists (ACLs), to secure data from unauthorized access. It also supports encryption at rest and in transit.

Performance

S3 provides low-latency access to stored objects, enabling quick retrieval and seamless integration with other AWS services and applications.

Cost-Effectiveness

AWS S3’s pay-as-you-go pricing model allows users to only pay for the storage they use, making it cost-effective for businesses of all sizes.


Top Weaknesses

Amazon S3 does not support object locking for concurrent writers

If two PUT requests are simultaneously made to the same key, the request with the latest timestamp wins. However, the order in which Amazon S3 receives the requests and the order in which applications receive acknowledgments cannot be predicted because of various factors, such as network latency.

Updates are key-based

There is no way to make atomic updates across keys. For example, you cannot make the update of one key dependent on the update of another key unless you design this functionality into your application.

Versioning Complexity

Enabling versioning in S3 can increase storage costs, and managing multiple object versions can become complex if not properly handled.


Common Usage Scenarios

Data Backup and Recovery

S3 is frequently used as a reliable and secure backup solution for businesses, storing data backups that can be quickly retrieved when needed.

Static Website Hosting

S3 is an ideal platform for hosting static websites, allowing developers to serve static HTML, CSS, and JavaScript files directly from S3 buckets.

Media Storage and Distribution

Many applications, including streaming services and media platforms, use S3 to store and deliver media content, such as videos and images, to end-users.

Data Archiving

S3’s cost-effectiveness and durability make it a popular choice for long-term data archiving and compliance storage.

Big Data Analytics

AWS S3 integrates seamlessly with other AWS services like AWS Glue, Athena, and Redshift, making it a primary storage option for big data analytics and data lakes.


Common Mistakes

Unsecured Buckets

Failing to set proper access controls can lead to data breaches and unauthorized access to sensitive information. The Web is full of examples.

Lack of Data Encryption

Failing to implement encryption can compromise data security, especially when handling sensitive data. Luckily, starting from January 5, 2023, all new object uploads to Amazon S3 are automatically encrypted.

Overlooking Data Transfer Costs

Neglecting to consider data retrieval and transfer costs can result in unexpected expenses.

Ignoring Data Lifecycle Policies

Not setting data lifecycle policies can result in the accumulation of outdated or unnecessary data, leading to higher storage costs.

No Backup Strategy

Relying solely on S3 for data storage without backup copies increases the risk of data loss in case of accidental deletions or hardware failures.

Ignoring Data Replication

Neglecting to enable cross-region replication can result in data loss in case of a regional outage or disaster.

Improper Logging and Monitoring

Failing to set up proper logging and monitoring can make it challenging to identify and resolve issues proactively.

Wrong Region Selection

Choosing the wrong AWS region for storing data can impact data access latency and costs, especially in global applications.


I hope you find this Amazon S3 overview useful!

Did you like it? Too long? To short? Something is missing?

Please let me know with a comment! ๐Ÿ™

Your feedback is truly precious to me ๐Ÿ˜Š


Attributions:

  • Icons from www.freepik.com

Pages

Platforms

Scroll to Top