Amazon S3 Explained
In this series, we will take a closer look at Amazon S3, one of the most popular services in the AWS platform, and how it can be used for different types of clients and varying business needs. By better understanding the different offerings and features of this popular cloud storage service, you will be better equipped to recommend the right solution that most effectively and efficiently solves a client’s problem. You will find out why big companies like Netflix and Airbnb choose to use Amazon S3 over other cloud-based storage services on the market and why Amazon is dominating this market.
S3 stands for Simple Storage Service. This is Amazon’s object-based storage solution and one of AWS’ oldest products. S3 offers unlimited storage of objects such as documents, pictures, videos, etc. While S3 is not suitable for installing operating systems or databases, it can be a good supplement for a database by storing large files such as images or videos that can be linked in a database table.
Amazon S3 is a universal namespace, so each bucket (basically a folder) has to have a universally unique name, and each item within a bucket has to have a name unique to that bucket. This is to allow unique URLs to be provided automatically for each bucket and each item in S3. By default, these items are not accessible to the public. However, you can quickly change that when or after uploading them. This allows you to share files easily, embed them into HTML, or, as mentioned above, keep a reference to them in a database.
Small companies, like the one I used to work for, all the way up to tech giants like Netflix leverage Amazon S3 due to its simple, secure, and powerful platform. This universal appeal is also due in no small part to its variety of storage classes that can address a multitude of client needs. Another factor is the powerful features such as versioning, lifecycle management, and security features such as encryption, bucket policies, and access control lists. Let’s dive deeper into some of these factors and find out what makes Amazon S3 special.
S3 is the name of the standard storage option. However, the Amazon S3 family includes four classes of service: S3 Standard, S3 Standard – Infrequently Accessed, Reduced Redundancy Storage, and Glacier. Let’s take a look at each one of these in more detail.
This is the default option for Amazon S3 and offers the best choice for most users and applications. S3 Standard has availability of 99.99% and data durability of 99.99999999999% (that’s 11 9s!). This is achieved by spreading the data across multiple devices and facilities. It is so reliable, in fact, that is it designed to sustain the loss of 2 data storage facilities at the same time!
S3 STANDARD – INFREQUENTLY ACCESSED
This storage class is for data that, as the name suggests, only needs to be infrequently accessed, however still needs to be accessed quickly when the time comes. Standard – IA has the same high level of durability as S3 Standard, but it has a slightly lower availability at 99.9%. Also, you are charged a retrieval fee and a lower storage fee than S3 Standard.
REDUCED REDUNDANCY STORAGE
This storage class is intended for data that is easily replaceable or reproducible. This is because it stores data at a lower durability level. In return for this lower reliability, you can store your data at a lower cost. The durability for Reduced Redundancy Storage is 99.99% while the availability level is the same as S3 Standard. One possible use case for this type of storage is storing image thumbnails, which can be reproduced so long as you have the original image stored elsewhere.
Glacier is Amazon’s cheapest storage option and is used primarily for data archival. For as low as $0.004 per gigabyte per month, you can archive your data in Glacier. But these savings come at a steep cost – retrieval times of up to 5 hours. There are many options within Glacier with varying prices and retrieval times, but essentially you are trading retrieval time for cost reduction. This is great for archiving files that will not be needed urgently, if at all. This may be a great solution for a client that needs to comply with certain legal requirements for their business. Glacier maintains the same durability as S3 Standard.
S3 offers a number of useful features, any of which might be critical for a client. Knowing some of these features will help you provide the best advice to clients as to whether or not S3 is the data storage solution that is right for them. This is by no means a comprehensive list of features, merely a highlight of some of the most notable ones.
S3 allows you to enable Versioning on a per-bucket basis which will keep a copy of each iteration of an object, even if you delete it. “Deleting” an object just places a delete marker over it, and it can still be retrieved later, along with any previous version of the object. This is a great backup mechanism that will be especially useful for clients who are frequently overwriting data.
Using Lifecycle Management is a great way to leverage the other S3 classes automatically and effortlessly. This feature allows users to set objects to go into S3 Standard automatically – IA and/or Glacier after a certain number of days. You can even set these objects to be automatically deleted. You can also use Lifecycle Management in conjunction with Versioning for a more efficient and cost-effective back-up and archival system.
This feature allows users to create “destination buckets” that automatically sync with a “source bucket” in a different region. This will enable users spread copies of their data across the country or the world. So, if you have a client that has a national or global business, they will be able to keep their data at locations closer to their customers, therefore reducing latency and even further improving data redundancy.
SECURITY & ENCRYPTION
S3 is a highly secure storage option with customizable security controls. All buckets and items are private by default and must be explicitly made public if so desired. If you want to grant controlled access, you can do so with bucket policies and Access Control Lists (ACLs). Amazon secures in-transit data using SSL and offers a number of at-rest encryption options, including server side and client side encryption.
Hopefully, you found this overview of Amazon S3 beneficial and learned something new. With this newfound knowledge of one of the most popular services from the largest cloud provider in the world, you will be better equipped to make informed decisions when advising clients or spinning up your web application. At the very least, you have a foundation and starting point for further education on S3 and AWS.
Stay tuned for part 2 where we will take a look at how you can transform your on-site data storage infrastructure into a supplemental infrastructure to improve your new S3 cloud-based storage solution or how you can transition to start using S3 if you are a big company with a massive amount of data.