Want to learn Cloud Computing? Begin your Journey with AWS!

Amrutha K 29 Mar, 2022 • 11 min read

This article was published as a part of the Data Science Blogathon.

Table of Contents

Introduction

AWS

Benefits of AWS

AWS Regions

How to choose a Region?

AWS Availability Zones

Edge Locations

AWS Free Tier Sign up

AWS Services

Conclusion

Introduction

In this article, we will understand more about cloud computing, and we will focus mainly on AWS in this article. We will see how to create a free tier AWS account and some of the services provided by AWS.

Let’s get started.

AWS

AWS is the most popular cloud provider. The reason behind it includes cloud computing market share. It has the highest market share. Also, the Server Capacity of cloud computing is six times Greater than the combination of all other providers and its flexible pricing.

Amazon Web Services(AWS) is a bundled Remote Computing Service that provides cloud computing infrastructure over the internet with storage ability, bandwidth, and customized support for application programming interfaces(API).

Cloud Computing AWS
Source: https://www.veritis.com/wp-content/uploads/2019/01/Enterprise-Public-Cloud-Adoption-2018.jpg

This is the report given by Rightscale. As per Right scale’s Annual State Cloud survey, we can see that AWS is the market leader in cloud computing. As of 2018, AWS controls 64% of the market.

Benefits of AWS

1. Easy to use

2. Reliable

3. Secure

4. User-friendly

5. Cost-effective

6. Can support large Organizations

7. Dominant market position

8. Scalable and high performance

AWS Regions

AWS Region refers to the physical location around the world with clusters of data centers. Each group of these data centers is called Availability Zone. Within the geographic area of each AWS Region, it has multiple isolated Availability Zones(AZs). Other cloud providers usually provide one single Data Center per Region. Whereas AWS provides multiple, which are more beneficial to customers. It helps to isolate critical workloads to avoid traffic in a location. AWS infrastructure regions have high levels of security and data protection.

After sign in to your AWS Account, then at the top of the page very right corner, you get the option to choose the region.

Cloud Computing AWS
Source: Author

How to Choose a Region?

1. Service Availability

AWS provides many services. But these services may differ in some areas, i.e., some services may not be available in some regions. These changes maybe because of the new service. If the service is new, AWS tests it thoroughly before launching it in that particular Region. So while you are choosing the Region, then check if the service you are going to use is available or not.

2. Security and Compliance Requirement

This check is vital that you need to do before choosing a Region. There are some legal requirements that you need to take care of. Let’s say you are working in the Health care department in the US and you need to maintain Health Records and so here you have to choose the AWS Region around the US because data should be within that Country.

Generally, most countries have laws requiring that data remains within the Country. So in these cases, you have to choose Regions within your Country.

3. Pricing

When it comes to pricing, not all regions have the same cost. Although AWS charges based on the usage, but not the same for all regions. So choose the regions which have a low cost.

4. User/Customer Location.

Sometimes you need to select the Region which is closer to the target audience. If your application targets a US audience, then launch it around the US, and if your application targets a global audience, then launch it in multiple locations.

Customer Location on AWS
Source: https://www.cloudsavvyit.com/p/uploads/2019/10/135f6ef0-1.png?trim=1,1&bg-color=000&pad=1,1

Here in this picture, see the cost in different regions. North Virginia is the cheapest of all, and Sao Paulo is the costliest. In northern Virginia, if you have to pay around $374, then when it comes to Sao Paulo, you have to pay around $571, which is almost 35% Greater than in North Virginia.

AWS Availability Zones

Availability Zones are the physical locations of data centers in a Region. In this, each Region has 2 or more Availability Zones. Availability Zones provides the ability to operate production applications and databases that are highly available and scalable. All the AZs in a single AWS Region are interconnected. All the traffic between Availability Zones is encrypted.

Availability Zones in the Asia Pacific:

Mainland China (Beijing) Region
Availability Zones: 3

Asia Pacific (Singapore) Region
Availability Zones: 3
Launched 2010

Asia Pacific (Sydney) Region
Availability Zones: 3
Launched 2012

Asia Pacific (Mumbai) Region
Availability Zones: 3
Launched 2016

Asia Pacific (Osaka) Region
Availability Zones: 3
Launched 2021

Mainland China (Ningxia) Region
Availability Zones: 3

Asia Pacific (Tokyo) Region
Availability Zones: 4
Launched 2011

Asia Pacific (Seoul) Region
Availability Zones: 4
Launched 2016

Asia Pacific (Hong Kong) Region
Availability Zones: 3
Launched 2019

Asia Pacific (Jakarta) Region
Availability Zones: 3
Launched 2021

AWS Global Infrastructure has 60 Availability Zones.

Availability in AWS

Availability is the ability of the system to be operational and accessible at any time. It ensures that data and services are available in normal and even in disaster and recovery operations.

 Availability = MTBF/(MTBF+MTTR)

MTBF( Mean Time Between Failures) = Hours in a Year/ No. of Failures.

MTTR( Mean Time To Repair) = (No. of Device x Time to Repair the Device)/Total no. of failures.

Measuring availability based on the number of Requests.

Availability = Successful responses/ Valid Requests.

Downtime per year( in Hours) = (1- Uptime ratio ) x 365 x 24.

Where, Uptime Ratio= Availability.

Calculating the availability of a system.

A=(Uptime/Uptime + Downtime) x 100%.

A= Percentage of the time that the system is operational.

This is the table with availability percentage and maximum unavailability time. And the examples of application types that are visible at each availability tier.

Availability
Maximum Unavailability (per year)
Application Categories
99%
3 days 15 hours

 

Batch processing, data extraction, transfer, and load jobs

 

99.9% 8 hours 45 minutes Internal tools like knowledge management, project tracking
99.95%
4 hours 22 minutes
Online commerce, point of sale
99.99%
52 minutes
Video delivery, broadcast workloads
99.999% 5 minutes ATM transactions, telecommunications workloads

High Availability: High Availability of a system means that the system is continuously operational for a long duration of time.

To get high availability, users have to deploy their Application in two Availability Zones, so if one of them goes down, then also the Application remains ON by using another Availability Zone.

It is essential for some reasons like:

1. Environmental conditions like Earthquakes. These should not impact your system.

2. Power Outage, Hardware Failure, Network failure.

3. If there are Software issues like failure of software, then still system should be operational.

4. Data is a crucial part of the Application. There should be backup data.

5. Network failures should not be the reason. Network outages can be an Issue. So there should be a redundant Network strategy in place of failures.

Edge Locations

Edge locations are the intermediate between the end-user and the server to access the services from AWS. It is the close point to the user that contains a small Setup instead of a server.

Basically, it is a Content Delivery Network used with AWS CloudFront Service.

Latency

Latency is the measure of time taken to transfer data from client to server and gain it back to the client.

Latency= T1 + T2

T1 = Time taken to transfer data from client to server.

T2 = Time taken to transfer data from server to client.

More latency means lower efficiency. It has clients throughout the world, so to reduce latency, they use Edge Locations.

AWS Free Tier Sign up

It provides its services for free.

1. Open the AWS Free tier page on your Web browser.

Cloud Computing AWS

Source: Author

2. Click on create a Free Account.

Cloud Computing AWS | Free Account

Source: Author

3. Give the email id and the AWS Account name that you would like to give. If you have an existing AWS Account already, then click on Sign in to an existing AWS Account.

4. Enter your contact information.

Cloud Computing AWS

Source: Author

5. Enter Billing Information. Enter your credit or debit card number and the remaining details required.

Cloud Computing AWS

Source: Author

6. Next you have to confirm your identity.

Cloud Computing AWS

Source: Author

7. Select a support plan.

Source: Author

8. Finally, you will get the registration confirmation page.

Source: Author

Now your Free tier AWS Account is ready.

AWS Services

These are the services that AWS provides. They are categorized as computing services, Storage &Content Delivery services, Database services, Networking services, Management tools services, Security &Identity Services, Application Services, and Developer Tools Services. We’ll learn them in detail.

AWS Services

Source: Author

Compute Services

It’s our first category. In that, we have:

1. Amazon EC2: This service helps you provision the virtual servers in the AWS environment. EC2 services eliminate the need for Hardware upfront, and you can develop and deploy your applications. You can create as many virtual servers as you want using the EC2 service.

2. Auto Scaling: Use this service for scaling and elasticity. Auto Scaling automatically adjusts the capacity by monitoring the applications. Using this service, you can manage to add or remove the instances that match your environment.

3. Elastic Load Balancer: AWS load balancer work with virtual servers. It is like the front end of your application where your computer applications are attached to it. It automatically distributes the incoming applications from various targets and virtual appliances to one or more Availability Zones.

4. Amazon Elastic Beanstalk: It is the service that helps you manage the entire lifecycle of your applications. It is used for less complex applications. For more complex applications, we’ll use OpsWorks.

5. Amazon Lambda: Lambda helps you to achieve serverless computing platforms. It runs your code and automatically manages the underlying compute resources.

Storage and Content Delivery Services

1. Amazon EBS: Amazon Elastic Block Storage is designed for Amazon EC2. It also allows you to maintain your data in a file system even if your EC2 instance is shut down. Besides being easy to use, it’s also a very high-performance block storage service.

2. Amazon EFS: Amazon Elastic File System is a serverless elastic file system. It is a cloud-based file storage service that runs in the AWS public cloud.

3. Amazon S3: Amazon S3 is a storage service that is built to store data from anywhere. Amazon S3 offers Industry-Leading availability, security, and performance at a very low cost. S3 provides object storage through a web service interface.

4. Amazon Glacier: Amazon Glacier is also referring to Amazon Simple Storage Service(S3) Glacier. It’s a storage service with longer retrieval times. This Glacier provides storage for data archiving and backup of cold data. It is a very low-cost service for long time storage and archiving purposes.

5. AWS Snowball: AWS Snowball service uses Secure appliances to transfer the data into and out of the AWS cloud.

6. Amazon Storage Gateway: Amazon Storage Gateway is a hybrid cloud storage service. It gives on-premises access to virtually unlimited cloud storage. It is an interface service that lets you use cloud storage in your environment outside AWS.

7. Amazon CloudFront: It delivers fast and secure Websites. It speeds up the distribution of Static and Dynamic Content such as HTML, CSS, Javascript ..and image files.

Database Services

1. RDS: Relational Database Service(RDS) is a service that allows you to create a relational database instance in the cloud. RDS mainly manages to perform backups, handle failover, and also maintain the database software.

2. Amazon DynamoDB: It is a NoSQL provided by Amazon. It is similar to MongoDB. It is designed to run high-performance applications. DynamoDB offers built-in security for the application, continuous backups, automated multi-region replication, and in-memory caching.

3. Amazon ElastiCache: This is an in-memory caching solution. By building a caching layer between your database and your application, you can improve performance or redirect traffic from your primary databases.

4. Amazon Redshift: Redshift is a data warehouse service. It can scale up to a petabyte-scale of data. Warehousing solutions are used for analytical needs. Redshift is used to perform large-scale database migrations.

Networking Services

1. Amazon VPC: It stands for Virtual Private Cloud. VPC helps you to build a private virtual cloud within AWS. This means that you can select the IP address in the range of your choice within the AWS. You can launch EC2 instances in your VPC, since a VPC is isolated from another virtual network in the cloud.

2. AWS Direct Connect: It is like setting up your private connection with AWS. This service provides an alternative to the internet to connect the AWS. By using this Direct Connect, you will be able to access the data (that was previously transported over the internet) via a private connection between your facility and AWS.

3. Amazon Route 53: Route 53 is a DNS (Domain Name System) service where DNS is an important component for any Application. It is a cost-effective way to route end users to internet applications. It translates names into numeric IP addresses. Like from www.example.com to 192.0.

Management Tools

1. Amazon CloudWatch: Cloud Watch is a default monitoring service available on amazon. It is a metrics Repository. An AWS service like EC2 puts the metrics into the Repository, and you can retrieve the statistics based on these metrics.

 2. AWS CloudTrail: Everything in the AWS is an API call. If you want to track changes to your Account, CloudTrail is an API logging service.

3. AWS Trusted Advisor: It provides the recommendations that help you follow the AWS best practices. It draws the best practices that are learned from serving hundreds of AWS customers.

4. AWS CloudFormation: Cloud formation is the mother of automation services in AWS. It gives an easy way to create a collection of related AWS and third-party resources and manage them in an orderly and predictable fashion.

5. AWS OpsWorks: It is a Configuration management service that helps you configure applications by using Puppet or Chef. Puppet and Chef are automation platforms that allow you to use code to automate the configurations of your servers.

Security and Identity

1. AWS Identity Access Management (IAM): IAM is authentication and authorizing service where you have to define users and manage their permissions.

2. AWS Key Management Service (KMS):  KMS is used to manage the encryption keys, and those keys are used for encryption and decryption services.

Application Services

1. Amazon SES: SES refers to a Simple Email Service. Instead of using your email solution, you can directly use this service. Nowadays, we see many marketing messages in the mail. This can be done using SES.

2. Amazon SNS: SNS refers to a Simple Notification Service that manages messaging services for both application to application; and application to person communication.

3. Amazing SQS: Simple Queue Service is a message queuing service. It will decouple and scale microservices, Distributed Systems, and serverless applications.

4. Amazon SWF: SWF refers to Simple Workflow Service. As workers are ready, the system assigns them tasks and tracks their progress, including completion details.

Developer Tools

1. CodeCommit: CodeCommit is the version control service provided by AWS.

2. Code Deploy: Code Deploy is the deployment service that automates your application deployments.

3. CodeBuild: It is the fully managed continuous integration service that would compile, run and test your source code.

4. Code Pipeline: It builds, tests, and deploys your application according to the defined workflow every time there is a code change. It enables to model, visualize and automate the steps required to release software.

Conclusion

In this article, we have understood:

–>AWS, its benefits, AWS regions.

–>And how to select them wisely.

–> Also, we have looked into Availability Zones and availability.

–> How to calculate the availability, and finally, we have seen Edge Locations and Latency.

–> We have seen step-by-step guidance to create a free tier AWS Free Tier account.

–> We have seen the Services offered by Amazon Web Services.

–> We have understood the Use cases for all the services.

Hope you guys found it useful.

Connect with me on LinkedIn: https://www.linkedin.com/in/amrutha-k-6335231a6vl/

Head on to our blog for the latest articles.

Thank you!

The media shown in this article is not owned by Analytics Vidhya and are used at the Author’s discretion. 

Amrutha K 29 Mar 2022

Frequently Asked Questions

Lorem ipsum dolor sit amet, consectetur adipiscing elit,

Responses From Readers

Clear