Week 18
Week 18
Week 18
References: Save this link for prep for the certified cloud practitioner and other AWS exams
https://docs.aws.amazon.com/index.html
https://www.interviewbit.com/aws-cheat-sheet/
https://github.com/mohankumarbm/aws-ccp-
certification/blob/master/Ben%20Piper_%20David%20Clinton%20-
%20Aws%20Certified%20Cloud%20Practitioner%20Study%20Guide_%20Clf-C01%20Exam-
Sybex%20(2019).pdf
• AWS console –The AWS console is a web based GUI that provides the ability to interact with the
services available within AWS. For example, I could use the console to launch an EC2 instance (i.e. a
virtual machine), view information about that instance such as the IP address that has been assigned to
that instance and then terminate that instance once I am finished with it.
• AWS CLI – The AWS CLI allows you to manage your AWS environment using a terminal rather
than a graphical interface. This is not only quicker than clicking around a GUI, but it also means that
you can perform a level of automation by scripting CLI commands. For example, you could create a
script that contains all the commands necessary to create an EC2 instance or create a new S3 bucket.
• AWS SDK - AWS provides a number of Software Development Kits (SDKs) that allow you to interact
with the platform through code that you have developed yourself. SDKs are available for all the
major programming languages, including Java, Python, Node.JS and Go.
Compute Services
Compute resources can be thought of as the processing power of any application or system to carry out
computational tasks in a series of instructions.
Amazon Web Services (AWS) provides some compute services for managing workloads which comprise of
hundreds of servers or instances to be used for months and years.
EC2 - Elastic Compute Cloud is one of the most popular and mostly used compute services that AWS provides
for doing computations and processing. EC2 allows you to deploy virtual servers within your AWS
environment. You can think of it as a virtual machine deployed on AWS physical data-centers irrespective of
your local environment.
o Amazon Machine Images (AMI) AMI's are Images or templates for preconfigured EC2 instances allow
you to quickly launch Ec2 servers based on configuration.
o Instance Types Once you select AMI's, you need to select what type of EC2 instance type you are
required to use. AWS provides tons of options divided into Instance type families that offers distinct
performance benefits.
o Instance Purchasing options AWS also provides instance purchasing options for instances through a
variety of different payment plans. They have been designed to help you save cost by selecting the
most appropriate option for your deployment. You can read further about these instances in details
from here.
o User Data During the launch of EC2 instance, there is an option available for which allows you to enter
commands that will during the first boot cycle of the instance. This is a great way to automatically
perform functions you want to to execute at your instance startup.
o Storage As a part of launching ec2 instance, you're asked to select configuration for storage. As storage
is a crucial part for any server we have to provide some number in GB's for persisting the ec2 data.
o Security Security is fundamental part for any AWS deployment services. During launch of EC2, you're
asked to create or attach a security group with your instance. A security group is essentially instance
level firewall for managing inbound and outbound traffic for your EC2.
Quickly deploy and manage applications in the AWS Cloud without worrying about the infrastructure that runs
those applications. AWS Elastic Beanstalk reduces management complexity without restricting choice or
control. You simply upload your application, and AWS Elastic Beanstalk automatically handles the details of
capacity provisioning, load balancing, scaling, and application health monitoring.
AWS Lambda
AWS Lambda is a serverless compute service that permits you to run code without controlling or provisioning
servers. Lambda uses highly available, elastic infrastructure to run your code. It carries out compute resources-
administration tasks, such as automatic scaling and capacity provisioning, operating system and server
maintenance. Lambda can run code for almost any form of backend or application service.
In a serverless model, code needs to be organized into functions. Lambda only runs your functions when
necessary. It scales automatically, varying from several requests a day through to thousands a second. You only
pay for the compute time you use—you won’t be charged when code is not run.
Amazon VPC
o VPC stands for Virtual Private Cloud.
o Amazon Virtual Private Cloud (Amazon VPC) provides a logically isolated area of the AWS cloud
where you can launch AWS resources in a virtual network that you define.
o You have complete control over your virtual networking environment, including a selection of your IP
address range, the creation of subnets, and configuration of route tables and network gateways.
o You can easily customize the network configuration for your Amazon Virtual Private Cloud. For
example, you can create a public-facing subnet for web servers that can access to the internet and can
also place your backend system such as databases or application servers to a private-facing subnet.
o You can provide multiple layers of security, including security groups and network access control lists,
to help control access to Amazon EC2 instances in each subnet.
Amazon Route 53
Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. It is designed
for developers and corporates to route the end users to Internet applications by translating human readable
names like www.mydomain.com, into the numeric IP addresses like 192.0.2.1 that computers use to connect to
each other.
Elasticity – Ability of infrastructure supporting an application to grow and contract based on how much it is
used at a point in time. Elastic Load Balancing (ELB) automatically distributes incoming application traffic
across multiple targets and virtual appliances in one or more Availability Zones (AZs).
ALB - An Application Load Balancer makes routing decisions at the application layer (HTTP/HTTPS), supports
path-based routing, and can route requests to one or more ports on each container instance in your cluster.
NLB - A Network Load Balancer makes routing decisions at the transport layer (TCP/SSL). It can handle
millions of requests per second. After the load balancer receives a connection, it selects a target from the target
group for the default rule using a flow hash routing algorithm.
CLB - A Classic Load Balancer makes routing decisions at either the transport layer (TCP/SSL) or the
application layer (HTTP/HTTPS). Classic Load Balancers currently require a fixed relationship between the
load balancer port and the container instance port.
AWS CloudFront is a globally-distributed network offered by Amazon Web Services, which securely transfers
content such as software, SDKs, videos, etc., to the clients, with high transfer speed.
Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain,
monitor, and secure APIs at any scale. APIs act as the "front door" for applications to access data, business
logic, or functionality from your backend services.
Amazon S3 Amazon S3 (Simple Storage Service) provides object storage, which is built for storing and
recovering any amount of information or data from anywhere over the internet. It provides this storage through a
web services interface.
Amazon Elastic Block Store (EBS) is a block storage system used to store persistent data. Amazon EBS is
suitable for EC2 instances by providing highly available block level storage volumes. It has three types of
volume, i.e. General Purpose (SSD), Provisioned IOPS (SSD), and Magnetic. These three volume types differ in
performance, characteristics, and cost.
o EBS General Purpose (SSD) This volume type is suitable for small and medium workloads
like Root disk EC2 volumes, small and medium database workloads, frequently logs
accessing workloads, etc.
o Provisioned IOPS (SSD) This volume type is suitable for the most demanding I/O intensive,
transactional workloads and large relational, EMR and Hadoop workloads, etc.
o EBS Magnetic Volumes It was formerly known as standard volumes. This volume type is
suitable for ideal workloads like infrequently accessing data, i.e. data backups for recovery,
logs storage, etc
Elastic File Services An EFS is a Network File System (NFS) that organizes data in a logical file hierarchy.
Data is stored in a path-based system, where data files are organized in folders and sub-folders.
Amazon Relational Database Services (RDS) Amazon RDS facilitates the deployment and
maintenance of relational databases in the cloud. A cloud administrator uses Amazon RDS to set up,
operate, manage and scale a relational instance of a cloud database. Amazon RDS is not itself a
database; it is a service used to manage relational databases. Some platforms are MySQL, MariaDB,
Amazon Aurora.
Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable
performance with seamless scalability. You can use Amazon DynamoDB to create a database table
that can store and retrieve any amount of data, and serve any level of request traffic. Amazon
DynamoDB automatically spreads the data and traffic for the table over a sufficient number of servers
to handle the request capacity specified by the customer and the amount of data stored, while
maintaining consistent and fast performance.
Amazon ElastiCache is a web service that makes it easy to deploy, operate, and scale an in-memory data store
or cache in the cloud. The service improves the performance of web applications by allowing you to retrieve
information from fast, managed, in-memory data stores, instead of relying entirely on slower disk-based
databases.
AWS messaging services enable different software systems and end devices–often using different
programming languages, and on different platforms–to communicate and exchange information. You can use
AWS messaging services to send and receive data in your cloud applications. The underlying infrastructure is
automatically provisioned for high availability and message durability to support the reliability of your
applications.
Amazon Simple Notification Service (Amazon SNS) is a managed service that provides message delivery
from publishers to subscribers (also known as producers and consumers). Publishers communicate
asynchronously with subscribers by sending messages to a topic, which is a logical access point and
communication channel. Clients can subscribe to the SNS topic and receive published messages using a
supported endpoint type, such as Amazon Kinesis Data Firehose, Amazon SQS, AWS Lambda, HTTP, email,
mobile push notifications, and mobile text messages (SMS).
Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to
decouple and scale microservices, distributed systems, and serverless applications. SQS eliminates the
complexity and overhead associated with managing and operating message-oriented middleware, and empowers
developers to focus on differentiating work. Using SQS, you can send, store, and receive messages between
software components at any volume, without losing messages or requiring other services to be available.
AWS CloudTrail enables auditing, security monitoring, and operational troubleshooting. CloudTrail
records user activity and API calls across AWS services as events. CloudTrail events help you answer
the questions of "who did what, where, and when?"
Amazon CloudWatch is a monitoring and management service that provides data and actionable
insights for AWS, hybrid, and on-premises applications and infrastructure resources. You can collect
and access all your performance and operational data in the form of logs and metrics from a single
platform rather than monitoring them in silos (server, network, or database). CloudWatch enables you
to monitor your complete stack (applications, infrastructure, and services) and use alarms, logs, and
events data to take automated actions and reduce mean time to resolution (MTTR). This frees up
important resources and allows you to focus on building applications and business value.
AWS Config records details of changes to your AWS resources to provide you with a configuration
history. You can use the AWS Management Console, API, or CLI to obtain details of what a resource’s
configuration looked like at any point in the past. AWS Config will also automatically deliver a
configuration history file to the Amazon S3 bucket you specify.
AWS CloudFormation it provides you with a simple way to create and manage a collection of AWS
resources by provisioning and updating them in an orderly and predictable way. In simple terms, it
allows you to create and model your infrastructure and applications without having to perform actions
manually. AWS CloudFormation enables you to manage your complete infrastructure or AWS
resources in a text file, or template. A collection of AWS resources is called a stack. AWS resources
can be created or updated by using a stack.