Amazon Web Services puts on-demand infrastructure at your fingertips, making it easy and cost effective to spin up new environments for developing and running your applications. But when things scale out, the number of pieces of infrastructure to manage and configure increases. This webinar introduces two frameworks, Amazon Elastic Beanstalk and Amazon Cloud Formation, both built into the AWS cloud that can help you manage your technical assets as you grow.
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
AWS - Managing Your Cloud Assets 2013
1. Journey through the cloud:
Managing your cloud assets
Ryan Shuttleworth – Technical Evangelist
@ryanAWS
2. Journey through the cloud
Common use cases & stepping stones into the AWS cloud
Learning from customer journeys
Best practices to bootstrap your projects
3. Managing cloud assets
Getting to grips with system sprawl in an unconstrained environment
Leverage management frameworks to take control
Choose systems that suite your technology delivery style
4. Agenda
Setting the scene
A shrink wrapped approach – Elastic Beanstalk
Fine grained control – CloudFormation
A middle way - OpsWorks
5. Cloud assets are growing quickly
Defined architectural patterns
More applications
More data
More services
Greater agility = faster moving
environments
aws.amazon.com/architecture
6. How do we maintain control over what is
deployed in the cloud?
9. Controlled Meticulous
chaos management
Prototype an app
Deploy to an instance
Test and develop cycles
Go to production
Deploy more instances
Deploy RDS
Add load balancers
Add autoscaling
Audit what you have?
Quickly becomes DevOps
nightmare
10. Controlled Meticulous
chaos management
Prototype an app Prototype an app
Deploy to an instance Plan infrastructure
Test and develop cycles Build standards
Go to production Deploy environment
Deploy more instances Manage through change control
Deploy RDS Formal processes
Add load balancers Formal tools
Add autoscaling Embed configuration in
Audit what you have? chef/puppet
Quickly becomes DevOps Tightly controlled, but lots of
nightmare effort to achieve
11. Controlled Meticulous
chaos management
People
Prototype an app Prototype an app
Deploy to an instance
Processes Plan infrastructure
Build standards
Test and develop cycles Controls Deploy environment
Go to production
Deploy more instances
Deploy RDS
Tools Manage through change control
Formal processes
Add load balancers Formal tools
Add autoscaling Embed configuration in
Audit what you have? chef/puppet
Quickly becomes DevOps Tightly controlled, but lots of
nightmare effort to achieve
12. High level, Fine grained,
shrink declarative
wrapped control
Tools
“I just want my app to “I want to source control
run, and I only want my entire datacenter
access to machines if I deployment like I would
really need to” my apache config”
13. High level, Fine grained,
shrink declarative
wrapped control
Elastic Beanstalk Tools CloudFormation
“I just want my app to “I want to source control
run, and I only want my entire datacenter
access to machines if I deployment like I would
really need to” my apache config”
14. High level, Fine grained,
shrink declarative
wrapped control
Middle ground
Elastic Beanstalk AWS CloudFormation
OpsWorks
“I just want my app to “I want to source control
run, and I only want my entire datacenter
access to machines if I deployment like I would
really need to” my apache config”
15. High level, Fine grained,
shrink declarative
wrapped control
Middle ground
Elastic Beanstalk AWS CloudFormation
OpsWorks
“I just want my app to “I want to source control
run, and I only want my entire datacenter
access to machines if I deployment like I would
really need to” my apache config”
16. Elastic Beanstalk Tools CloudFormation
Quickly deploy and manage apps in AWS…
17. Elastic Beanstalk Tools CloudFormation
…into a range of containers
.Net Java Ruby
PHP Python Node.js
18. Elastic Beanstalk Tools CloudFormation
…into a range of containers
Keep updated on new
containers:
http://aws.typepad.com
19. Elastic Beanstalk Tools CloudFormation
Application package is deployed into Beanstalk
20. Elastic Beanstalk Tools CloudFormation
Which creates the container in EC2
User Application
Application Service
HTTP Service
Language Interpreter
Operating System
Host
21. Elastic Beanstalk Tools CloudFormation
Beanstalk takes care of the environment…
34. Elastic Beanstalk Tools CloudFormation
No dependencies on AWS inherent for Beanstalk deployment
Source
uploaded and
executed in
AWS
Source
downloaded
and executed
locally
35. Elastic Beanstalk Tools CloudFormation
Package up as normal…
Java .war file PHP .zip file
IDE plugins Git integration
Microsoft Web
Python .zip file
Deploy package
36. Elastic Beanstalk Tools CloudFormation
Package up as normal…
Java .war file PHP .zip file
IDE plugins Git integration
Microsoft Web
Python .zip file
Deploy package
37. Elastic Beanstalk Tools CloudFormation
Console deployments and version updates
38. Elastic Beanstalk Tools CloudFormation
Command line tools and wizards
CheckDNSAvailability eb init
elastic-beanstalk-check-dns-availability wizard to initialize an application
CreateApplication eb start/stop
elastic-beanstalk-create-application start/stop an application
CreateApplicationVersion eb update
elastic-beanstalk-create-application-version update application version
CreateEnvironment eb status
elastic-beanstalk-create-environment get status of a running application
56. Full admin access on underlying resources
EC2 instances, AMIs, AutoScaling groups…
57. High level, Fine grained,
shrink declarative
wrapped control
Middle ground
Elastic Beanstalk AWS CloudFormation
OpsWorks
“I just want my app to “I want to source control
run, and I only want my entire datacenter
access to machines if I deployment like I would
really need to” my apache config”
58. Elastic Beanstalk Tools CloudFormation
What happens under the covers of Beanstalk?
AWS
Create security group
Create auto-scaling policy
Create elastic load balancer
Elastic
Beanstalk Add instance
Install software
Consolidate logs
59. Elastic Beanstalk Tools CloudFormation
What happens under the covers of Beanstalk?
AWS
Create security group
Create auto-scaling policy
A series of calls into AWS
to marshal resource Create elastic load balancer
creation/configuration Add instance
Install software
Consolidate logs
66. Elastic Beanstalk Tools CloudFormation
The benefit of templated environments
Procedural definition
Create it programmatically
Template
67. Elastic Beanstalk Tools CloudFormation
The benefit of templated environments
Procedural definition
Create it programmatically
Template
Parameter driven
Dynamic and user-driven
templates
68. Elastic Beanstalk Tools CloudFormation
The benefit of templated environments
Procedural definition
Create it programmatically
Template
Parameter driven Collaboration
Dynamic and user-driven Share templates with ease as
templates just files
69. Elastic Beanstalk Tools CloudFormation
The benefit of templated environments
Procedural definition Known configuration
Create it programmatically Store stack configuration in
Template source control
Parameter driven Collaboration
Dynamic and user-driven Share templates with ease as
templates just files
70. NASA TV & Curiosity Route 53 DNS
Multi-region & AZ
Elastic Loadbalancing
Amazon Live Streaming
Cloud Front
Cloud Formation
71. NASA TV & Curiosity CloudFormation 53 DNS
Route template
Multi-region & AZ
defined video caching
infrastructure
Elastic Loadbalancing
Stack
Amazon Live Streaming
Cloud Front
Template
Cloud ELBs to front
Formation
secondary cache
~100 Nginx
secondary cache
servers
2-3 Nginx mid-tier
cache servers
72. NASA TV & Curiosity As demand increasedDNS
Route 53 new
Multi-region & AZ
stacks added to an availability
zone using template
Elastic Loadbalancing
Amazon Live Streaming
Cloud Front
Cloud Formation
One-click
complex
rollout Availability Zone
73. Elastic Beanstalk Tools CloudFormation
Where to get more information?
Server templates
High availability configurations
RDS configurations
Open source stacks
Snippets
+ Cloud Former (prototype)
http://aws.amazon.com/cloudformation/aws-cloudformation-templates/
74. Elastic Beanstalk Tools CloudFormation
Where to get more information?
Server templates
High availability configurations
RDS configurations
Open source stacks
Snippets
+ Cloud Former (prototype)
http://aws.amazon.com/cloudformation/aws-cloudformation-templates/
75. Elastic Beanstalk Tools CloudFormation
Comprehensive service support
Amazon EC2 Instances Amazon CloudWatch Alarms
(On-Demand Instances, Spot Instances, and Reserved Instances) Amazon Simple Storage Service (S3) Buckets
Amazon Elastic Block Store (EBS) Volumes Amazon Simple DB Domains
Elastic Load Balancers Amazon Simple Queue Service (SQS) Queues
Elastic IP Addresses Amazon Simple Notification Service (SNS) Topics
Amazon EC2 Security Groups Amazon SNS Subscriptions
Auto Scaling Groups Amazon Route 53 DNS Records
Amazon Relational Database Service (RDS) Instances Amazon CloudFront Distributions and Multi-Origin support
Amazon RDS Security Groups AWS Identity and Access Management users and groups
Amazon ElastiCache Clusters AWS Identify and Access Management policies
Amazon ElastiCache Security Groups Amazon Virtual Private Cloud VPCs, Subnets, Gateways
Amazon ElastiCache Parameter Groups Amazon DynamoDB Tables
76. Elastic Beanstalk Tools CloudFormation
Comprehensive service support
Amazon EC2 Instances Amazon CloudWatch Alarms
(On-Demand Instances, Spot Instances, and Reserved Instances) Amazon Simple Storage Service (S3) Buckets
Amazon Elastic Block Store (EBS) Volumes Amazon Simple DB Domains
Elastic Load Balancers Amazon Simple Queue Service (SQS) Queues
Elastic IP Addresses Amazon Simple Notification Service (SNS) Topics
Amazon EC2 Security Groups Amazon SNS Subscriptions
Auto Scaling Groups Amazon Route 53 DNS Records
Amazon Relational Database Service (RDS) Instances Amazon CloudFront Distributions and Multi-Origin support
Amazon RDS Security Groups AWS Identity and Access Management users and groups
Amazon ElastiCache Clusters AWS Identify and Access Management policies
Amazon ElastiCache Security Groups Amazon Virtual Private Cloud VPCs, Subnets, Gateways
Amazon ElastiCache Parameter Groups Amazon DynamoDB Tables
+
AWS Elastic Beanstalk
77. High level, Fine grained,
shrink declarative
wrapped control
Elastic Beanstalk Tools CloudFormation
“I just want my app to “I want to source control
run, and I only want my entire datacenter
access to machines if I deployment like I would
really need to” my apache config”
78. High level, Fine grained,
shrink + declarative
wrapped control
Elastic Beanstalk + CloudFormation
79. High level, Fine grained,
shrink + declarative
wrapped control
Elastic Beanstalk + CloudFormation
Developer sandboxes Comprehensive control
with production ready of all aspects of
infrastructure infrastructure
80. High level, Fine grained,
shrink declarative
wrapped control
Middle ground
Elastic Beanstalk AWS CloudFormation
OpsWorks
“I just want my app to “I want to source control
run, and I only want my entire datacenter
access to machines if I deployment like I would
really need to” my apache config”
81. Elastic Beanstalk OpsWorks CloudFormation
Powerful management framework with Chef support
Stack Layers Apps Management
Managed Collection of Your application Management
environment resources assets services
Definition of environment Blueprint for a Resources to deploy Scaling, cloning, user
such as production or test collection of resources and run in layers access, self healing
(instances, EBS, EIPs
etc)
82. Elastic Beanstalk OpsWorks CloudFormation
Simple stack creation through layers
Load balancing
Layers HA Proxy installation in an availability zone
Application container
Static, Node.js, Rails, PHP
Database layer
MySQL
84. Elastic Beanstalk OpsWorks CloudFormation
Scaling and auto-healing
Auto healing
Replacement of an ec2
instance regardless of
scaling thresholds
i.e. always maintain 3
nodes across 3 AZs
85. Elastic Beanstalk OpsWorks CloudFormation
Scaling and auto-healing
Auto healing Time based scaling Load based scaling
Replacement of an ec2 Run an ec2 instance on a Add and remove instances
instance regardless of given schedule from a layer based upon
scaling thresholds load rules
i.e. always maintain 3 i.e. run these instances only i.e. run these instances only
nodes across 3 AZs during weekend peaks when CPU goes over 80%
91. Elastic Beanstalk OpsWorks CloudFormation
Customization with chef recipes
92. Get started fast with Beanstalk
(control the chaos)
Manage with layers and recipes with
OpsWorks
(control with chef customization)
Take fine grained control with
CloudFormation
(auditable environment specs)