aws webcast - build agile applications in aws cloud
TRANSCRIPT
AWS Global Infrastructure
Application Services
Networking
Deployment & Administration
DatabaseStorageCompute
Compute
EC2Virtual 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 vCPUMemory
(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 vCPUMemory
(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 vCPUMemory
(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 vCPUMemory
(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 vCPUMemory
(GiB)
g2.2xlarge 8 15
Micro Instances
Name vCPUMemory
(GiB)
t1.micro 1 0.615
Compute
EC2Virtual 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
EC2Virtual 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
EC2Virtual 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
EC2Virtual 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
DatabaseStorageCompute Database
Database
DynamoDBScalable 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
RDSManaged Relational Database Service
AWS Global Infrastructure
Application Services
Networking
Deployment & Administration
DatabaseStorageCompute
Deployment & Administration
Deployment & Administration
IAMSecure 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
CloudWatchResource Monitoring
CloudFormationTemplated 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
IAMSecure 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
CloudWatchResource Monitoring
CloudFormationTemplated AWS Resource Creation
Elastic BeanstalkAWS Application Container
Deployment & Administration
IAMSecure 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
CloudWatchResource Monitoring
CloudFormationTemplated AWS Resource Creation
Elastic BeanstalkAWS Application Container
OpsWorksDevOps Application Management
A lot of options…
• Configuration Management Systems
– Puppet
– Chef
– Saltstack
• Deployment Frameworks
– Elastic Beanstalk
– OpsWorks
– Ansible
– Fabric
– Capistrano
• Infrastructure Management
– CloudFormation
Q&A
Alex Corley
Michael Landes
@outlandes