Discover the Ease of AWS
Deployments
Leo Zhadanovsky
Senior Solutions Architect
@leozh
AWS Global Infrastructure
Application Services
Networking
Deployment & Administration
Database Storage Compute
Compute
EC2 Virtual servers in the cloud
Elastic Compute Cloud
• Resizable compute capacity in 27 instance types
• Reduces the time required to obtain and boot new server instances to minutes
or seconds
• Scale capacity as your computing requirements change
• Pay only for capacity that you actually use
• Choose Linux or Windows
• Deploy across Regions and Availability Zones for reliability
• Support for virtual network interfaces that can be attached to EC2 instances in
your VPC
General Purpose
Name vCPU Memory
(GiB)
m1.small 1 1.7
m3.medium 1 3.75
m3.large 2 7.5
m3.xlarge 4 15
m3.2xlarge 8 30
Compute Optimized
Name vCPU Memory
(GiB)
c3.large 2 3.75
c3.xlarge 4 7
c3.2xlarge 8 15
c3.4xlarge 16 30
c3.8xlarge 32 60
cc2.8xlarge 32 60.5
Memory Optimized
Name vCPU Memory
(GiB)
r3.large 2 15
r3.xlarge 4 30.5
r3.2xlarge 8 61
r3.4xlarge 16 122
r3.8xlarge 32 244
Storage Optimized
Name vCPU Memory
(GiB)
Local Storage
(GB)
i2.xlarge 4 30.5 1 x 800 SSD
i2.2xlarge 8 61 2 x 800 SSD
i2.4xlarge 16 122 4 x 800 SSD
i2.8xlarge 32 244 8 x 800 SSD
hs1.8xlarge 16 117 24 x 2048
GPU Instances
Name vCPU Memory
(GiB)
g2.2xlarge 8 15
Micro Instances
Name vCPU Memory
(GiB)
t1.micro 1 0.615
Compute
EC2 Virtual servers in the cloud
Amazon Machine Image
• Building blocks of EC2 instances
• An AMI is like a template of a computer's root volume.
• Can be public or private and shared with other accounts
• Create hardened or gold “Images” of your EC2 infrastructure
• Copy AMIs between regions
Compute
EC2 Virtual servers in the cloud
Elastic Block Storage (EBS)
• Use for persistent storage from 1GB – 1TB
• Can use to create RAID configuration for a server
• Off-instance block storage that persists independently
• Storage volumes for use with Amazon EC2 instances – create, attach, backup,
restore and delete
• Can be attached to a running Amazon EC2 instance and exposed as a block
device for raw or formatted (file system) access
• Snapshots are durably saved to S3
• Ideal use cases:
– OS Boot device / root file system; secondary volumes/file systems
– Typical basis for database storage
– Raw block devices for RAID, some databases
• Available in both standard and provisioned IOPS (up to 4k IOPS)
Compute
EC2 Virtual servers in the cloud
Auto Scaling
• Client Defined Business Rules
• Scale your Amazon EC2 capacity automatically once you define the conditions
(may be 1000’s of servers)
• Can scale up just a little…doesn’t need to be massive number of servers (may
be simply 2 servers)
• Well suited for applications that experience variability in usage
• Set minimum and maximum scaling policies
• Alternate Use is for Fault Tolerance
Compute
EC2 Virtual servers in the cloud
Elastic Load Balancing
• Supports the routing and load balancing of HTTP, HTTPS and generic TCP
traffic to EC2 instances
• Supports SSL termination and Proxy protocol
• Supports health checks to ensure detect and remove failing instances
• Dynamically grows and shrinks required resources based on traffic
• Seamlessly integrates with Auto-scaling to add and remove instances based
on scaling activities
• Single CNAME provides stable entry point for DNS configuration
• Supports internal load balancing within a VPC
AWS Global Infrastructure
Application Services
Networking
Deployment & Administration
Database Storage Compute Database
Database
DynamoDB Scalable NoSQL Data Store
Relational Database Service
• Fully-managed, tuned MySQL, PostgreSQL, Oracle 11g, or MS SQL
• Cost-efficient and resizable capacity
• Manages time-consuming database admin tasks
• Code, applications, and tools you already use today work seamlessly
• Automatically patches the database software and backs up your database
• Flexible Licensing: BYOL or License Include
• Multi-AZ deployment option for MySQL, PostgreSQL and Oracle
• Cross-Region Read Replica support for MySQL
RDS Managed Relational Database Service
AWS Global Infrastructure
Application Services
Networking
Deployment & Administration
Database Storage Compute
Deployment & Administration
Deployment & Administration
IAM Secure AWS Access Control
CloudFormation
• Create templates of stack of resources
• Deploy stack from template with runtime parameters
• Templates are simple JSON formatted text files
• CloudFormer supports generating templates from running environments
CloudWatch Resource Monitoring
CloudFormation Templated AWS Resource Creation
"Resources" : {
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],
"ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]},
"Tags" : [{
"Key" : "MyTag",
"Value" : "TagValue"
}]
}
},
Deployment & Administration
IAM Secure AWS Access Control
Elastic Beanstalk
• Simply upload your application (Java, NET, PHP, Node.js, Ruby and Python)
• Automatically handles the deployment details of capacity provisioning, load
balancing, auto-scaling, and application health monitoring
• Retain full control over the AWS resources powering your application
CloudWatch Resource Monitoring
CloudFormation Templated AWS Resource Creation
Elastic Beanstalk AWS Application Container
Deployment & Administration
IAM Secure AWS Access Control
OpsWorks
• DevOps service for applications in the AWS cloud
• Helps manage complete application lifecycle:
– Resource provisioning
– Configuration management
– Application deployment
– Software updates
– Monitoring
– Access control
• Visualized through application layers
• Uses Chef recipes used to deploy and configure software components on EC2
instances
CloudWatch Resource Monitoring
CloudFormation Templated AWS Resource Creation
Elastic Beanstalk AWS Application Container
OpsWorks DevOps Application Management
Architect for High Availability
1. Use Multiple
Availability Zones
2. Use Amazon RDS with
Replicas and Standby
3. Use Amazon Auto
Scaling groups
4. Use Amazon Elastic
Load Balancing
A lot of options…
• Configuration Management Systems
– Puppet
– Chef
– Saltstack
• Deployment Frameworks
– Elastic Beanstalk
– OpsWorks
– Ansible
– Fabric
– Capistrano
• Infrastructure Management
– CloudFormation
LIVE DEMO
Q&A
Leo Zhadanovsky
@leozh
Michael Landes
@outlandes