This mid-level technical session will help you choose among the AWS services that can help you deploy and run your applications more easily. You will learn how to get an application running using AWS OpsWorks and AWS Elastic Beanstalk and how to use AWS CloudFormation templates to document, version control, and share your application configuration
2. What you will learn in this session
• Deployment approaches on AWS
• Overview of each approach, and when to use
• Demo how to get an application running
• Customer story: Steve Blake from SportPursuit
10. Jane Doe, Elastic Beanstalk developer
• Role: Developer
• Builds web apps, APIs, and handles some
background processing workloads
• Needs some flexibility to customize her app
environments
• Wants simple API to monitor, view logs, scale,
and deploy her apps
11. The demonstration
• A PHP application that
stores text messages in
a database
• Uses Elastic Load
Balancing and Amazon
RDS
Load-based Auto Scaling
PHP
App
Server
PHP
App
Server
PHP
App
Server
12. Demo time
• Checkout app from GitHub
• Integrate with the eb command line tool
• Deploy from the command line
• View the console
• Change, commit, and deploy
21. John Doe, AWS OpsWorks Developer
• Role: Developer
• Builds apps with broad architectural patterns
and software; e.g., MongoDB and Solr
• Needs a high degree of flexibility to customize
app environments
• Wants APIs to control all aspects of application
operations including deployments and scaling
23. The heart of the service
Agent
on
each
EC2
instance
OpsWorks
talks
with
24. Overview
A
stack
represents
your
applica9on.
One
stack
might
be
used
for
staging
and
another
for
produc9on.
A
layer
defines
how
to
setup
and
configure
a
set
of
instances
and
related
resources
such
as
volumes
and
soAware.
Simply
tell
OpsWorks
where
it
can
find
your
code
and
define
any
addi9onal
deployment
tasks.
Then
OpsWorks
will
take
care
of
deploying
your
app
in
your
desired
configura9on.
Scale
your
stack
based
on
9me
or
load.
Clone
your
produc9on
stack
to
a
different
region.
Set
up
user
permissions
and
access.
Automate
workflows
for
common
tasks.
25. Layer Lifecycle Events & Recipes
• Layer lifecycle events
(You can also run recipes on demand)
• Chef Recipes
Built-in
Custom
Triggers
30. Jean Doe, CloudFormation Architect
• Role: Architect
• Builds architectures to host whole products or
organizations
• Needs to be able to control the whole
architecture, from networking to app config
• Wants to be able to version and track
architecture changes over time, and have
repeatable deployment
31. AWS CloudFormation: Model Your App
• Document, version control, and share your
applications and infrastructure as a JSON
document
• Provision app and other AWS resources
(Amazon VPC, DynamoDB, etc.) from a
template
• Repeatable, reliable deployments for test/dev/
prod in any AWS region
32. Elastic Beanstalk or AWS OpsWorks Resource
AppELB
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
38. Ninja Doe, Roll your own specialist
• Role: everything
• Builds systems
• Needs total control and customization
• Wants to be able to change systems at any
level, and reuse existing deployment approach
40. What we discussed
• Deployment approaches on AWS
• Overview of each approach, and when to use
• Demo how to get an application running
• Customer story: Steve Blake from SportPursuit
41. AWS
Elastic Beanstalk
AWS
OpsWorks
AWS
CloudFormation
Code
+ Tools
+ SDKs
Get started:
http://amzn.to/1dh8QkU
Follow us @aws_eb
Get started:
http://amzn.to/1bSHOPN
Follow us @AWSOpsWorks
Get started:
http://amzn.to/1m11Z3K
Follow us @AWSCloudFormer
Learn More
Get started:
http://amzn.to/1mbXZLB
42. Deployment Done Right: Requirements and
Considerations for Easy App Deployment
Steve Blake - CTO
steve.blake@sportpursuit.com
www.sportpursuit.com
43. SportPursuit – Business Overview
• Founded in 2011
• What – Flash sale business unbeatable deals on the world’s best
sports & outdoor gear
• Why – to inspire more people to discover gear they’ll fall in love with
• 1m+ Members – the UK’s largest private shopping club for sports &
outdoor enthusiasts
• 3x YoY growth
• 600+ of the world’s best sports brands
• 40% of brands from outside of the UK
• 70% of purchasers buying brand for the 1st time
• UK & AU + shipping to 40+ countries
45. Technical Overview
• AWS
– Used since 2011, when business started
– Chosen to prove business model – Cost, lack of long term
contracts
– ‘All In’
• Magento
• Stack: Nginx, PHP, MySQL
• Optimization: Varnish, Redis, Memcached,
Elasticsearch
47. Past Deployment Challenges
• Out of sync
– Different releases of code
– Snapshot based
– Out of date new instances
• Manual deployments
– Code repository based
– Time consuming
51. Deployment Solution
• New instances
• Boto
– Upstart
– Rolling deployment
• S3
– 5 Release archive
– Current release
– Rollback
52. Summary
• Variety of tools
– AWS specific
– Open source community
– Powerful AWS interface
• Solution to suite your needs
• Help
– AWS business support
– Community, forums etc
53. Deployment Done Right: Requirements and
Considerations for Easy App Deployment
Steve Blake - CTO
steve.blake@sportpursuit.com
www.sportpursuit.com