Understanding Amazon AWS and S3

Published Feb 10, 2017Last updated Feb 14, 2017
Understanding Amazon AWS and S3

AWS Introduction:

Whether your business is in eCommerce or stock market, retail or image processing, your business relies on applications that run securely at a cost that scales with your needs. Amazon Web Services provides a complete set of cloud computing services accessible on the Internet to help you build and run those applications. AWS provides compute, storage, and database services that enable your organization to quickly provision the hardware and software resources it needs without much financial investment.

AWS Offerings:

Amazon Web Services (AWS) provides the building blocks for you to build a support system that handles virtually any workload. Furthermore, you may adjust your subscription anytime and pay as you go. Whether you are building applications for individual customers, enterprises, or ecommerce, AWS provides a complete set of highly available services that are designed to work together to build sophisticated and scalable applications on the Internet.

AWS provides an on-demand access to highly durable storage (Amazon Glacier, Amazon S3, Amazon EBS), low cost compute (Amazon EC2), high performance databases (Amazon Redshift, Amazon DynamoDB, Amazon ElasticCache, Amazon RDS), and the tools to manage all the resources (Amazon CloudWatch, AWS IAM, AWS CloudFormation, AWS Elastic Beanstalk). All of these services are on-demand services — you do not need to pay an upfront fee.

Sample Use Case:

Let’s say you're building a database driven application, where high availability and low cost are important. You can use AWS to store the files and empower your app with your choice of relational or nonrelational databases.

You can have reliable and managed databases up and running in minutes across multiple geographically isolated datacenters for redundancy and availability. You can then deploy your application using the tools — Chef, Puppet, Visual Studio, Eclipse, etc — and languages — PHP, Java, Ruby, Python, .NET, NodeJS — of your choice. You could also deploy prepackaged apps — SAP Business Objects, Microsoft Sharepoint, etc. — available from the AWS MarketPlace.

You will find a large selection of computational resources to power your application with support for IO, Storage, and CPU intensive workload. The experimentation is easy and has low risk — you can explore on-demand access to a wide range of hardware configurations, evaluate them, and run virtually any technology or tool on them. Apart from that, you can grow or shrink your infrastructure as needed. You can optimize your application with load balancing, domain name services, a global content delivery network, and a wide variety of SDKs for automation.

Accessing AWS Services:

Working with your data is easy too. Here's a list of the things you can do with simple tools:

  • integrate, import and export your data
  • manage hadoop clusters
  • spin up petabytes scale data warehousing
  • archive the frequently accessed information
  • federate identity
  • build compliant secure environments, which integrates into your existing infrastructure via private dedicated connectivity

You also have access to the fine grained network and identity management, security certification, and access controls your organization needs.

Understand Amazon S3:


Amazon Simple Storage Service, also known as Amazon S3, is a safe, secure, and highly scalable object storage in the cloud. It can be used to store and retrieve any amount of data, any where, any time. Amason S3 makes it easy for users to store as much data as they want and access it whenever they need to. This allows organizations to avoid buying hardware and paying for storage that is not being used. Amazon S3 is a very affordable service, under AWS, for hosting data on the web because users only pay for the storage and bandwidth that they actually use. Organizations mainly use Amazon S3 for backup and storage, to run applications, to host high traffic websites, or to back up data your website data at regular intervals.

For example, if you want to host a website for your business, you can store the static files and assets in Amazon S3 for faster retrieval and lower hosting costs. It also allows versioning — you can record changes and can rollback to a previous version whenever the need arises. Amazon S3 is very easy to use and offers various ways to be accessed, managed, and administered. It provides REST and SOAP web service APIs to store, retrieve, and manage data. Developers can also access AWS using AWS console, which is a web based interface that Amazon provides.

Understanding Amazon S3 Buckets:

Amazon S3 stores data as Objects and objects are stored within folders that are called Buckets. Buckets are the containers of objects and you can have one or more buckets. For each bucket, you can control access to the bucket, such as who can create, delete, and list objects in that bucket. In order to store object in Amazon S3, you upload the file you want to a designated bucket. When you upload a file, you can set permissions on the object so it’s private until you want it be shared with other user.

Steps to Upload File in a Bucket:

Let us now explore how you can create a bucket on Amazon S3 and upload a file. Log in to aws.amazon.com with your registered AWS account.
aws login page.png

Once you login, you should see a list of all the AWS services that Amazon offers over cloud. Choose S3 under storage section.

aws services dashboard.png

This is how the S3 dashboard looks like. You should see all the existing buckets and options for you to create new buckets.
aws s3 dashboard.png

Click Create Bucket and enter a unique bucket name. Since the file within a bucket are given a URL, the bucket name will be part of the URL.

create bucket popup _.png

Once the bucket has been created, you should see its properties on the right side of page.

bucket created.png

Click on the bucketname you just created and it will open up the bucket page with a list of all the files in it. Since it's a new bucket, there are no files in the image below.

inside bucket , upload files.png

You can click on the Upload button and select a file to upload into your new bucket.

select and upload files.png

After you've selected a file the upload, you should see the progress, as shown in the screenshot below:

file upload in progress.png

The completely uploaded files will show up in the list:

upload completed.png

You can click on a file and view its properties by clicking the Properties tab on the top right navigation bar.

after upload file properties.png

You can make a file publicly accessible by right clicking on it and selecting the Make Public option. By making a file public, it is now accessible by REST API.

make a file public .png


Amazon S3 is very reliable and is being used by companies ranging from startups to Fortune 500 companies. With AWS, you can find a complete cloud platform, which you can use virtually for any kind of workloads, be it business applications, big data, or building games. AWS gives you access to the resources you need to create sophisticated and scalable applications of any size or shape.

Discover and read more posts from Ashish
get started