Amazon Simple Storage Service(S3)

Lakshman Kattoju
Analytics Vidhya
Published in
8 min readAug 15, 2020

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. Before we start learning about the nuts and bolts of Amazon Web services, Let us first understand what cloud computing is and why to even care about cloud computing and especially why AWS, since there are many other big cloud storage providers like microsoft, azure, google cloud platforms, alibaba cloud etc…

Well let us understand what cloud computing is and how it works.Cloud computing is the on demand delivery of IT resources over the Internet with pay-as-you-go pricing. Instead of buying,owning and maintaining physical Data servers, you can access technology services, such as computing power, storage and databases on an as-needed basis from a cloud provider like Amazon.

Agility

cloud gives us easy access to broad range of technologies so that you can innovate faster and build nearly anything you can.

Elasticity

In cloud computing you don’t need to worry about managing your infrastructure, everything you need, is on cloud you just focus on your development.

Cost Savings

Perhaps, one of the most significant benefits of cloud computing is considerable savings in company’s IT cost. … Rather than spending big money on hardware, software or licensing and renewal fees you will cut down your both capital and operating costs by using the resources of your cloud service provider.

Ready to Deploy

With the cloud, you can expand to new geographic regions and deploy globally in minutes. For example, AWS has infrastructure all over the world, so you can deploy your application in multiple physical locations with just a few clicks. Putting applications in closer proximity to end users reduces latency and improves their experience.

So what cloud does is when you have a user working on cloud and logged into cloud services like aws or azure or google cloud platforms, then the user demands a service to the cloud and the cloud does its magic and provides the service back to the user, and the user pays for the kind of service he has consumed for the minimal time.

Traditional Approach vs Cloud computing

Great, now lets see the difference between Traditional Approach and cloud computing with the help of an e.g. , for suppose an user is calculating taxes for his company and he need a tax calculating equipment to calculate it, so he then go to the market and purchase the device for suppose say $50 and use it whenever he wants to use it or else store it in his drawer. Great, Now lets see the advent of cloud computing, here we no need to buy the calculator by spending a whole sum amount of $50, Instead we can request a service to the cloud provider and in returns the cloud provider gives us the access to the service at minimal cost say $1 and the pay is based upon our usage including hours or minutes or for a certain amount of time, this super fun right, but some of you may think, oh! traditional computing is much better since i’ve got the device near to me and i can use it physically and can buy the device of my choice, here comes the magic of cloud, this year the taxation laws are following a certain formulae and in the next fiscal period the formula may changes and the calculator gets out dated, but here in the cloud service we will get the updated services at 25 cents or more based up on our usage. so think what happens when it comes to large scale applications, then we figure out that cloud is cost benefit and agile.

That’s pretty cool introduction to naive users to get started in cloud computing and understand its functionality and usage. so lets see the main features of our Simple Storage Services (Amazon S3),

Durability

Let’s define durability (with respect to an object stored in S3) as the probability that the object will remain intact and accessible after a period of one year. Amazon S3 is designed to provide 99.999999999% durability of objects over a given year. This durability level corresponds to an average annual expected loss of 0.000000001% of objects.

Availability

The S3 Standard storage class is designed for 99.99% availability, Data is distributed along 3 minimum availability zones, so if anyone fails other works as a backup, even if the entire zone is not working properly there are other remaining zones for data recovery.

Scalability

Scalability is the property of a system to handle a growing amount of work by adding resources to the system. In this case S3 is highly scalable

Reliable and Fast

It is extremely reliable and it provides us the faster access service via multipart upload option which enables you to upload large objects in parts.

Inexpensive and secure

It is the most the effective data storage and archival service, it provides you different storage tiers that are available for different pricing options available based on your need, and it highly secure service and it provides you server side Encryption and client side encryption, and it also offers sophisticated integration with cloud trail to log, monitor and retain Storage API call activities for auditing.

Flexible Storage Management

It offers us the most flexible set of storage management and administration capabilities, storage administrator can classify, report and visualise the data analysis report to reduce cost and improve service levels.

Easy Interface for Data Transfer

It has a simple web services interface which you can use to store and retrieve or download any amount of data at any time from anywhere on the web.

Easy Integration

And finally in addition to Integration with most AWS services amazon S3 is supported by tens of thousands of consulting system integrator and independent software vendor partners.

Here in the below picture you can find some infographic details on use cases of S3, where it is used in the real time world.

Now Let’s Look into the Fundamentals we need to know in Amazon S3.

Bucket

An Amazon S3 bucket is a public cloud storage resource available in Amazon Web Services’ (AWS) Simple Storage Service (S3), an object storage offering. Amazon S3 buckets, which are similar to file folders, store objects, which consist of data and its descriptive metadata.

Object

Amazon S3 is a simple key-value store designed to store as many objects as you want. You store these objects in one or more buckets, and each object can be up to 5 TB in size. An object consists of the following: Key — The name that you assign to an object.

Endpoint

These endpoints are easy to configure, highly reliable, and provide a secure connection to S3 that does not require a gateway or NAT instances. EC2 instances running in private subnets of a VPC can now have controlled access to S3 buckets, objects, and API functions that are in the same region as the VPC.

Key

Amazon S3 is a simple key-value store designed to store as many objects as you want. You store these objects in one or more buckets, and each object can be up to 5 TB in size. … Key — The name that you assign to an object. You use the object key to retrieve the object. For more information, see Object Key and Metadata.

Region

A region in S3 specifies in which region you are going to launch your service, and where as a deployed service can be worked accurately in any region, and it's better to choose a region that optimizes latency, minimise cost or address regulatory requirements.

Data Consistency

Data consistency means that there is consistency in measurement of variables throughout the datasets. This becomes a concern especially when data is aggregated from multiple sources. Discrepancies in data meanings between data sources can create inaccurate, unreliable datasets.

REST & SOAP Interface

S3 is accessed using web-based protocols that use standard HTTP(S) and a REST-based application programming interface (API). Representational state transfer (REST) is a protocol that implements a simple, scalable and reliable way of talking to web-based applications.

Here comes the fun part lets host a static website in S3,

Before starting that get ready with you AWS free trial Account, and sign in to your root user account to start working on AWS.

This is how our AWS management console looks, and now you can start finding you favourite service and work it on by searching in the quick find, and now we look into amazon S3.

Now click on create bucket and create your first S3 bucket, i’ve created one and names it as awsranchi.

Now click on the upload option, and upload your files from your local folders, and i have uploaded my files naming index.html and err.html and give the permissions to the objects in the permissions tab above and after that click anywhere on the object you will get an endpoint url for your object where it is deployed globally, now you are ready, lets host the website.

Go to properties from the same tab where you are after giving the public access and then click static website hosting, and you will see as below, and then mention your file names in the index.html and error.html placeholders, and click save, now you will get the endpoint url, where it is highlighted in the picture below, and your website got hosted successfully. now open the url and check it. in my case this is my endpoint url(http://awsranchi.s3-website.ap-south-1.amazonaws.com)

And this my index.html and error.html previews,

Hurrah! you are done and congratulation you have hosted your first static website.

About me: Hello all, this is Lakshman Kattoju an undergraduate student, where i love to explore things and keep on learning new things and teach them.

--

--