1. Startups on AWS:
From Idea to MVP
Pieter Kemps - @P_Kemps
Business Development & Venture Capital
Joe Ziegler - @jiyosub
Startup Business Development Manager
6. 1. Focus on a simple implementation of your idea
7. 1. Focus on a simple implementation of your idea
2. Start with a minimal core set of features
8. 1. Focus on a simple implementation of your idea
2. Start with a minimal core set of features
3. Release and listen to your users
9. 1. Focus on a simple implementation of your idea
2. Start with a minimal core set of features
3. Release, listen to your users, then iterate
Minimum Viable Product
16. Mean Time between deployments (weekday)
Max # of deployments in a single hour
Mean # of hosts simultaneously receiving a deployment
Max # of hosts simultaneously receiving a deployment
11.6
Seconds
1,079
10,000
30,000
Iteration & Innovation at Amazon.com
17.
18. How can I lower the cost of innovation?
How can I launch faster & do more with less?
How do I develop a killer MVP?
Today
19. How can I lower the cost of innovation?
Fail Forward, Fail Faster
How can I launch faster & do more with less?
Build Apps, Not Infrastructure
How do I develop a killer MVP?
Develop Lean, Test Heavy
Today
20. Fail Forward, Fail Faster
Build Apps, Not Infrastructure
Develop Lean, Test Heavy
Today
21. « Want to increase innovation?
Lower the cost of failure »
Johi Ito
29. Innovation & Iteration
Time
Scale
Started: developed 51 games, none very
successful. But then game 52…
Now: raised $42M,
downloaded 1B times,
25% paid, best sold
game on AppStore
30. “Timing, perseverance, and ten years of trying
will eventually make you look like an overnight
success.”
Biz Stone, Twitter co-founder
31. AWS lowers the cost of Innovation
Time
Scale
Scenario
Small team with initial idea for Mobile app
3 months to get to launch
Unknown customer/problem/solution
No cash….
32. • Internal testing with your team
• 2 Tier Web - Database Servers
• Use t1.micro Instances
Dev / Test Environment
Time
Scale
Average Spend
$0
p/m
33. • Release to small group of ‘core testers’
• 2 Tier Web & Database Servers
• 2 x t1.micro Instances
Alpha Release
Time
Scale
Average Spend
$15
p/m
34. • First public release – limited audience
• Master / Slave DB setup
• m1.small Instances
• Auto-Scaling Instances (2 Instance minimum)
Beta Release / MVP
Time
Scale
Average Spend
$235
p/m
35. Getting to MVP for $250
Time
Scale
Total Spend to MVP
$250
$235$15$0
• 3 months dev/test/release
• Serving Beta customers
• Ready for full production
and scale
36. • Full production, ready to scale to 1000s of users
• Multi AZ Web & DB Servers
• m1.medium Web Instances & Read Slaves
• m1.large DB Master Server
• Auto-Scaling Instances (2 Instance minimum)
Production
(v 1.0)
Time
Scale
Average Spend
$1000
p/m
38. Fail Forward, Fail Faster
Build Apps, Not Infrastructure
Develop Lean, Test Heavy
Today
39. Build Apps, Not Infrastructure
AWS
=
Automation
=
Launch Faster & Do more with Less
40. Your application
Your business & what makes you unique
Innovation, not undifferentiated heavy lifting
Spending developer time in the right place
Automate as much as you can
(Deep insight alert: Developer Time = Money)
FOCUS!
41. "Startups are all about focus. AWS enables focus"
Ray Bradford, Kleiner Perkins, Caulfield & Byers
48. User Application
Application Service
HTTP Service
Language Interpreter
Operating System
Host
Which creates the container in EC2
Elastic Beanstalk CloudFormationOpsWorks
49. Beanstalk takes care of the environment…
Elastic Beanstalk CloudFormationOpsWorks
58. No dependencies on AWS inherent for Beanstalk deployment
Elastic Beanstalk CloudFormation
Source
uploaded and
executed in
AWS
Source
downloaded
and executed
locally
OpsWorks
59. Package up as normal…
Elastic Beanstalk CloudFormation
Java .war file
Microsoft Web
Deploy package
PHP .zip file
Python .zip file
Git integrationIDE plugins
OpsWorks
60. Package up as normal…
Elastic Beanstalk CloudFormation
Java .war file
Microsoft Web
Deploy package
PHP .zip file
Python .zip file
Git integrationIDE plugins
OpsWorks
64. What happens under the covers of Beanstalk?
Elastic Beanstalk CloudFormation
Elastic
Beanstalk
AWS
Create security group
Create auto-scaling policy
Create elastic load balancer
Add instance
Install software
Consolidate logs
OpsWorks
65. What happens under the covers of Beanstalk?
Elastic Beanstalk CloudFormation
AWS
Create security group
Create auto-scaling policy
Create elastic load balancer
Add instance
Install software
Consolidate logs
A series of calls into AWS
to marshal resource
creation/configuration
OpsWorks
66. Elastic Beanstalk CloudFormation
CloudFormation
A consistent scripting interface for
creating/configuring AWS
resources
A framework for lifecycle
management of resources
created using scripts
Security
Scaling
Database
Networking
Monitoring
Messaging
Workflow
DNS
Load Balancing
BackupCDN
Compute
Storage
CloudFormation – underlying automation framework
OpsWorks
67. CloudFormation components & terminology
Template
CloudFormation
Stack
JSON formatted file
Parameter definition
Resource creation
Configuration actions
Configured AWS services
Comprehensive service support
Service event aware
Customisable
Framework
Stack creation
Stack updates
Error detection and rollback
CloudFormationElastic Beanstalk OpsWorks
68. The benefit of templated environments
Template
Procedural definition
Create it programmatically
CloudFormationElastic Beanstalk OpsWorks
69. The benefit of templated environments
Template
Procedural definition
Create it programmatically
Known configuration
Store stack configuration in
source control
CloudFormationElastic Beanstalk OpsWorks
70. The benefit of templated environments
Template
Procedural definition
Create it programmatically
Known configuration
Store stack configuration in
source control
Parameter driven
Dynamic and user-driven
templates
CloudFormationElastic Beanstalk OpsWorks
71. The benefit of templated environments
Template
Procedural definition
Create it programmatically
Known configuration
Store stack configuration in
source control
Parameter driven
Dynamic and user-driven
templates
Collaboration
Share templates with ease as
just files
CloudFormationElastic Beanstalk OpsWorks
74. Powerful management framework with Chef support
Elastic Beanstalk CloudFormation
Stack Layers Management
Managed
environment
Definition of environment
such as production or test
Management
services
Scaling, cloning, user
access, self healing
Collection of
resources
Blueprint for a
collection of resources
(instances, EBS, EIPs
etc)
OpsWorks
Apps
Your application
assets
Resources to deploy
and run in layers
75. Simple stack creation through layers
Elastic Beanstalk CloudFormationOpsWorks
Layers
Load balancing
HA Proxy installation in an availability zone
Application container
Static, Node.js, Rails, PHP
Database layer
MySQL
76. Scaling and auto-healing
Elastic Beanstalk CloudFormationOpsWorks
Auto healing
Replacement of an ec2
instance regardless of
scaling thresholds
i.e. always maintain 3
nodes across 3 AZs
Time based scaling
Run an ec2 instance on a
given schedule
i.e. run these instances only
during weekend peaks
Load based scaling
Add and remove instances
from a layer based upon
load rules
i.e. run these instances only
when CPU goes over 80%
78. Get started fast with Beanstalk
(Developer sandboxes with production ready infrastructure)
Take fine grained control with CloudFormation
(Comprehensive control of all aspects of infrastructure)
Manage with layers and recipes - OpsWorks
(control with Chef customization)
80. …grew to 14 million users in just over a year
…reached 150 million photos & terabytes of data
…signed up 1.0 million users in 12 hours after launching an Android app
…over 100 million active users in January 2013
on AWS…with only 3 engineers
81. “Your users around the world don’t
care that you wrote your own DB”
Mike Krieger, Instagram Cofounder
82. Fail Forward, Fail Faster
Build Apps, Not Infrastructure
Develop Lean, Test Heavy
Today
83. Develop Lean, Test Heavy
Take lots of it when you need it
Unlimited elastic capacity
1. Spinning up environments as you need them
2. Development and test frameworks in AWS
3. Testing at Scale
4. Rolling out to Production
5. Preserve for future reference
85. Spinning up environments in a way that suits you
Do it yourself CloudFormationBeanstalk
AMIs, snapshots,
boostrapping
Using core AWS features to set
up an environment to meet your
needs
Use console or enact through
simple scripting
Declaratively defined
to your requirements
Take full control of complex
environments using Cloud
Formation template language
Generate environment
specifications as you build
software
Managed standard
containers
Give development & test
environments to developers
direct from IDEs
Configure containers to meet
your needs through properties
87. AWS is open and flexible – build your dev-test systems
Frameworks & environments
Source control
Leverage EC2 to run popular source
control systems
Project management
Add integrated project
management and issue tracking
Workstations
Enable standard build
developer/test workstations
Build servers
Use EC2 horsepower to drive build
servers and continuous integration
91. Create environments to support specific test types
Testing at scale
Unit & regression
Scale up and parallel run unit and
regression plans in a fraction of the
time
Load & performance
Utilize spot market for generating
load and test how applications
perform with auto-scaling
A/B
Run A/B scenario testing with
replica stacks
Security
Create sandboxes for aggressive
security testing
103. Dispose for cost optimization, but preserve critical configurations
Disposable environments can be recreated
AMIs
Create a catalog of AMIs for
each iteration of an application
Stored in S3
Templates
Source control infrastructure
templates with every
application version
Snapshots
Save disk images with ‘frozen’
data sets and attach to instances
when needed
104. Dispose for cost optimization, but preserve critical configurations
Disposable environments can be recreated
AMIs
Create a catalog of AMIs for
each iteration of an application
Stored in S3
Templates
Source control infrastructure
templates with every
application version
Snapshots
Save disk images with ‘frozen’
data sets and attach to instances
when needed
Roll back and recreate an environment for any given application version
111. Visit aws.amazon.com/startups
2 more Startup webinars:
1. From MVP to Scale on AWS May 21
2. From Scale to Profitability on AWS June 4
Sign up here: aws.amazon.com/apac/startupwebinars
Fill up your feedback form !
112. Questions?
Pieter Kemps – Business Development & Venture Capital
Joe Ziegler – Startup Business Development Manager
Notas del editor
Pour illustrer le launch early
Apollo Environments and StagesMonth of MayAt Amazon, every 11.6 seconds, someone is kicking off a deployment into production. Amazon is doing continous deployment with deployments happening every 11.6 seconds average weekdayFor the month of may, we kicked off a total of 1079 deployments in a single hour into prodOn an average there are around 10,000 hosts receiving a deployment simultanously across a whole bunch of multiple environmentsFor the month of may, we had a peak of around 30,000 hosts simultanously receiving a deployment
TIME TO MARKETNeed to launch the business quicklyLong development cycles and high costsInability to experiment and test the hypotheses that underpin the businessSCALABILITYUnpredictable demandNeed to deal with spiky traffic or sudden increase in usersNeed to scale out to cover new markets / regionsCOST & REVENUENo CAPEX budget Inability to forecast demand & commit long term contractsNeed to run a lean business & focus on generating revenue
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
Pour illustrer le launch early
AWS lets you lower the cost of innovationAccelerate your speed, be more agile, increase the value of your product.
AWS lets you lower the cost of innovationAccelerate your speed, be more agile, increase the value of your product.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
AWS lets you lower the cost of innovationAccelerate your speed, be more agile, increase the value of your product.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
SERVICE
Defaults to min 1
Log files and application versions in S3
Until then no one really used it in the real worldsuddenly, you have to deal with infrastructure
Until then no one really used it in the real worldsuddenly, you have to deal with infrastructure
Until then no one really used it in the real worldsuddenly, you have to deal with infrastructure
Until then no one really used it in the real worldsuddenly, you have to deal with infrastructure
Until then no one really used it in the real worldsuddenly, you have to deal with infrastructure
AWS lets you lower the cost of innovationAccelerate your speed, be more agile, increase the value of your product.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
Each autoscaling group uses a different set of AMIAMI-B contains the test code.
We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.