Presentation by George Yanev during the #AWSBulgaria User Group Meeting: http://www.meetup.com/AWS-Bulgaria/events/229990095/
#AWSBulgaria is a community for anyone interested in Amazon Web Services, cloud computing, DevOps.
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Getting Started with AWS EC2. From Zero to Hero
1. Getting Started with AWS EC2.
From Zero to Hero
13 April 2016
George Yanev
Telerik, a Progress Company
DevOps Engineer
2. About Me
● Started as System Administrator with passion for Open Source. First distro
Slackware.
● Few years ago get interested in coding and as Open Source enthusiast and System
Administrator picked Python.
● Moved to DevOps as it match my believe that if you love what you do, you will find
ways to do it better.
3. What to expect
● Introduction to EC2.
● Go beyond the introduction in some areas like Xen, Burstable instances,
Instance type, Enhanced networking
● Dive in the Price Options
4. History
Started in 25 August 2006 in BETA with m1.small instance
Interesting facts:
- m1.small instance from 2006 was 2.27 times more expensive than today
- No persistent storage until 20 August 2008 when EBS was introduced
- Only Linux
- No AWS Management Console
- No Auto Scaling
5. Let’s talk a little bit about the Hardware
● Data centers
● Racks
● Servers
● Networking
● Data storage
9. HVM
● Guest system doesn’t know it has been virtualized
● By default slower than PV in I/O scenarios (not true anymore)
● Depends on the Hardware (Intel - VT, AMD - AMD-V)
● Secure Hardware isolation
10. HVM Speed
HVM is currently at least on par as performance goes with PV thanks to:
● New hardware extensions: SR-IOV
● Xen improvements
● Kernel host improvements - vector callbacks, MSI remapping, interrupt
remapping
● PV drivers - storage drivers, network drivers
11. EC2 Hypervisor guests pros
● HVM (Hardware Virtual Machine a.k.a Hardware-assisted virtualization)
○ Bursty CPU Loads.
○ High Memory Instances.
○ Enhanced Networking Instances.
● PV (Paravirtualization)
○ None
If you like benchmarks: http://www.phoronix.com/scan.php?
page=article&item=amazon_ec2_pvhvm&num=1
13. Instance family
● T, M - General purpose
● C - Compute optimized
● R - Memory optimized
● I, D - Storage optimized
● G - GPU instances
14. Instance generation
● Each new generation add feature, boost performance. If you are unsure which
generation to use, choose the latest.
15. Instance size
● Starting from nano reaching out to 8xlarge (and the monster X1 SAP HANA)
● http://www.ec2instances.info/
16. Instance types
● Next dozen of slides will try to explain
○ The different Instance types
○ Which role suits each Instance type
○ Instance types key facts
17. vCPU
● What exactly AWS means by vCPU?
Each vCPU is a hyperthread of an Intel Xeon core. In general, one vCPU more-or-less correlates to half a
physical core.
18. T2 (Burstable Performance Instances)
● Features
○ High Frequency Intel Xeon Processors with Turbo up to 3.3GHz
○ Burstable CPU, governed by CPU Credits, and consistent baseline performance
○ Lowest-cost general purpose instance type, and Free Tier eligible (t2.micro only)
○ Balance of compute, memory, and network resources
19. Burstable Performance Instances
● Burstable Performance Instances provide a baseline level of CPU
performance with the ability to burst above the baseline.
21. M4 (General Purpose Instances)
● Features
○ 2.4 GHz Intel Xeon® E5-2676 v3 (Haswell) processors.
○ EBS-optimized by default at no additional cost.
○ Support for Enhanced Networking.
○ Balance of compute, memory, and network resources.
● No local storage, only EBS.
● Probably the most versatile Instances.
● Fixed Performance Instances as opposed to the T2 instances.
22. EBS
● General Purpose SSD volumes.
● Provisioned IOPS SSD volumes.
● EBS Magnetic volumes.
● Snapshot capabilities.
● Bound to a specific Availability Zone.
● Not bound to the current instance.
23. General Purpose SSD volume
● Speed and credit accumulation depends on the volume size
● Initial I/O credit balance is 5 400 000. This is enough to sustain 30minutes of
maximum burst.
24. EBS Optimized
● Free and enabled by default for M4, C4 and D2 Instances.
● Paying a fee if your instance is not M4, C4 or D2: http://aws.amazon.
com/ec2/pricing/#EBS-Optimized_Instances
● Dedicated throughput between the EC2 Instance and Amazon EBS.
Throughput Max 16K IOPS Max bandwidth (MB/s)
450 Mbps 3,600 56.25
M4.large EBS max performance
26. Enhanced Networking #2
● Do you need it?
In few words: probably not but depends on your usage.
Benchmarks: http://blogs.scalablelogic.com/2013/12/enhanced-networking-in-aws-
cloud.html
27. Enhanced Networking #3
● Requirements
○ Instances of the following type: C4, C3, R3, I2, M4, and D2
○ HVM AMI
○ Launch in VPC
○ Linux kernel module ixgbevf, minimum recommended version 2.14.2
● How-to enable it: http://docs.aws.amazon.
com/AWSEC2/latest/UserGuide/enhanced-networking.html#test-enhanced-
networking
28. M3 (General Purpose Instances)
● Compare to the M4
○ No EBS Optimized by default.
○ Has a SSD-based instance storage for fast I/O performance.
○ Lack enhanced networking.
○ More expensive than M4
29. C4 (Compute Optimized Instances)
● Features
○ High frequency Intel Xeon E5-2666 v3 (Haswell) processors optimized specifically for EC2
○ EBS-optimized
○ Ability to control processor C-state and P-state configuration on the c4.8xlarge instance type
○ Support for Enhanced Networking and Clustering
30. C3 (Compute Optimized Instances)
● Compare to the C4
○ No EBS Optimized by default.
○ Has a SSD-based instance storage for fast I/O performance.
○ Lack enhanced networking.
○ More expensive than M4
31. R3 (Memory Optimized Instances)
● Features
○ High Frequency Intel Xeon E5-2670 v2 (Ivy Bridge) Processors
○ Lowest price point per GiB of RAM
○ SSD Storage
○ Support for Enhanced Networking
Hint: EBS Optimized is not enabled by default
Good for NoSQL databases like MongoDB, Distributed memory cache.
32. I2 (High I/O Optimized Instances)
● Features
○ High Frequency Intel Xeon E5-2670 v2 (Ivy Bridge) Processors
○ SSD Storage
○ Support for TRIM
○ Support for Enhanced Networking
○ High Random I/O performance
33. Purchasing Options
● First thing first. This site is a must: http://www.ec2instances.info/ while calculating
the price.
● Three ways to pay for EC2 Instances
○ On-Demand
○ Reserved
○ Spot Instances
34. On-Demand Instances
● Key features:
○ Pay by the hour
○ Without any up-front payment or long-term commitment
○ Increase/Decrease compute capacity at will
35. Reserved Instances
● Key features:
○ Significant discount (up to 75%) compared to On-Demand instances.
○ Always available for the Operating System and Availability zone in which you purchased it.
○ If you don’t use it you lose money as you’ve already prepaid for it.
○ Somewhat hard to change or in some instances impossible to change. As example you can't
move it in a different region.
○ You can sell it
36. Spot Instances
● Key features:
○ Usually lower hourly rates than On-Demand instances.
○ No upfront commitment (same as On-Demand instances).
○ You bid for the Spot Instances (they are AWS spare resource).
○ They will be shutdown if the current price is above the maximum you have specified.
37. Recap: Getting most of this presentation
● Use HVM AMI
● Use in the beginning On-Demand instances. They are flexible and you are paying
only for each started hour.
● Choose instance By-Resource Approach
● Start with smaller instances and change with bigger if needed. Change instance
type is cheap (stop/change/start) as long as you are using EBS and and the
instance will not be moved to different Availability Zone.
● http://www.ec2instances.info/