AWS for Start-ups - Leveraging AWS for the Lean Development Cycle

1,430 views

Published on

This presentation looks at how start-ups can use AWS to power a lean lifecycle when running, scaling, and iterating.

By Ryan Shuttleworth, AWS Technical Evangelist

Published in: Technology

AWS for Start-ups - Leveraging AWS for the Lean Development Cycle

  1. 1. Leveraging AWS for the leandevelopment cycle
  2. 2. What is the “leandevelopment cycle”?
  3. 3. Sprint PivotJust in time Working software MVP Fast Fail fast; learn rapidly Stand up meetingFlexible Continuous integration Iterate Code not documentation Agility Think big; act small Last ethical point
  4. 4. Idea Product
  5. 5. Least frictionIdea Product Highest quality
  6. 6. Idea Product
  7. 7. Shortest time Idea Product Highest accuracy
  8. 8. Idea Product
  9. 9. Failing fastwhen you needtoIdea Product
  10. 10. ProductIdea Product Product
  11. 11. Freedom to Productpivot if youhave to Idea Product Product
  12. 12. How?
  13. 13. How?use a platform built for iteration
  14. 14. A startupjourney…
  15. 15. Idea Evolution1 6 Deployment It breaks 2 4 5 Automation 3 Customers
  16. 16. 1 IdeaYouve got a great idea and need to validate it with some marketing
  17. 17. Getfast feedback
  18. 18. Geta website
  19. 19. http://aws.amazon.com/cloudformation/aws-cloudformation-templates/
  20. 20. Get started with business apps in a click
  21. 21. Add a $30 template
  22. 22. Sit backtest & measure
  23. 23. Validate Define Marketing message What to buildPotential product features Priorities Social interest Wish lists 1x free tier instance Zero cost
  24. 24. Validate Define Marketing message What to buildPotential product features Priorities Social interest Wish lists AWS: 1x free tier instance Zero cost
  25. 25. Idea Evolution1 6 Deployment It breaks 2 4 5 Automation 3 Customers
  26. 26. 2 DeploymentYou got some interest, defined your MVP and built it…
  27. 27. Launch on apositive SLA
  28. 28. Launch on a positive SLAStart as you AWS lets you buildmean to go on ‘web-scale’ systems
  29. 29. Features may be lackingbut it needs to be up
  30. 30. and it should stay up
  31. 31. Deploy OperateDeliver simple things Simplify operations Deliver them well Spend more time on your application Managed ‘model’ architecture Scalability & availability from the start
  32. 32. Deploy OperateDeliver simple things Simplify operations Deliver them well Spend more time on your applicationAWS: Managed ‘model’ architecture Scalability & availability from the start
  33. 33. Idea Evolution1 6 Deployment It breaks 2 4 5 Automation 3 Customers
  34. 34. 3 CustomersPeople are using your product, lots of them from all over the world
  35. 35. Scale out
  36. 36. as-create-auto-scaling-group MyGroup --launch-configuration MyConfig --availability-zones eu-west-1a --min-size 4 --max-size 200Trigger auto-scaling policy Auto-scaling Automatic re-sizing of compute clusters based upon demand
  37. 37. Tune the Elastic Beanstalk Instance counts Cooldown Trigger metrics
  38. 38. Scale up
  39. 39. Buy time with instance sizesVertical Scaling From $0.02/hr Scale up with Elastic Compute Cloud (EC2) Basic unit of compute capacity Range of CPU, memory & local disk options Many instance types available, from micro through cluster compute to SSD backed
  40. 40. Offload
  41. 41. CloudFront World-wide content distribution network Served from S3 3 Easily distribute content /images/* to end users with low latency, high data transfer speeds, and no commitments.London 2 Served from EC2 *.php Paris 1 Single CNAME www.mysite.com NY
  42. 42. Without CloudFrontEC2 webservers/app servers loaded by userrequests
  43. 43. With CloudFrontLoad of user requests pushed intoCloudFront, EC2 cluster can scaledown Offload Scale Down
  44. 44. No CDN CDN for CDN for Static Static & Content Dynamic Content Offload Scale Down Response TimeResponse Time Response Time Server Load Server Server Load Load
  45. 45. Add a CDN and go global
  46. 46. Idea Evolution1 6 Deployment It breaks 2 4 5 Automation 3 Customers
  47. 47. 4 It breaks3am in the morning, things go wrong
  48. 48. Technical debtcatches up with you
  49. 49. Technical debtneeds paying down
  50. 50. Review Optimize RefactorDatabase backups Database performance NoSQL for data hot-spots EBS snapshots Instance sizes Caching strategies Volume sizes Provisioned IOPS Decoupling
  51. 51. Review Optimize RefactorDatabase backups Database performance NoSQL for data hot-spots EBS snapshots Instance sizes Caching strategies Volume sizes Provisioned IOPS Decoupling Ensure things Buy some time Pay downaren’t ‘hitting the with sensible technical debt sides’ tweaks you’ve accrued
  52. 52. Review Optimize RefactorDatabase backups Database performance NoSQL for data hot-spots EBS snapshots Instance sizes Caching strategies Volume sizes Provisioned IOPS Decoupling Ensure things Buy some time Pay downaren’t ‘hitting the with sensible technical debt sides’ tweaks you’ve accrued
  53. 53. Relational Database ServiceUse RDS for databases Database-as-a-Service No need to install or manage database instances Scalable and fault tolerant configurations DynamoDB Use DynamoDB for Provisioned throughput NoSQL database high performance key- Fast, predictable performance value DB Fully distributed, fault tolerant architecture
  54. 54. Amazon SQS Reliable messageProcessing results Reliable, highly scalable, queue service queuing without for storing messages as they travel Amazon SQS between instances additional software 1 Processing task/processing trigger 2Push inter-process Simple Workflow Task Aworkflows into the Reliably coordinate processing steps Task B 3 across applicationscloud with SWF (Auto-scaling) Integrate AWS and non-AWS resources Manage distributed state in complex systems Task C
  55. 55. Idea Evolution1 6 Deployment It breaks 2 4 5 Automation 3 Customers
  56. 56. 5 AutomationNo-one wants to get up at 3am ever again
  57. 57. Everything is programmableAccess everything Achieve the highest levels via CLI, API or Compute of automation Console Security Scaling sophistication with ease CDN Backup DNS Database Storage Load Balancing Workflow Monitoring Networking Messaging
  58. 58. Everything is programmable
  59. 59. Everything is programmableStart thinkinglike this guy… …is doing this to your system
  60. 60. Infrastructure as codeautomate it so you don’t have to
  61. 61. Idea Evolution1 6 Deployment It breaks 2 4 5 Automation 3 Customers
  62. 62. 6 EvolutionOperations are efficient so you have time to iterate and innovate
  63. 63. Stay leankeep testing what you are doing
  64. 64. Instrument everything, all of the time
  65. 65. Inspect the whole distribution
  66. 66. e.g. service latency Address the tail ‘the worst case’
  67. 67. e.g. service latencyImprove the overall picture
  68. 68. Put everything in logsso you can do something with it
  69. 69. Put everything in logsso you can do something with it 1 instance for 100 hours = 100 instances for 1 hour
  70. 70. Get smartand keep teams small
  71. 71. Lean meets agile
  72. 72. Lean meets agilewhile(true) { if(change checked into SVN){ build & test sleep 60 }}
  73. 73. Lean meets agile Automated testing Continuous Integration Infrastructure as code Continuous DeliveryElastic Resources Pay as you go
  74. 74. Deployments at Amazon.com: 11.6s 1,079 10,000 30,000 Mean time Max number of Mean number of Max number of between deployments in a hosts hostsdeployments single hour simultaneously simultaneously (weekday) receiving a receiving a deployment deployment
  75. 75. Idea Product
  76. 76. Least frictionIdea Product Highest quality
  77. 77. Idea Product
  78. 78. Idea Product AWS
  79. 79. Don’t take it from me…
  80. 80. …hear how a team of pros do it

×