0% found this document useful (0 votes)
11 views90 pages

AcademyCloudFoundations Module 06

Module 6 of the AWS Academy Cloud Foundations course focuses on AWS compute services, including Amazon EC2, AWS Lambda, and AWS Elastic Beanstalk. It covers the objectives of understanding various compute services, performing basic functions in EC2, and optimizing costs. The module includes hands-on activities, demonstrations, and knowledge checks to reinforce learning about launching and managing EC2 instances and other compute services.

Uploaded by

ayah.h84
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views90 pages

AcademyCloudFoundations Module 06

Module 6 of the AWS Academy Cloud Foundations course focuses on AWS compute services, including Amazon EC2, AWS Lambda, and AWS Elastic Beanstalk. It covers the objectives of understanding various compute services, performing basic functions in EC2, and optimizing costs. The module includes hands-on activities, demonstrations, and knowledge checks to reinforce learning about launching and managing EC2 instances and other compute services.

Uploaded by

ayah.h84
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 90

Module 6: Compute

AWS Academy Cloud Foundations

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Module overview
Topics Activities
• Compute services overview • Amazon EC2 versus Managed Service
• Amazon EC2 • Hands-on with AWS Lambda
• Amazon EC2 cost optimization • Hands-on with AWS Elastic Beanstalk
• Container services
• Introduction to AWS Lambda Demo
• Introduction to AWS Elastic Beanstalk • Recorded demonstration of Amazon EC2

Lab
• Introduction to Amazon EC2

Knowledge check

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 2
Module objectives
After completing this module, you should be able to:
• Provide an overview of different AWS compute services in the cloud
• Demonstrate why to use Amazon Elastic Compute Cloud (Amazon EC2)
• Identify the functionality in the EC2 console
• Perform basic functions in Amazon EC2 to build a virtual computing
environment
• Identify Amazon EC2 cost optimization elements
• Demonstrate when to use AWS Elastic Beanstalk
• Demonstrate when to use AWS Lambda
• Identify how to run containerized applications in a cluster of managed
servers
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 3
Section 1: Compute
services overview
Module 6: Compute

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserve
AWS compute services

n Web Services (AWS) offers many compute services. This module will discuss the highlighted s

Amazon EC2 Amazon EC2 Amazon Elastic Amazon Elastic VMware Cloud
Auto Scaling Container Container on AWS
Registry (Amazon Service (Amazon
ECR) ECS)

AWS Elastic AWS Lambda Amazon Elastic Amazon AWS Batch


Beanstalk Kubernetes Lightsail
Service (Amazon
EKS)

AWS Fargate AWS AWS Serverless


Outposts Application
Repository
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 5
Categorizing compute services
Services Key Concepts Characteristics Ease of Use
• Amazon EC2 • Infrastructure as a service • Provision virtual machines A familiar concept to
(IaaS) that you can manage as you many IT professionals.
• Instance-based choose
• Virtual machines
• AWS • Serverless computing • Write and deploy code that A relatively new concept
Lambda • Function-based runs on a schedule or that for many IT staff
• Low-cost can be triggered by events members, but easy to use
• Use when possible (architect after you learn how.
for the cloud)
• Amazon ECS • Container-based • Spin up and run jobs more AWS Fargate reduces
• Amazon EKS computing quickly administrative overhead,
• AWS Fargate • Instance-based but you can use options
• Amazon ECR that give you more
control.
• AWS Elastic • Platform as a service (PaaS) • Focus on your code (building Fast and easy to get
Beanstalk • For web applications your application) started.
• Can easily tie into other
services—databases, Domain
Name System (DNS), etc.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 6
Choosing the optimal compute service
• The optimal compute service or services that you use will
depend on your use case
• Some aspects to consider –
• What is your application design?
• What are your usage patterns?
• Which configuration settings will you want to manage?
• Selecting the wrong compute solution for an architecture can
lead to lower performance efficiency
• A good starting place—Understand the available compute options

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 7
Section 2: Amazon EC2
Module 6: Compute

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserve
Amazon Elastic Compute Cloud (Amazon EC2)
Example uses of
Amazon EC2
instances
 Application
server
 Web server
 Database server
 Game server
 Mail server
 Media server Amazon EC2 instances
Photo by Taylor Vick on Unsplash
 Catalog server
 File server
On-premises servers
 Computing
server
 Proxy server
Photo by panumas nikhomkhai from Pexels

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 9
Amazon EC2 overview
• Amazon Elastic Compute Cloud (Amazon
EC2)
• Provides virtual machines—referred to as EC2
instances—in the cloud.
• Gives you full control over the guest operating
system (Windows or Linux) on each instance.
• You can launch instances of any size into an
Availability Zone anywhere in the world.
Amazon • Launch instances from Amazon Machine Images
EC2 (AMIs).
• Launch instances with a few clicks or a line of code,
and they are ready in minutes.
• You can control traffic to and from instances.
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 10
Launching an Amazon EC2 instance

This section of the module


walks through nine key
decisions to make when
you create an EC2 instance
by using the AWS
Management Console
Launch Instance Wizard.

 Along the way, essential


Amazon EC2 concepts
will be explored.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 11
1. Select an AMI

Choices made using Launch


instance
the
AMI Instanc
Launch Instance e
Wizard:
• Amazon Machine Image (AMI)
1. AMI • Is a template that is used to create an EC2 instance (which is a
2. Instance Type virtual machine, or VM, that runs in the AWS Cloud)
3. Network settings • Contains a Windows or Linux operating system
4. IAM role
• Often also has some software pre-installed
5. User data
6. Storage options • AMI choices:
7. Tags
• Quick Start – Linux and Windows AMIs that are provided by AWS
8. Security group
9. Key pair • My AMIs – Any AMIs that you created
• AWS Marketplace – Pre-configured templates from third parties
• Community AMIs – AMIs shared by others; use at your own risk
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 12
Creating a new AMI: Example
AWS Cloud
AMI
details Region A
Connect to the
instance and
manually modify it or
Quick
run a script that
Start or
Launch modifies the instance Capture as
other
(for example, a new AMI
existing Starter an
AMI instance upgrade installed
AMI 1 2 3
Unmodifie software) Modifie New
d d AMI
Instance Instanc
(Optional) MyAMI e
Import
a virtual Region B
machine Copy the AMI to any other Regions
where you want to use it
New 4
AMI

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 13
2. Select an instance type
• Consider your use case
Choices made using • How will the EC2 instance you create be used?
the
Launch Instance • The instance type that you choose determines –
Wizard: • Memory (RAM)
• Processing power (CPU)
1. AMI
• Disk space and disk type (Storage)
2. Instance Type
3. Network settings • Network performance
4. IAM role • Instance type categories –
5. User data
• General purpose
6. Storage options
7. Tags • Compute optimized
8. Security group • Memory optimized
9. Key pair • Storage optimized
• Accelerated computing

• Instance types offer family, generation, and size


© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 14
EC2 instance type naming and sizes

Example instance sizes


Instance vCP Memory
Instance type naming Name U (GB)
Storage

t3.nano 2 0.5 EBS-Only


• Example: t3.large
t3.micro 2 1 EBS-Only
• T is the family name
• 3 is the generation number t3.small 2 2 EBS-Only

• Large is the size


t3.mediu 2 4 EBS-Only
m
t3.large 2 8 EBS-Only

t3.xlarge 4 16 EBS-Only

t3.2xlarge 8 32 EBS-Only

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 15
Select instance type: Based on use case

General Compute Memory Accelerated Storage


Purpose Optimized Optimized Computing Optimized

Instance a1, m4, m5, r4, r5, f1, g3, g4,


c4, c5 d2, h1, i3
Types t2, t3 x1, z1 p2, p3

High
In-memory Machine Distributed
Use Case Broad performanc
databases learning file systems
e

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 16
Instance types: Networking features
• The network bandwidth (Gbps) varies by instance type.
• See Amazon EC2 Instance Types to compare.
• To maximize networking and bandwidth performance of your instance
type:
• If you have interdependent instances, launch them into a cluster placement
group.
• Enable enhanced networking.
• Enhanced networking types are supported on most instance types.
• See the Networking and Storage Features documentation for details.
• Enhanced networking types –
• Elastic Network Adapter (ENA): Supports network speeds of up to 100 Gbps.
• Intel 82599 Virtual Function interface: Supports network speeds of up to 10
Gbps. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 17
3. Specify network settings
• Where should the instance be deployed?
Choices made by • Identify the VPC and optionally the subnet
using the
Launch Instance • Should a public IP address be automatically assigned?
Wizard: • To make it internet-accessible

1. AMI
AWS Cloud
2. Instance Type
Region
3. Network settings
Availability Zone 1 Availability Zone
4. IAM role 2
5. User data VPC
Public
6. Storage options Example: subnet
7. Tags specify to
8. Security group deploy the Instance
instance here
9. Key pair Private
subnet

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 18
4. Attach IAM role (optional)
• Will software on the EC2 instance need to interact with
Choices made by other AWS services?
using the • If yes, attach an appropriate IAM Role.
Launch Instance
Wizard: • An AWS Identity and Access Management (IAM) role that
is attached to an EC2 instance is kept in an instance
1. AMI profile.
2. Instance Type
• You are not restricted to attaching a role only at instance
3. Network settings
4. IAM role
launch.
5. User data • You can also attach a role to an instance that already
6. Storage options exists.
Example: Application
7. Tags attached to on instance
8. Security group can access
Role that grants
9. Key pair S3 bucket
Amazon Simple Instance
with
Storage Service
objects
(Amazon S3) bucket
access permissions
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 19
5. User data script (optional)

Choices made by using User


the data
Launch Instance #!/bin/bash
Wizard: yum update –y
yum install -y wget
1. AMI AMI Running
2. Instance Type EC2
3. Network settings • Optionally specify a user data script atinstance
instance launch
4. IAM role
5. User data
• Use user data scripts to customize the runtime
6. Storage options environment of your instance
7. Tags • Script runs the first time the instance starts
8. Security group
9. Key pair
• Can be used strategically
• For example, reduce the number of custom AMIs that you build
and maintain

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 20
6. Specify storage
• Configure the root volume
Choices made by
using the • Where the guest operating system is
Launch Instance installed
Wizard:
• Attach additional storage volumes
1. AMI (optional)
2. Instance Type
• AMI might already include more than one
3. Network settings
volume
4. IAM role
5. User data • For each volume, specify:
6. Storage options
7. Tags
• The size of the disk (in GB)
8. Security group • The volume type
9. Key pair
• Different types of solid state drives (SSDs)
and hard disk drives (HDDs) are available
• If the volume will be deleted when the
instance
© 2022, Amazon Web isorterminated
Services, Inc. its affiliates. All rights reserved. 21
Amazon EC2 storage options
• Amazon Elastic Block Store (Amazon EBS) –
• Durable, block-level storage volumes.
• You can stop the instance and start it again, and the data will still be there.
• Amazon EC2 Instance Store –
• Ephemeral storage is provided on disks that are attached to the host computer
where the EC2 instance is running.
• If the instance stops, data stored here is deleted.
• Other options for storage (not for the root volume) –
• Mount an Amazon Elastic File System (Amazon EFS) file system.
• Connect to Amazon Simple Storage Service (Amazon S3).

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 22
Example storage options
• Instance 1
Host computer
characteristics – Amazon Elastic
Block Store
• It has an Amazon EBS root (Amazon EBS) Instance
volume type for the operating Store
system. Attached as Attached as
Root volume Storage volume
• What will happen if the Ephemeral
20-GB Instance 1
instance is stopped and then volume volume 1
started again? Attached as
Storage volume
Attached as
500-GB Root volume
• Instance 2 volume
Instance 2 Ephemeral
characteristics – volume 2

• It has an Instance Store root


volume type for the operating
system.
• What will happen if the
instance stops (because© of
2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 23
7. Add tags
• A tag is a label that you can assign to an AWS
Choices made by resource.
using the
Launch Instance • Consists of a key and an optional value.
Wizard:
• Tagging is how you can attach metadata to an
1. AMI EC2 instance.
2. Instance Type
3. Network settings • Potential benefits of tagging—Filtering,
4. IAM role automation, cost allocation, and access control.
5. User data
6. Storage options
7. Tags Example:
8. Security group
9. Key pair

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 24
8. Security group settings
• A security group is a set of firewall rules that
Choices made by using control traffic to the instance.
the
• It exists outside of the instance's guest OS.
Launch Instance
Wizard: • Create rules that specify the source and which
1. AMI
ports that network communications can use.
2. Instance Type • Specify the port number and the protocol, such as
3. Network settings Transmission Control Protocol (TCP), User Datagram
4. IAM role Protocol (UDP), or Internet Control Message Protocol
5. User data (ICMP).
6. Storage options
7. Tags
• Specify the source (for example, an IP address or
8. Security group another security group) that is allowed to use the rule.
9. Key pair
Example rule:

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 25
9. Identify or create the key pair
• At instance launch, you specify an
Choices made by existing key pair or create a new key pair.
using the
Launch Instance • A key pair consists of –
Wizard: mykey.pem
• A public key that AWS stores.
1. AMI • A private key file that you store.
2. Instance Type
3. Network settings • It enables secure connections to the
4. IAM role instance.
5. User data
6. Storage options • For Windows AMIs –
7. Tags • Use the private key to obtain the
8. Security group
administrator password that you need to log in
9. Key pair
to your instance.
• For Linux AMIs –
• Use the private key to use SSH to securely
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 26
Amazon EC2 console view of a running EC2 instance

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 27
Another option: Launch an EC2 instance with the AWS
Command Line Interface
• EC2 instances can also be
created programmatically.
AWS Command
Line Interface
(AWS CLI)
• This example shows how simple
Example command:
the command can be.
aws ec2 run-instances \
• This command assumes that the key pair
--image-id ami-1a2b3c4d \
and security group already exist.
--count 1 \
--instance-type c3.large \
• More options could be specified. See the --key-name MyKeyPair \
AWS CLI Command Reference for details. --security-groups MySecurityGroup \
--region us-east-1

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 28
Amazon EC2 instance lifecycle

Only instances backed by Amazon


EBS
Launc Start
pending
h
AMI

Reboot Stop
rebooting running stopping stopped
Stop-
Hibernate
Termina
te
shutting-
down

Terminate
terminated

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 29
Consider using an Elastic IP address
• Rebooting an instance will not • If you require a persistent public
change any IP addresses or DNS IP address –
hostnames. • Associate an Elastic IP address with
the instance.

• When an instance is stopped


and then started again – • Elastic IP address characteristics
• The public IPv4 address and external –
DNS hostname will change. • Can be associated with instances in
the Region as needed.
• The private IPv4 address and internal
DNS hostname do not change. • Remains allocated to your account
until you choose to release it.
Elastic IP
Address

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 31
EC2 instance metadata
• Instance metadata is data about your instance.
• While you are connected to the instance, you can view it –
• In a browser: http://169.254.169.254/latest/meta-data/
• In a terminal window: curl http://169.254.169.254/latest/meta-data/

• Example retrievable values –


• Public IP address, private IP address, public hostname, instance ID, security groups,
Region, Availability Zone.
• Any user data specified at instance launch can also be accessed at:
http://169.254.169.254/latest/user-data/

• It can be used to configure or manage a running instance.


• For example, author a configuration script that reads the metadata and uses it to
configure applications or OS settings.
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 32
Amazon CloudWatch for monitoring
• Use Amazon CloudWatch to monitor EC2
instances
Amazon Instance with
• Provides near-real-time metrics CloudWatch CloudWatch
• Provides charts in the Amazon EC2 console
Monitoring tab that you can view
• Maintains 15 months of historical data

• Basic monitoring
• Default, no additional cost
• Metric data sent to CloudWatch every 5 minutes

• Detailed monitoring
• Fixed monthly rate for seven pre-selected metrics
• Metric data delivered every 1 minute
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 33
• Amazon EC2 enables you to run Windows and Linux
Section 2 key virtual machines in the cloud.
takeaways • You launch EC2 instances from an AMI template into
a VPC in your account.
• You can choose from many instance types. Each
instance type offers different combinations of CPU,
RAM, storage, and networking capabilities.
• You can configure security groups to control access
to instances (specify allowed ports and source).
• User data enables you to specify a script to run the
first time that an instance launches.
• Only instances that are backed by Amazon EBS
can be stopped.
• You can use Amazon CloudWatch to capture and
review metrics on EC2 instances.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 34
Recorded
Amazon EC2
demonstration

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 35
Lab 3:
Introduction to
Amazon EC2

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 36
Lab 3 scenario
In this lab, you will launch and configure your first virtual
machine that runs on Amazon EC2.
AWS Cloud
Region
Availability
Zone 1
Lab VPC
Public
subnet

Web server
instance

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 37
Lab 3: Tasks

• Task 1 – Launch Your Amazon EC2 Instance

• Task 2 – Monitor Your Instance

• Task 3 – Update Your Security Group and Access the Web Server

• Task 4 – Resize Your Instance: Instance Type and EBS Volume

• Task 5 – Explore EC2 Limits

• Task 6 – Test Termination Protection

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 38
Lab 3: Final product
By the end of the lab, you will Amazon
have: EC2

1. Launched an instance that is


configured as a web server VPC
AMI
2. Viewed the instance system log Security
group
3. Reconfigured a security group
t2.micro t2.small
4. Modified the instance type and root instance instance
volume size

Amazon
Elastic Block
Store
(Amazon
EBS) 8-GB 10-GB root
root volume
volume

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 39
~ 35 minutes

Begin Lab 3:
Introduction to Amazon
EC2

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 40
Lab debrief:
Key
takeaways

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 41
Activity: Amazon
EC2

Photo by Pixabay from


Pexels.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 42
Activity: Gather information

Amazon Amazon RDS


EC2

AWS Cloud
Availability Zone Availability Zone 2
MS SQL 1Server MS SQL Server
primary DB secondary
instance
Always-on DB instance
mirroring

Volume Volume Volume Volume


replica replica

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 43
Activity: Check your understanding
1. Between Amazon EC2 or Amazon RDS, which provides a managed service? What does
managed service mean?
• ANSWER: Amazon RDS provides a managed service. Amazon RDS handles provisioning, installation and
patching, automated backups, restoring snapshots from points in time, high availability, and monitoring.
2. Name at least one advantage of deploying Microsoft SQL Server on Amazon EC2 instead of
Amazon RDS.
• ANSWER: Amazon EC2 offers complete control over every configuration, the OS, and the software
stack.
3. What advantage does the Quick Start provide over a manual installation on Amazon EC2?
• ANSWER: The Quick Start is a reference architecture with proven best practices built into the design.
4. Which deployment option offers the best approach for all use cases?
• ANSWER: Neither. The correct deployment option depends on your specific needs.
5. Which approach costs more: using Amazon EC2 or using Amazon RDS?
• ANSWER: It depends. Managing the database deployment on Amazon EC2 requires more customer
oversight and time. If time is your priority, then Amazon RDS might be less expensive. If you have in-
house expertise, Amazon EC2 might be more cost-effective.
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 44
Section 3: Amazon EC2 cost
optimization
Module 6: Compute

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserve
Amazon EC2 pricing models
On-Demand Reserved Instances Spot Instances
Instances • Full, partial, or no upfront • Instances run as long as they are
payment for instance you available and your bid is above
• Pay by the hour the Spot Instance price.
reserve.
• No long-term commitments. • They can be interrupted by AWS
• Discount on hourly charge for
with a 2-minute notification.
• Eligible for the AWS Free Tier. that instance.
• Interruption options include
• 1-year or 3-year term. terminated, stopped or
hibernated.
Dedicated Hosts Scheduled • Prices can be significantly less
• A physical server with EC2 Reserved Instances expensive compared to On-
instance capacity fully dedicated Demand Instances
to your use. • Purchase a capacity
reservation that is always • Good choice when you have
available on a recurring flexibility in when your
schedule you specify. applications can run.
Dedicated Instances
• 1-year term.
• Instances that run in a VPC on
Per second
hardware that is dedicated to a billing available for On-Demand Instances, Reserved Instances, and
single customer. Spot Instances that run Amazon Linux or Ubuntu.
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 46
Amazon EC2 pricing models: Benefits

On-Demand
Spot Instances Reserved Instances Dedicated Hosts
Instances
• Low cost and • Large scale, • Predictability • Save money on
flexibility dynamic workload ensures compute licensing costs
capacity is available • Help meet compliance
when needed and regulatory
requirements

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 47
Amazon EC2 pricing models: Use cases

Spiky Workloads Time-Insensitive Steady-State Workloads Highly Sensitive


Workloads Workloads

On-Demand
Spot Instances Reserved Instances Dedicated Hosts
Instances
• Short-term, spiky, or • Applications with flexible • Steady state or • Bring your own license
unpredictable workloads start and end times predictable usage (BYOL)
• Application development • Applications only feasible workloads
• Compliance and
or testing at very low compute • Applications that require regulatory restrictions
prices reserved capacity,
• Users with urgent including disaster • Usage and licensing
computing needs for recovery tracking
large amounts of • Users able to make • Control instance
additional capacity upfront payments to placement
reduce total computing
costs even further
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 48
The four pillars of cost optimization

Cost Optimization

Right
Increase Optimal Optimize
size
elasticity pricing storage
model choices

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 49
Pillar 1: Right size

Provision instances to match the


Pillars:
need

1. Right size
• CPU, memory, storage, and network throughput
2. Increase elasticity
3. Optimal pricing model • Select appropriate instance types for your use
4. Optimize storage choices
Use Amazon CloudWatch metrics
• How idle are instances? When?
• Downsize instances

Best practice: Right size, then


reserve
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 50
Pillar 2: Increase elasticity
Stop or hibernate Amazon EBS-backed
instances that are not actively in use
Pillars: • Example: non-production development or test
1. Right-Size instances

3. Optimal pricing model



2. Increase Elasticity Use automatic scaling to match needs
4. Optimize storage choices based on usage
• Automated and time-based elasticity

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 51
Pillar 3: Optimal pricing model
Leverage the right pricing model for your use
Pillars: case
1. Right-Size
• Consider your usage patterns
2. Increase Elasticity

4. Optimize storage choices



3. Optimal pricing model
Optimize and combine purchase types

Examples:
• Use On-Demand Instance and Spot Instances for
variable workloads

• Use Reserved Instances for predictable workloads

Consider serverless solutions (AWS Lambda)


© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 52
Pillar 4: Optimize storage choices
 Reduce costs while maintaining storage performance and
availability
Pillars:
 Resize EBS volumes
1. Right-Size
2. Increase Elasticity
 Change EBS volume types
3. Optimal pricing model

4. Optimize storage choices  Can you meet performance requirements with less expensive storage?
 Example: Amazon EBS Throughput Optimized HDD (st1) storage
typically costs half as much as the default General Purpose SSD
(gp2) storage option.
 Delete EBS snapshots that are no longer needed

 Identify the most appropriate destination for specific types


of data
 Does the application need the instance to reside on Amazon EBS?
 Amazon S3 storage options with lifecycle policies can reduce costs
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 53
Measure, monitor, and improve
•Cost optimization is an ongoing process.

•Recommendations –
• Define and enforce cost allocation tagging.

• Define metrics, set targets, and review regularly.

• Encourage teams to architect for cost.

• Assign the responsibility of optimization to an


individual or to a team.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 54
• Amazon EC2 pricing models include On-Demand
Section 3 key Instances, Reserved Instances, Spot Instances,
takeaways Dedicated Instances, and Dedicated Hosts.

• Spot Instances can be interrupted with a 2-minute


notification. However, they can offer significant cost
savings over On-Demand Instances.

• The four pillars of cost optimization are:


• Right size
• Increase elasticity
• Optimal pricing model
• Optimize storage choices

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 55
Section 4: Container services
Module 6: Compute

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserve
Container basics
•Containers are a method of
operating system Your Container
virtualization.
Your application
•Benefits –
• Repeatable. Dependenci
es
• Self-contained environments.
Configuration
• Software runs the same in different s
environments.
Hooks into
• Developer's laptop, test, production. OS
• Faster to launch and stop or terminate
than virtual machines
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 57
What is Docker?
• Docker is a software
platform that enables you to
build, test, and deploy Container

applications quickly.
• You run containers on Docker. Containers have everything
the software needs to run:
• Containers are created from a
template called an image.
Librarie System Runtim
Code
• A container has everything s tools e

a software application needs


to run.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 58
Containers versus virtual machines
Three virtual machines on three EC2 instances
Example
VM 1 VM 2 VM 3
Three containers on one EC2 Container
instance App 1 App 2 App 3
Container Container Container Bins/ Bins/ Bins/
instance 1 instance 2 instance 3 Libs Libs Libs
Docke
r App 1 App 2 App 3 EC2 EC2 EC2
engin Bins/ Bins/ Bins/ instanc instanc instanc
e Libs Libs Libs e guest e guest e guest
OS OS OS
EC2 instance guest OS

Hypervisor
Part of
Host operating system AWS Global
Infrastructur
Physical server e

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 59
Amazon Elastic Container Service (Amazon ECS)
• Amazon Elastic Container Service (Amazon ECS) –
• A highly scalable, fast, container management service

• Key benefits –
Amazon Elastic
• Orchestrates the running of Docker containers Container Service

• Maintains and scales the fleet of nodes that run your containers
• Removes the complexity of standing up the infrastructure

• Integrated with features that are familiar to Amazon EC2 service users –
• Elastic Load Balancing
• Amazon EC2 security groups
• Amazon EBS volumes
• IAM roles
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 60
Amazon ECS orchestrates containers

EC2 instance
Requests to run
containers
x3 x2

Container A
EC2 instance

Container B
Amazon Elastic Container
Service (Amazon ECS)

ECS cluster
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 61
Amazon ECS cluster options
• Key question: Do you want to manage the Amazon ECS cluster that runs the
containers?

• If yes, create an Amazon ECS cluster backed by Amazon EC2 (provides more
granular control over infrastructure)
• If no, create an Amazon ECS cluster backed by AWS Fargate (easier to maintain,
focus on your applications) Containers
Amazon ECS Container Container Container Amazon ECS
cluster instance 1 instance 2 instance 3 cluster backed
backed by by Fargate
App 1 App 2 App 3
Amazon EC2 You manage
Bins/Libs Bins/Libs Bins/Libs
You
manage Docker engines (one per OS in the cluster)
VM guest operating systems in the Amazon ECS AWS manages
cluster

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 62
What is Kubernetes?
• Kubernetes is open source software for container orchestration.
• Deploy and manage containerized applications at scale.
• The same toolset can be used on premises and in the cloud.
• Complements Docker.
• Docker enables you to run multiple containers on a single OS host.
• Kubernetes orchestrates multiple Docker hosts (nodes).
• Automates –
• Container provisioning.
• Networking.
• Load distribution.
• Scaling.
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 63
Amazon Elastic Kubernetes Service (Amazon EKS)
• Amazon Elastic Kubernetes Service (Amazon
EKS)
• Enables you to run Kubernetes on AWS
• Certified Kubernetes conformant (supports easy Amazon Elastic
Kubernetes
migration) Service
• Supports Linux and Windows containers
• Compatible with Kubernetes community tools and
supports popular Kubernetes add-ons

• Use Amazon EKS to –


• Manage clusters of Amazon EC2 compute instances
• Run containers that are orchestrated by Kubernetes on
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 64
Amazon Elastic Container Registry (Amazon ECR)
Amazon ECR is a fully managed Docker container
registry that makes it easy for developers to store,
manage, and deploy Docker container images.
Amazon ECS integration

Docker support

Team collaboration

Amazon Elastic
Container Access control
Registry

Third-party integrations
Image Registry

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 65
• Containers can hold everything that an application
Section 4 key needs to run.
takeaways • Docker is a software platform that packages software
into containers.
• A single application can span multiple containers.
• Amazon Elastic Container Service (Amazon ECS)
orchestrates the running of Docker containers.
• Kubernetes is open source software for container
orchestration.
• Amazon Elastic Kubernetes Service (Amazon EKS)
enables you to run Kubernetes on AWS
• Amazon Elastic Container Registry (Amazon ECR)
enables you to store, manage, and deploy your
Docker containers.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 66
Section 5: Introduction to AWS
Lambda
Module 6: Compute

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserve
AWS Lambda: Run code without servers

AWS Lambda is a serverless compute service.

The code you run


is a Lambda function
Upload your code

AWS HTTP
services endpoin Your code Pay only for the
Mobile apps ts
runs only when it is compute time that
Run your code on a schedule
triggered you use
or in response to events

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 68
Benefits of Lambda

It supports multiple programming languages


Completely automated administration
Built-in fault tolerance
AWS It supports the orchestration of multiple functions
Lambda
Pay-per-use pricing

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 69
AWS Lambda event sources

Event sources Configure other AWS services as event


sources to invoke your function as shown
here.
Amazon S3
Alternatively, invoke a Lambda function from
the Lambda console, AWS SDK, or AWS CLI.
Amazon DynamoDB

Amazon Simple
Notification Service
Lambda Running of your
(Amazon SNS)
Amazon Simple Queue function code (only when
Service (Amazon SQS) triggered)
AWS Lambda
Amazon API Gateway
Logging,
monitoring, and
Application Load Balancer metrics
Amazon
Many more… CloudWatch

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 70
AWS Lambda function configuration

Lambda function configuration

Function
code
Running of your code
AWS (only when it is
Lambda triggered)
Dependencies AWS Lambda
function
(code libraries, etc.)
Logging,
monitoring, and
metrics
Amazon
Execution role CloudWatch

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 71
Schedule-based Lambda function example:
Start and stop EC2 instances
Stop instances example

Sto
p
IAM role

Time-based
1 CloudWatch 2 Lambda function 3 EC2 instances
event triggered stopped

Start instances example

Start
IAM role

Time-based
4 5 Lambda function 6 EC2 instances
CloudWatch
triggered started
event

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 72
Event-based Lambda function example:
Create thumbnail images
AWS Cloud
1
2 3

User

Source Lambda 4
bucket
Execution
5
role
Access
policy
Target
bucket Lambda
function

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 73
AWS Lambda quotas
Soft limits per Region:
• Concurrent executions = 1,000
• Function and layer storage = 75 GB

Hard limits for individual functions:


• Maximum function memory allocation = 10,240 MB
• Function timeout = 15 minutes
• Deployment package size = 250 MB unzipped, including layers
• Container image code package size = 10 GB

Additional limits also exist. Details are in the AWS Lambda quotas documentation at
https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html.
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 74
• Serverless computing enables you to build and run
Section 5 key applications and services without provisioning or
takeaways managing servers.

• AWS Lambda is a serverless compute service


that provides built-in fault tolerance and automatic
scaling.

• An event source is an AWS service or developer-


created application that triggers a Lambda function to
run.

• The maximum memory allocation for a single Lambda


function is 10,240 MB.

• The maximum run time for a Lambda function is 15


minutes.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 75
Activity: Create an To complete this activity:
AWS Lambda
Stopinator Function • Go to the hands-on lab environment and
launch the AWS Lambda activity.

• Follow the instructions that are provided in


the hands-on lab environment.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 76
Activity
debrief:
key takeaways

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 77
Section 6: Introduction to AWS
Elastic Beanstalk
Module 6: Compute

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserve
AWS Elastic Beanstalk
• An easy way to get web applications up and running

• A managed service that automatically handles –


• Infrastructure provisioning and configuration
• Deployment
• Load balancing
• Automatic scaling
AWS Elastic • Health monitoring
Beanstalk
• Analysis and debugging
• Logging

• No additional charge for Elastic Beanstalk


• Pay only for the underlying resources that are used
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 79
AWS Elastic Beanstalk deployments
• It supports web applications
written for common platforms
• Java, .NET, PHP, Node.js,
Python, Ruby, Go, and Docker You Your code
manage
HTTP server
Application server
• You upload your code
AWS Language interpreter
• Elastic Beanstalk automatically manages
Operating system
handles the deployment
Host
• Deploys on servers such as
Apache, NGINX, Passenger,
Puma, and Microsoft Internet
Information Services (IIS)
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 80
Benefits of Elastic Beanstalk

Fast and simple Developer Difficult to Complete


to start using productivity outgrow resource control

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 81
Activity: AWS To complete this activity:
Elastic
Beanstalk • Go to the hands-on lab environment and
launch the AWS Elastic Beanstalk activity.

• Follow the instructions that are provided in


the hands-on lab environment.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 82
Activity debrief:
Key takeaways

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 83
• AWS Elastic Beanstalk enhances
Section 6 key developer productivity.
takeaways • Simplifies the process of deploying your application.
• Reduces management complexity.

• Elastic Beanstalk supports Java, .NET, PHP,


Node.js, Python, Ruby, Go, and Docker

• There is no charge for Elastic Beanstalk. Pay


only for the AWS resources that you use.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 84
Module wrap-up
Module 6: Compute

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserve
Module summary
In summary, in this module, you learned how to:
• Provide an overview of different AWS compute services in the cloud
• Demonstrate why to use Amazon Elastic Compute Cloud (Amazon EC2)
• Identify the functionality in the Amazon EC2 console
• Perform basic functions in Amazon EC2 to build a virtual computing
environment
• Identify Amazon EC2 cost optimization elements
• Demonstrate when to use AWS Elastic Beanstalk
• Demonstrate when to use AWS Lambda
• Identify how to run containerized applications in a cluster of managed
servers
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 86
Complete the knowledge check

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 87
Sample exam question
Which AWS service helps developers quickly deploy resources which can make use of
different programming languages, such as .NET and Java?

Choice Response

A AWS CloudFormation

B AWS SQS

C AWS Elastic Beanstalk

D Amazon Elastic Compute Cloud (Amazon EC2)

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 88
Sample exam question answer
Which AWS service helps developers quickly deploy resources which can make use of
different programming languages, such as .NET and Java?

The correct answer is C.


The keywords in the question are developers quickly deploy resources and different
programming languages.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 89
Additional resources
• Amazon EC2 Documentation: https://docs.aws.amazon.com/ec2/
• Amazon EC2 Pricing: https://aws.amazon.com/ec2/pricing/
• Amazon ECS Workshop: https://ecsworkshop.com/
• Running Containers on AWS: https://containersonaws.com/
• Amazon EKS Workshop: https://www.eksworkshop.com/
• AWS Lambda Documentation: https://docs.aws.amazon.com/lambda/
• AWS Elastic Beanstalk Documentation: https://docs.aws.amazon.com
/elastic-beanstalk/
• Cost Optimization Playbook: https://d1.awsstatic.com/pricing/
AWS_CO_Playbook_Final.pdf

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 90
Thank you

All trademarks are the property of their owners.

© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 91

You might also like