Introduction to Amazon Web Services

Amazon Web Services (AWS) a subsidiary of Amazon.com has invested billions of dollars in IT resources that are distributed across the globe. These resources are shared among all the AWS account holders across the globe. These account themselves are completely isolated from each other. AWS provides on-demand IT resources to its account holders on a pay-as-you-go pricing model with no upfront cost. Enterprises use AWS to reduce capital expenditure of building its own private IT infrastructure (which can be expensive depending upon the size of the enterprise and nature of the customer-base). All the maintenance cost is also bared by the AWS that saves a fortune for the enterprises. 

AWS Global Infrastructure

The AWS global infrastructure is massive and is divided into geographical regions. The geographical regions are then divided into separate availability zones. While selecting the geographical regions for AWS three factors come into play 

  • Optimizing Latency 
  • Reducing cost 
  • Government regulations (Some services are not available for some regions) 

Each region is divided into at least two availability zones that are physically isolated from each other. This provides business continuity for the infrastructure as in a distributed system if one zone fails to function the infrastructure in other availability zones remain operational. The largest region North-Virginia (US-East) has six availability zones. These availability zones are connected by high-speed fiber-optic networking. 

There are over 100 edge locations distributed all over the globe that are used for the CloudFront content delivery network. Cloudfront can cache frequently used content such as images and videos at edge locations and distribute it to edge locations across the globe for high-speed delivery for end-users. It also protects from DDOS attacks

AWS Management Console

The AWS management console is a web-based interface to access AWS. It requires an AWS account and also has a smartphone application for the same purpose. Cost monitoring is also done through the console. 



AWS resources can also be accessed through various Software Development Kits (SDKs). This allows the developers to create applications as AWS as its backend. There are SDKs for all the major languages(eg: JavaScript, Python, Node.js, .Net, PHP, Ruby, Go, C++). There are mobile SDKs for Android, iOS, React Native, Unity, and Xamarin. AWS can also be accessed by making Http calls using the AWS-API. AWS also provides a Command Line Interface (CLI) for remotely accessing the AWS and can implement scripts to automate a lot of the processes. 

AWS Cloud Computing Models

There are three cloud computing models available on AWS. 

1. Infrastructure as a Service (IaaS): It is the basic building block of cloud IT. It generally provides access to data storage space, networking features, and computer hardware(virtual or on dedicated hardware). It is highly flexible and gives management controls over the IT resources to the developer. For example, VPC, EC2, EBS 

2. Platform as a Service (PaaS): This is a type of service where AWS manages the underlying infrastructure (usually operating system and hardware). This helps the developer to be more efficient as they don’t have to worry about undifferentiated heavy lifting required for running the applications such as capacity planning, software maintenance, resource procurement, patching, etc and focus more on deployment and management of the applications. For example, RDS, EMR, ElasticSearch 

3. Software as a Service(SaaS): It is a complete product that normally runs on a browser. It mostly refers to end-user applications. It is run and managed by the service provider. The end-user only has to worry about the application of the software suitable to its needs. For example, Saleforce.com, Web-based email, Office 365 

My Personal Notes arrow_drop_up

Developer with a dream

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.