Getting Started with Amazon EC2 and AWS Compute Services
- 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sebastian Dreisch, Global Bus Dev – Compute Services
August 2016
Getting Started with Amazon EC2
and AWS Compute Services
- 2. AWS Compute offerings
AWS Lambda
Serverless compute
platform for stateless
code execution in
response to triggers
Amazon ECS
Container
management service
for running Docker on
a managed cluster of
EC2 instances
Amazon
EC2
Virtual servers
in the cloud
- 4. AWS global infrastructure
Over 1 million active customers
across 190 countries
2300 government agencies
7000 educational institutions
22,000 nonprofits
13 regions
35 Availability Zones
*9 more Availability Zones
and 4 more Regions coming
online throughout the year
- 5. Amazon Elastic Compute Cloud (Amazon EC2) -
Elastic virtual servers in the cloud
Physical servers in
AWS global regions
Host server
Hypervisor
Guest 1 Guest 2 Guest n
- 6. Amazon EC2 ten years ago…
First generation, single instance family and size
• m1.small (1 vCPU, 1.7 GiB RAM, 160 GB storage)
Linux only
On-Demand pricing only
- 8. Performance factor: CPU
Intel Xeon E5-2670 (Sandy Bridge) CPUs
• Available on M3, CC2, CR1, and G2 instance types
Intel Xeon E5-2680 v2 (Ivy Bridge) CPUs
• Available on C3, R3, and I2 instance types
• 2.8 GHz in C3, Turbo enabled up to 3.6 GHz
• Supports Enhanced Advanced Vector Extensions (AVX) instructions
Intel Xeon E5-2666 v3 (Haswell – AVX2) CPUs
• Available on C4, D2, and M4 instance types
• 2.9 GHz in C4, Turbo enabled up to 3.5 GHz (with Intel Turbo Boost)
• Supports AVX2 instructions
- 10. Performance factor: Networking
Device Pass Through: Enhanced Networking
• SR-IOV eliminates need for driver domain
• Physical network device exposes virtual function to instance
• Enhanced Networking is currently supported in R3, C3, C4, M4, D2, and I2 instances
Enables significantly higher (>1M) packet per second (PPS) performance, lower network jitter and lower latencies
Uses a new network virtualization stack that provides higher I/O performance and lower CPU utilization compared to
traditional implementations
New: Elastic Network Adapter - Available now for the new X1 instance type!
• Next generation of Enhanced Networking
• Hardware checksums
• Multi-queue support
• Receive side steering
• 20 Gbps in a placement group
Delivers high throughput and great packet per second (PPS) performance, minimizes the load on the host processor in a
number of ways, and also does a better job of distributing the packet processing workload across multiple vCPUs
- 11. 1 2 4 8 16 40
1
2
4
8
16
32
64
128
256
Memory(GB)
vCPU
g2.2xlarge
8 vCPU, 15 GB
1 x 60 SSD
NVIDIA GPU (1,536
CUDA cores, 4GB
Mem)
4 vCPU, 30.5 GB
i2.xlarge (High IO) - 1 x 800 SSD
d2.xlarge (Dense) - 3 x 2000
HDD
8 vCPU, 61 GB
i2.2xlarge (High IO) - 2x800 SSD
d2.2xlarge (Dense) - 6 x 2000
HDD
16 vCPU, 122 GB
i2.4xlarge (High IO) - 4x800 SSD
d2.4xlarge (Dense) - 12x2000 HDD
32 vCPU, 244 GB
i2.8xlarge (High IO) - 8x800 SSD
36 vCPU, 244 GB
d2.8xlarge (Dense) - 24x2000 HDD
m3.xlarge
4 vCPU, 15
GB
2 x 40 SSD
m3.2xlarge
8 vCPU, 30
GB
2 x 80 SSD
m3.large
2 vCPU, 7.5
GB
1 x 32 SSDm3.medium
1 vCPU, 3.75
GB,
1 x 4 SSD
t2.micro
1 vCPU,
1GB
EBS Only
t2.small
1 vCPU,
2GB
EBS Only
t2.medium
2 vCPU,
4GB
EBS Only
r3.large
2 vCPU, 15.25
GB
1 x 32 SSD
r3.xlarge
4 vCPU, 30.5 GB
1 x 80 SSD
r3.2xlarge
8 vCPU, 61 GB
1 x 160 SSD
r3.4xlarge
16 vCPU, 122 GB
1 x 320 SSD
r3.8xlarge
32 vCPU, 244 GB
2 x 320 SSD
2 vCPU, 3.75 GB
c4.large - EBS Only
c3.large - 2 x 16 SSD
4 vCPU, 7.5 GB
c4.xlarge - EBS Only
c3.xlarge - 2 x 40
SSD
8 vCPU, 15 GB
c4.2xlarge - EBS
Only
c3.2xlarge - 2 x 80
SSD
36 vCPU, 60 GB
c4.8xlarge - EBS Only
c3.8xlarge - 2 x 320
SSD
m4.large
2 vCPU, 8 GB
EBS Only
m4.xlarge
4 vCPU, 16
GB
EBS Only
m4.2xlarge
8 vCPU, 32
GB
EBS Only
m4.4xlarge
16 vCPU, 64
GB
EBS Only
m4.10xlarge
40 vCPU, 160GB
EBS Only
t2.large
2 vCPU, 8 GB
EBS Only
Storage Optimized
GPU Instances
General Purpose
Memory Optimized
Compute Optimized
New M4’s/T2 Large
t2.nano
1 vCPU, 512MB
EBS Only
g2.8xlarge
32vCPU, 60 GB
2 x 120 SSD
4 NVIDIA GPUs (1,536
CUDA cores, 4GB
Mem)
16 vCPU, 30 GB
c4.4xlarge - EBS Only
c3.4xlarge - 2 x 160
SSD
39 (latest generations) EC2 Instance Types
- 13. Performance factor: Storage (Options)
Locally attached or “instance storage”
Network attached:
Amazon EBS General Purpose (SSD) volumes
Amazon EBS Provisioned IOPS (SSD) volumes
Amazon EBS Magnetic volumes (multiple types for different use cases)
Amazon EFS (seconds to create a scalable shared NFSv4 file system)
Amazon S3 and Amazon Glacier for object storage
- 15. Fast Deployments
Access computing
infrastructure in minutes
Low Cost
Pay-as-you-go pricing
Elastic
Easily add or remove capacity
Globally Accessible
Easily support customers
around the world
Secure
A collection of tools to
protect data and privacy
Scalable
Access to effectively
limitless capacity
- 16. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serverload
Hour of day
- 17. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serverload
Hour of day
Capacity of 1 server
- 18. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serverload
Hour of day
Capacity of 1 server
Traditional capacity required
- 19. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serverload
Hour of day
Capacity of 1 server
Traditional capacity required
1 server for 8 hours
- 20. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serverload
Hour of day
Capacity of 1 server
Traditional capacity required
1 server for 8 hours 1 server for 8 hours
- 21. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serverload
Hour of day
Capacity of 1 server
Traditional capacity required
1 server for 8 hours 1 server for 8 hours
1 server for 8 hours
- 22. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serverload
Hour of day
Capacity of 1 server
Traditional capacity required
1 server for 8 hours 1 server for 8 hours
1 server for 8 hours
1 server for 8 hours
- 23. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serverload
Hour of day
Capacity of 1 server
Traditional capacity required
1/3rd
saving
- 25. 0
1
2
3
4
5
6
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Instancecount
Day of month
Monthly
predictable
peak
processing
- 26. 0
1
2
3
4
5
6
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Instancecount
Day of month
Traditional capacity required
- 27. 0
1
2
3
4
5
6
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Instancecount
Day of month
Elastic capacity
Traditional capacity required
- 28. 0
1
2
3
4
5
6
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Instancecount
Day of month
75% savings
Traditional capacity required
Elastic capacity
- 29. Tooling - Scale automatically
Amazon EC2 Auto Scaling ELB
Actual
EC2
Elastic virtual servers
in the cloud
Dynamic traffic
distribution
Automated scaling
of EC2 capacity
- 30. 2007 2008 2009 2010 2011 2012 2013 2014 2015
9 24 48 61 82
159
280
514
722
Rapid pace of customer driven improvements
There is no compression algorithm for experience
AWS Feature and Service Launches
(Above & beyond all the regular updates to the infrastructure platform)
- 31. Rapid pace of customer driven improvements
Security - Our Top priority!
AWS Feature and Service Launches
(Above & beyond all the regular updates to the infrastructure platform)
2007 2008 2009 2010 2011 2012 2013 2014
9 24 48 61 82
159
280
514
Security, compliance, governance,
and/or audit capabilities
- 32. Consistent, regular, exhaustive 3rd party evaluations
• Secured premises
• Secured access
• Built-in firewalls
• Unique users
• Multi-factor authentication
• Private subnets
• Encrypted data storage
• Dedicated connection
Architected for Enterprise Security
- 33. Access a deep set of cloud security tools
Encryption
Key
Management
Service
CloudHSM Server-side
Encryption
Networking
Virtual
Private
Cloud
Web
Application
Firewall
Compliance
ConfigCloudTrailService
Catalog
Identity
IAM Active
Directory
Integration
SAML
Federation
- 36. Use the AWS Marketplace
Browse, search, discover,
and launch thousand of AWS
Marketplace Amazon
Machine Images (AMIs)
directly from within the
Amazon EC2 console
2,700+ products listed in 35
categories
software listings from more
than 925 ISVs
- 37. Build reliable architectures
Easily build highly available applications
ELB distributes load
Auto Scaling helps ensure availability and scale
Use multiple Availability Zones (AZs)
Use multiple global regions
- 39. Build secure architectures
Use VPC - Provision a logically isolated section of the AWS cloud
Control your virtual networking environment with:
• Subnets
• Route tables
• Security groups
• Network ACLs
• Flow logging (new!)
Control if and how your instances access the Internet
Connect to your on-premises network via a hardware VPN or AWS
Direct Connect
Monitor all changes via Amazon CloudWatch Logs and
AWS CloudTrail
- 40. Availability Zone 1a Availability Zone 1b
Internet
10.0.0.5
10.0.0.6
10.0.3.17
10.0.3.5
10.0.1.5
10.0.1.25
10.0.1.8
10.0.1.6
VPC Subnet
VPC Subnet
VPC Subnet
Virtual Private Gateway
Customer Gateway
VPN Connection
Internet Gateway
Customer Data Center
- 42. On-Demand
Pay for compute
capacity by the
hour with no long-
term commitments
For spiky
workloads, or to
define needs
Reserved
Make a low, one-
time payment and
receive a
significant discount
on the hourly
charge
For committed
utilization
Spot
Bid for unused
capacity, charged at
a Spot Price which
fluctuates based on
supply and demand
For time-insensitive
or transient
workloads
Dedicated
Launch instances
within a VPC that run
on hardware
dedicated to a single
customer
For BYOL and highly
sensitive/regulated
workloads
Use a purchasing option (mix) that best fits your workload
- 43. Spot for interruptible workloads and best pricing
Best Spot use cases include any batch-oriented, fault-tolerant application
- 44. What have customers done on EC2?
18 hours
205,000 materials analyzed
156,314 AWS Spot cores at peak
2.3M core-hours
Total spending: $33K
(Under 1.5 cents per core-hour)
- 45. Use Dedicated Hosts to enable BYOL
Host ID = h-123abc
Sockets = 2
Physical Cores = 20
• Granular resource and placement controls
• Dedicated Host allocation
• Granular instance placement
• Instance-host affinity
• Visibility into physical resources
• Physical core and socket counts
• Capacity utilization
• Instance location
- 46. Dedicated Host Configurations
A C4 Dedicated Host provides capacity for 8, c4.xlarge
instances. Every C4 Dedicated Host is supported by 2
sockets and 20 physical cores.
Dedicated Host Attributes # of Instances Per Host by Instance Size
Instance
Family Sockets
Physical
Cores medium large xlarge 2xlarge 4xlarge 8xlarge 10xlarge
c3 2 20 - 16 8 4 2 1 -
c4 2 20 - 16 8 4 2 1 -
g2 2 20 - - - 4 - 1 -
m3 2 20 32 16 8 4 - - -
d2 2 24 - - 8 4 2 1 -
r3 2 20 - 16 8 4 2 1 -
m4 2 24 - 22 11 5 2 - 1
i2 2 20 - - 8 4 2 1 -
- 48. Amazon ECS is a highly scalable, high performance
container management service that supports Docker
containers and allows you to easily run applications on a
managed cluster of Amazon EC2 instances.
- 49. Amazon ECS
Docker
Task
Container Instance
Amazon
ECS
Container
ECS Agent
ELB
Internet
ELB
User /
Scheduler
API
Cluster Management Engine
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
- 50. It’s easy and FREE!
• Please visit:
https://aws.amazon.com/ecs/getting-started/
- 52. High performance at any scale;
Cost-effective and efficient
No Infrastructure to manage
Pay only for what you use: Lambda
automatically matches capacity to
your request rate. Purchase
compute in 100ms increments.
Bring Your Own Code
Stateless, trigger-based code execution
Run code in a choice of standard
languages. Use threads, processes,
files, and shell scripts normally.
Focus on business logic, not
infrastructure. You upload code; AWS
Lambda handles everything else.
AWS Lambda Functions
- 56. Key Lambda scenarios
Data processing
Stateless processing of
discrete or streaming
updates to your data-
store or message bus
Control systems
Customize responses
and response workflows
to state and data
changes within AWS
App backend
development
Execute server side
backend logic in a cross
platform fashion