AWS Academy

Piumi Adikaram
Piyumi Adikaram
Published in
6 min readMar 3, 2021
AWS

Amazon Web Services(AWS) is an Amazon.com subsidiary that offers cloud-computing services at very affordable rates, therefore making its customer base strong from small-scale companies.

What is Cloud Computing?

It is the use of remote servers on the internet to store, manage and process data rather than a local server or personal computer.

There are basically 3 categories in cloud computing:

  • SaaS (Software as a Service)

It allows companies to use software without having to purchase them, which reduces the expenditure of the company drastically, since they are already installed on the cloud server they can be quickly deployed and therefore saves time.

  • PaaS (Platform as a Service)

It allows developers to build applications, collaborate on projects without having to purchase or maintain infrastructure.

  • IaaS (Infrastructure as a Service)

It allows companies to rent servers, storage space, etc. from a cloud provider.

This figure represent the SaaS vs PaaS vs IaaS feature regarding AWS
Cloud Service Models

Now, let’s move ahead in this AWS Tutorial and explore the different domains in which AWS offer services:

  • Compute
    It is used to process data on the cloud by making use of powerful processors which serve multiple instances at a time.
  • Storage and Content Delivery
    The storage as the name suggests is used to store data in the cloud, this data can be stored anywhere but content delivery, on the other hand, is used to cache data nearer to the user so as to provide low latency.
  • Database
    The database domain is used to provide reliable relational and non-relational database instances managed by AWS.
  • Networking
    It includes services that provide a variety of networking features such as security, faster access, etc.
  • Management Tools
    It includes services that can be used to manage and monitor your AWS instances.
  • Security and Identity
    It includes services for user authentication or limiting access to a certain set of audiences on your AWS resources.
  • Application Services
    It includes simple services like notifications, emailing, and queuing.

To include every customer need under the sun, Amazon has further categorized services under each domain. Let’s discuss each one of them.

Note − In the above diagram S3 stands for Simple Storage Service. It allows the users to store and retrieve various types of data using API calls. It doesn’t contain any computing element. We will discuss this topic in detail in AWS products section.

This is the basic structure of AWS EC2, where EC2 stands for Elastic Compute Cloud. EC2 allows users to use virtual machines of different configurations as per their requirements. It allows various configuration options, mapping of individual servers, various pricing options, etc. We will discuss these in detail in the AWS Products section. Following is the diagrammatic representation of the architecture.

Load Balancing

Load balancing simply means to hardware or software load over web servers, that improver’s the efficiency of the server as well as the application. Following is the diagrammatic representation of AWS architecture with load balancing.

The hardware load balancer is a very common network appliance used in traditional web application architectures.

AWS provides the Elastic Load Balancing service, it distributes the traffic to EC2 instances across multiple available sources and dynamic addition and removal of Amazon EC2 host from the load-balancing rotation.

Elastic Load Balancing can dynamically grow and shrink the load-balancing capacity to adjust to traffic demands and also support sticky sessions to address more advanced routing needs.

Amazon Cloud-front

It is responsible for content delivery, i.e. used to deliver the website. It may contain dynamic, static, and streaming content using a global network of edge locations. Requests for content at the user’s end are automatically routed to the nearest edge location, which improves the performance.

Amazon Cloud-front is optimized to work with other Amazon Web Services, like Amazon S3 and Amazon EC2. It also works fine with any non-AWS origin server and stores the original files in a similar manner.

In Amazon Web Services, there are no contracts or monthly commitments. We pay only for as much or as little content as we deliver through the service.

Elastic Load Balancer

It is used to spread the traffic to web servers, which improves performance. AWS provides the Elastic Load Balancing service, in which traffic is distributed to EC2 instances over multiple availability zones, and dynamic addition and removal of Amazon EC2 host from the load-balancing rotation.

Elastic Load Balancing can dynamically grow and shrink the load-balancing capacity as per the traffic conditions.

Security Management

Amazon’s Elastic Compute Cloud (EC2) provides a feature called security groups, which is similar to an inbound network firewall, in which we have to specify the protocols, ports, and source IP ranges that are allowed to reach your EC2 instances.

Each EC2 instance can be assigned one or more security groups, each of which routes the appropriate traffic to each instance. Security groups can be configured using specific subnets or IP addresses which limits access to EC2 instances.

Elastic Caches

Amazon Elastic Cache is a web service that manages the memory cache in the cloud. In memory management, the cache has a very important role and helps to reduce the load on the services, improves the performance and scalability on the database tier by caching frequently used information.

Amazon RDS

Amazon RDS (Relational Database Service) provides similar access as that of MySQL, Oracle, or Microsoft SQL Server database engine. The same queries, applications, and tools can be used with Amazon RDS.

It automatically patches the database software and manages backups as per the user’s instruction. It also supports point-in-time recovery. There are no up-front investments required, and we pay only for the resources we use.

Hosting RDMS on EC2 Instances

Amazon RDS allows users to install RDBMS (Relational Database Management System) of their choice like MySQL, Oracle, SQL Server, DB2, etc. on an EC2 instance and can manage as required.

Amazon EC2 uses Amazon EBS (Elastic Block Storage) similar to network-attached storage. All data and logs running on EC2 instances should be placed on Amazon EBS volumes, which will be available even if the database host fails.

Amazon EBS volumes automatically provide redundancy within the availability zone, which increases the availability of simple disks. Further, if the volume is not sufficient for our database's needs, the volume can be added to increase the performance of our database.

Using Amazon RDS, the service provider manages the storage and we only focus on managing the data.

Storage & Backups

AWS cloud provides various options for storing, accessing, and backing up web application data and assets. The Amazon S3 (Simple Storage Service) provides a simple web-services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web.

Amazon S3 stores data as objects within resources called buckets. The user can store as many objects as per requirement within the bucket and can read, write and delete objects from the bucket.

Amazon EBS is effective for data that needs to be accessed as block storage and requires persistence beyond the life of the running instance, such as database partitions and application logs.

Amazon EBS volumes can be maximized up to 1 TB, and these volumes can be striped for larger volumes and increased performance. Provisioned IOPS volumes are designed to meet the needs of database workloads that are sensitive to storage performance and consistency.

Amazon EBS currently supports up to 1,000 IOPS per volume. We can stripe multiple volumes together to deliver thousands of IOPS per instance to an application.

Auto Scaling

The difference between AWS cloud architecture and the traditional hosting model is that AWS can dynamically scale the web application fleet on-demand to handle changes in traffic.

In the traditional hosting model, traffic forecasting models are generally used to provision hosts ahead of projected traffic. In AWS, instances can be provisioned on the fly according to a set of triggers for scaling the fleet out and back in. Amazon AutoScaling can create capacity groups of servers that can grow or shrink on demand.

--

--