A Beginner’s Guide to Amazon S3. Learn about the concepts, features, and major features of the S3 service.

Amazon S3 is one of the core services and among the pillars of the AWS cloud infrastructure. The S3 stands for “Simple Storage Service” and is among the three foundational services that Amazon started with back in 2006. Almost all services in the AWS cloud infrastructure use this service in one way or the other. In simple terms, Amazon S3 is an object store just like a regular file system that you have on your computer but is “infinitely scaling” or as AWS advertises it. There’s no limit to the amount of data you can store on s3.

The key features of s3 service are it’s infinite, highly scalable, high availability, high durability, manageable, and secure. Even with the option of infinite storage, in terms of cost, it is one of the most costly friendly services and you only pay for what you use. It can be used to store all kinds of image, text, and multi-media data.

The article will cover the following sections:

  • Amazon S3 overview.
  • S3 Buckets and Objects overview.
  • S3 Advance features.
  • S3 popular use cases.

Amazon S3 overview

Amazon S3 is designed to allow users to build highly scalable applications with infinite but inexpensive storage. S3 being a fast, inexpensive, and reliable option allows it to be used as a backbone for a large number of cloud-based applications and is also an integral service in the AWS cloud infrastructure with integration options available for most of the services. Users can store or retrieve any amount of data as per their needs at any time of day from around the globe.

In S3, everything is stored like an object which is mainly used for storing text-based data like server logs or multi-media data like images, videos, or mp3 files. The data is stored with 99.99% availability which sums to just 53 mins of downtime in a year and 99.999999999% durability which means that a single object is lost every 10,000 years. The service can be easily accessed via the management console providing the users with a well built and easy to use interface to easily manage all the different features and options. In addition to the console, the AWS CLI and SDKs for S3 are also available for more programmatic access.

Some more advanced features that S3 offers are object encryption for data security, versioning and replication for backup and durability, storage classes for cost optimization based on object access patterns, auditing, monitoring, and compliance features, permissions, and access management at the user, bucket, and even object level for restricted access, query in-place support for other AWS services to allow direct query on the objects.

We’ll cover most of the details of these features in the coming sections.

S3 Buckets and Objects overview

With a general overview of the S3 service, we can dig into how the objects are structured in the S3 service. S3 follows the convention of buckets and objects.

Buckets:

A bucket in S3 is just like a directory that contains an unlimited number of objects(files). Each account can have 100 buckets(soft limit and can be increased by request to AWS) by default but there’s no cap on the number of objects in one bucket but each object can only be 5TB in size.

S3 is a regional service and buckets are saved at the regional level. Each bucket has a globally unique name (bucket names follow a convention)meaning that only one bucket can have a given name at a time in the entire AWS infrastructure unless deleted by the bucket owner. Buckets are created in a specific region that we choose so choosing geographically closer regions can help minimize latency.

Objects:

_An object in S3 is just a file you store. Ojects consists of data and metadata. Each object has a __unique key _that consists of a prefix and the object name.

E.g. s3://s3bucket/some_folder/s3_object.txt

The bucket name, key, version ID, and the object name itself all together uniquely identify the object. Although I mentioned earlier that buckets are like directories and even the UI on the management console will show a directory structure, there’s no concept of directories within buckets nor do any directories exists like in a Linux file system. The directories in buckets are only there for data organization purposes. S3 works entirely with keys. S3 objects can be 5TB in size but unlimited in number. Objects also have additional attributes like metadata, version, and tags.

Objects Consistency Model

The S3 service due to its high availability and durability provides atomic updates to objects meaning the objects are never partially updated. The consistency model for S3 is based on two approaches:

  • Read after write consistency for new objects — means that if we request new objects right after creation, S3 might return 404 but eventually the objects become available.
  • Eventual Consistency for objects overwrites — If an object is retrieved right after the update, S3 might return the old copy or the new one but never a partially updated object.

Buckets, objects, and keys together make up the entire working structure of the S3 service. The advanced features for buckets and objects are discussed in the next section.

#aws #cloud #web-development #developer

Amazon S3 for Dummies: Infinite Storage on the Cloud
3.05 GEEK