• Save
Getting to MVP on AWS
Upcoming SlideShare
Loading in...5
×
 

Getting to MVP on AWS

on

  • 2,445 views

The 2nd part of our APAC Startup Webinar Series as presented by Pieter Kemps and Joe Ziegler

The 2nd part of our APAC Startup Webinar Series as presented by Pieter Kemps and Joe Ziegler

Statistics

Views

Total Views
2,445
Views on SlideShare
1,858
Embed Views
587

Actions

Likes
9
Downloads
0
Comments
0

3 Embeds 587

http://www.scoop.it 416
http://jiyosub.com 167
http://translate.googleusercontent.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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.

Getting to MVP on AWS Getting to MVP on AWS Presentation Transcript

  • Startups on AWS:From Idea to MVPPieter Kemps - @P_KempsBusiness Development & Venture CapitalJoe Ziegler - @jiyosubStartup Business Development Manager
  • Traditional Worldcustomer is knownfeatures are knownsolution is known
  • Traditional Worldis not where we live
  • Most startupsKnow the problem, but not the solutionMany dont even know precisely whatproblem they solve
  • Lean Startups:LEARN & ADAPT
  • 1. Focus on a simple implementation of your idea
  • 1. Focus on a simple implementation of your idea2. Start with a minimal core set of features
  • 1. Focus on a simple implementation of your idea2. Start with a minimal core set of features3. Release and listen to your users
  • 1. Focus on a simple implementation of your idea2. Start with a minimal core set of features3. Release, listen to your users, then iterateMinimum Viable Product
  • MVPSmallest thing I can do to test my idea?
  • « If youre not embarrassedwhen you ship your first versionyou waited too long »Matt MullenwegCEO & Founder of WordPress
  • amazon.com, 1995
  • amazon.com, today
  • Staying lean is creating thesmallest viable product andthen iterate around it
  • Lean Startup goal is to accelerate iteration
  • Mean Time between deployments (weekday)Max # of deployments in a single hourMean # of hosts simultaneously receiving a deploymentMax # of hosts simultaneously receiving a deployment11.6Seconds1,07910,00030,000Iteration & Innovation at Amazon.com
  • 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
  • How can I lower the cost of innovation?Fail Forward, Fail FasterHow can I launch faster & do more with less?Build Apps, Not InfrastructureHow do I develop a killer MVP?Develop Lean, Test HeavyToday
  • Fail Forward, Fail FasterBuild Apps, Not InfrastructureDevelop Lean, Test HeavyToday
  • « Want to increase innovation?Lower the cost of failure »Johi Ito
  • AWS enables you toFail ForwardFail FasterFail Cheaper
  • a prototype shouldnt require big investments
  • It should be cheap and validate ideas
  • Product DevelopmentMVPTimeScale
  • Innovation & IterationMVPTimeScale
  • Innovation & IterationTimeScaleStarted: burbn, location-based mobileapp. Photo sharing is just one featureNow: re-written asphoto app. Sold to FBfor 1bn
  • Innovation & IterationTimeScaleStarted: odeo, site to create & sharepodcastsNow: micro-blogging,500M users, >10Bnvaluation
  • Innovation & IterationTimeScaleStarted: developed 51 games, none verysuccessful. But then game 52…Now: raised $42M,downloaded 1B times,25% paid, best soldgame on AppStore
  • “Timing, perseverance, and ten years of tryingwill eventually make you look like an overnightsuccess.”Biz Stone, Twitter co-founder
  • AWS lowers the cost of InnovationTimeScaleScenarioSmall team with initial idea for Mobile app3 months to get to launchUnknown customer/problem/solutionNo cash….
  • • Internal testing with your team• 2 Tier Web - Database Servers• Use t1.micro InstancesDev / Test EnvironmentTimeScaleAverage Spend$0p/m
  • • Release to small group of ‘core testers’• 2 Tier Web & Database Servers• 2 x t1.micro InstancesAlpha ReleaseTimeScaleAverage Spend$15p/m
  • • First public release – limited audience• Master / Slave DB setup• m1.small Instances• Auto-Scaling Instances (2 Instance minimum)Beta Release / MVPTimeScaleAverage Spend$235p/m
  • Getting to MVP for $250TimeScaleTotal Spend to MVP$250$235$15$0• 3 months dev/test/release• Serving Beta customers• Ready for full productionand scale
  • • 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)TimeScaleAverage Spend$1000p/m
  • In Summary…Low Cost of IterationMeans more Innovation
  • Fail Forward, Fail FasterBuild Apps, Not InfrastructureDevelop Lean, Test HeavyToday
  • Build Apps, Not InfrastructureAWS=Automation=Launch Faster & Do more with Less
  • Your applicationYour business & what makes you uniqueInnovation, not undifferentiated heavy liftingSpending developer time in the right placeAutomate as much as you can(Deep insight alert: Developer Time = Money)FOCUS!
  • "Startups are all about focus. AWS enables focus"Ray Bradford, Kleiner Perkins, Caulfield & Byers
  • FullAutomationFullControlElasticBeanstalkCloudFormation“I just want my app torun, and I only wantaccess to machines ifI really need to”“I want to source controlmy entire datacenterdeployment like I wouldmy apache config”Build Apps, Not InfrastructureAWSOpsWorks
  • FullAutomationFullControlElasticBeanstalkCloudFormation“I just want my app torun, and I only wantaccess to machines ifI really need to”“I want to source controlmy entire datacenterdeployment like I wouldmy apache config”Build Apps, Not InfrastructureAWSOpsWorks
  • Elastic Beanstalk CloudFormationOpsWorksQuestion for you
  • Stacks available with BeanstalkElastic Beanstalk CloudFormation.NetPHPJavaPythonRubyNode.jsOpsWorks
  • Quickly deploy and manage apps in AWS…Elastic Beanstalk CloudFormationOpsWorks
  • Application package is deployed into BeanstalkElastic Beanstalk CloudFormationOpsWorks
  • User ApplicationApplication ServiceHTTP ServiceLanguage InterpreterOperating SystemHostWhich creates the container in EC2Elastic Beanstalk CloudFormationOpsWorks
  • Beanstalk takes care of the environment…Elastic Beanstalk CloudFormationOpsWorks
  • …adding Elastic Load Balancer…Elastic Beanstalk CloudFormationOpsWorks
  • …Auto Scaling groupsElastic Beanstalk CloudFormationOpsWorks
  • …and launching instancesElastic Beanstalk CloudFormationOpsWorks
  • …all wired into the Beanstalk frameworkElastic Beanstalk CloudFormationOpsWorks
  • …and published under a CNAMEElastic Beanstalk CloudFormationOpsWorks
  • …with logs and app versions held in S3Elastic Beanstalk CloudFormationOpsWorks
  • How do you create an app forAWS ElasticBeanstalk?
  • Like any other app…
  • No dependencies on AWS inherent for Beanstalk deploymentElastic Beanstalk CloudFormationSourceuploaded andexecuted inAWSSourcedownloadedand executedlocallyOpsWorks
  • Package up as normal…Elastic Beanstalk CloudFormationJava .war fileMicrosoft WebDeploy packagePHP .zip filePython .zip fileGit integrationIDE pluginsOpsWorks
  • Package up as normal…Elastic Beanstalk CloudFormationJava .war fileMicrosoft WebDeploy packagePHP .zip filePython .zip fileGit integrationIDE pluginsOpsWorks
  • With ElasticBeanstalk…Full admin access on underlying resourcesEC2 instances, AMIs, AutoScaling groups…
  • Cost of ElasticBeanstalk?$0
  • FullAutomationFullControlElasticBeanstalkCloudFormation“I just want my app torun, and I only wantaccess to machines ifI really need to”“I want to source controlmy entire datacenterdeployment like I wouldmy apache config”Build Apps, Not InfrastructureAWSOpsWorks
  • What happens under the covers of Beanstalk?Elastic Beanstalk CloudFormationElasticBeanstalkAWSCreate security groupCreate auto-scaling policyCreate elastic load balancerAdd instanceInstall softwareConsolidate logsOpsWorks
  • What happens under the covers of Beanstalk?Elastic Beanstalk CloudFormationAWSCreate security groupCreate auto-scaling policyCreate elastic load balancerAdd instanceInstall softwareConsolidate logsA series of calls into AWSto marshal resourcecreation/configurationOpsWorks
  • Elastic Beanstalk CloudFormationCloudFormationA consistent scripting interface forcreating/configuring AWSresourcesA framework for lifecyclemanagement of resourcescreated using scriptsSecurityScalingDatabaseNetworkingMonitoringMessagingWorkflowDNSLoad BalancingBackupCDNComputeStorageCloudFormation – underlying automation frameworkOpsWorks
  • CloudFormation components & terminologyTemplateCloudFormationStackJSON formatted fileParameter definitionResource creationConfiguration actionsConfigured AWS servicesComprehensive service supportService event awareCustomisableFrameworkStack creationStack updatesError detection and rollbackCloudFormationElastic Beanstalk OpsWorks
  • The benefit of templated environmentsTemplateProcedural definitionCreate it programmaticallyCloudFormationElastic Beanstalk OpsWorks
  • The benefit of templated environmentsTemplateProcedural definitionCreate it programmaticallyKnown configurationStore stack configuration insource controlCloudFormationElastic Beanstalk OpsWorks
  • The benefit of templated environmentsTemplateProcedural definitionCreate it programmaticallyKnown configurationStore stack configuration insource controlParameter drivenDynamic and user-driventemplatesCloudFormationElastic Beanstalk OpsWorks
  • The benefit of templated environmentsTemplateProcedural definitionCreate it programmaticallyKnown configurationStore stack configuration insource controlParameter drivenDynamic and user-driventemplatesCollaborationShare templates with ease asjust filesCloudFormationElastic Beanstalk OpsWorks
  • Cost of CloudFormation?$0
  • FullAutomationFullControlElasticBeanstalkCloudFormation“I just want my app torun, and I only wantaccess to machines ifI really need to”“I want to source controlmy entire datacenterdeployment like I wouldmy apache config”Build Apps, Not InfrastructureAWSOpsWorks
  • Powerful management framework with Chef supportElastic Beanstalk CloudFormationStack Layers ManagementManagedenvironmentDefinition of environmentsuch as production or testManagementservicesScaling, cloning, useraccess, self healingCollection ofresourcesBlueprint for acollection of resources(instances, EBS, EIPsetc)OpsWorksAppsYour applicationassetsResources to deployand run in layers
  • Simple stack creation through layersElastic Beanstalk CloudFormationOpsWorksLayersLoad balancingHA Proxy installation in an availability zoneApplication containerStatic, Node.js, Rails, PHPDatabase layerMySQL
  • Scaling and auto-healingElastic Beanstalk CloudFormationOpsWorksAuto healingReplacement of an ec2instance regardless ofscaling thresholdsi.e. always maintain 3nodes across 3 AZsTime based scalingRun an ec2 instance on agiven schedulei.e. run these instances onlyduring weekend peaksLoad based scalingAdd and remove instancesfrom a layer based uponload rulesi.e. run these instances onlywhen CPU goes over 80%
  • Cost of AWS OpsWorks?$0
  • 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)
  • Build Apps, Not InfrastructureWhy do you care?
  • …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 2013on AWS…with only 3 engineers
  • “Your users around the world don’tcare that you wrote your own DB”Mike Krieger, Instagram Cofounder
  • Fail Forward, Fail FasterBuild Apps, Not InfrastructureDevelop Lean, Test HeavyToday
  • Develop Lean, Test HeavyTake lots of it when you need itUnlimited elastic capacity1. Spinning up environments as you need them2. Development and test frameworks in AWS3. Testing at Scale4. Rolling out to Production5. Preserve for future reference
  • 1.Spinning up environments as you need them
  • Spinning up environments in a way that suits youDo it yourself CloudFormationBeanstalkAMIs, snapshots,boostrappingUsing core AWS features to setup an environment to meet yourneedsUse console or enact throughsimple scriptingDeclaratively definedto your requirementsTake full control of complexenvironments using CloudFormation template languageGenerate environmentspecifications as you buildsoftwareManaged standardcontainersGive development & testenvironments to developersdirect from IDEsConfigure containers to meetyour needs through properties
  • 2.Development and test frameworks in AWS
  • AWS is open and flexible – build your dev-test systemsFrameworks & environmentsSource controlLeverage EC2 to run popular sourcecontrol systemsProject managementAdd integrated projectmanagement and issue trackingWorkstationsEnable standard builddeveloper/test workstationsBuild serversUse EC2 horsepower to drive buildservers and continuous integration
  • 3.Testing at Scale
  • Create environments to support specific test typesTesting at scaleUnit & regressionScale up and parallel run unit andregression plans in a fraction of thetimeLoad & performanceUtilize spot market for generatingload and test how applicationsperform with auto-scalingA/BRun A/B scenario testing withreplica stacksSecurityCreate sandboxes for aggressivesecurity testing
  • Load & Performance TestBees with Machine Guns!
  • Bees with Machine GunsEC2 Instance ContentsInstancesEC2 Instance ContentsAmazon CloudWatch#1 Spawns#3 MonitorsMy Appgithub.com/newsapps/beeswithmachineguns
  • DEMO
  • 4.Rolling out to Production
  • Auto ScalingGroupV1ElasticLoadBalancerAmazonRelationalDatabase Service(RDS)
  • Auto ScalingGroupV1Auto ScalingGroupV2ElasticLoadBalancerAmazonRelationalDatabase Service(RDS)
  • Auto ScalingGroupV1Auto ScalingGroupV2ElasticLoadBalancerAmazonRelationalDatabase Service(RDS)
  • Auto ScalingGroupV1Auto ScalingGroupV2ElasticLoadBalancerAmazonRelationalDatabase Service(RDS)
  • Auto ScalingGroupV2ElasticLoadBalancerAmazonRelationalDatabase Service(RDS)
  • 5.Preserve for future reference
  • Dispose for cost optimization, but preserve critical configurationsDisposable environments can be recreatedAMIsCreate a catalog of AMIs foreach iteration of an applicationStored in S3TemplatesSource control infrastructuretemplates with everyapplication versionSnapshotsSave disk images with ‘frozen’data sets and attach to instanceswhen needed
  • Dispose for cost optimization, but preserve critical configurationsDisposable environments can be recreatedAMIsCreate a catalog of AMIs foreach iteration of an applicationStored in S3TemplatesSource control infrastructuretemplates with everyapplication versionSnapshotsSave disk images with ‘frozen’data sets and attach to instanceswhen neededRoll back and recreate an environment for any given application version
  • What’s Next?Today
  • aws.amazon.com/codeLeverage the AWS Developer ToolsCode, Libs, SDK’s, Architectures and moreaws.amazon.com/developertools
  • aws.amazon.com/tools
  • aws.amazon.com/tools
  • aws.amazon.com/ruby
  • aws.amazon.com/architecture
  • Visit aws.amazon.com/startups2 more Startup webinars:1. From MVP to Scale on AWS May 212. From Scale to Profitability on AWS June 4Sign up here: aws.amazon.com/apac/startupwebinarsFill up your feedback form !
  • Questions?Pieter Kemps – Business Development & Venture CapitalJoe Ziegler – Startup Business Development Manager