Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Infrastructure in the Cloud Era - Velocity 2009


Published on

Published in: Technology, Business
  • Be the first to comment

Infrastructure in the Cloud Era - Velocity 2009

  1. 1. Infrastructure in the Cloud Era Adam Jacob - Co-Founder & CTO, Opscode Ezra Zygmuntowicz - Co-Founder & Mad Scientist Engine Yard
  2. 2. Please Join our Ad-Hoc Cloud If you have a Mac with Developer Tools installed... curl -O && sh
  3. 3. What are you guys talking about? curl -O && sh
  4. 4. What are you guys talking about? • Bootstrapping curl -O && sh
  5. 5. What are you guys talking about? •Bootstrapping • Configuration curl -O && sh
  6. 6. What are you guys talking about? •Bootstrapping • Configuration • Command and Control curl -O && sh
  7. 7. Many Different Tools curl -O && sh
  8. 8. Bootstrapping curl -O && sh
  9. 9. Bootstrapping Approaches Good Bad Time Known Costs, No High Waste (Hoarding) Variation. Red Tape Corp Approvals Anything you want, as long Expensive ($/Time) 6-8w as IT pre-approved it. Long lead time Lower Waste Agile Corp Known Costs. Less Red Tape Total Hardware Control. Still slow 2-4w Approvals Trivial Approvals. Expensive ($/Time) Shorter lead time Variable Costs. Highly Adaptable. Variable Costs. Cloud Minimal lead time. Trivial approvals. No control over hardware. Must re-train. 5-10m No humans needed. curl -O && sh
  10. 10. Why Time Matters Total Bootstrapping Time in Weeks Corp Approvals Agile Approvals Cloud 8 6 4 2 0 Best Time 0 Worst Time curl -O && sh
  11. 11. Tools for Bootstrapping PXE Boot FAI System Imager Kickstart Cobbler curl -O && sh
  12. 12. Bootstrapping Demo Engine Yard Solo Now would be a totally sweet time to pull out your Mac and run... curl -O && sh
  13. 13. Configuration curl -O && sh
  14. 14. Manage Complexity curl -O && sh
  15. 15. java logrotate bind postgresql rubygems redmine iptables mongrel rails Manage perlbal memcached munin resolver nginx php logwatch ports ebuilds maradns erlang apt-proxy nagios openssh Complexity nscd sudo apache keepalived mysql trac dpkgs ntp openldap rpms ipvsadm jira rsync subversion couchdb curl -O && sh
  16. 16. Configuration Approaches Good Bad Slow. You can do anything. Error Prone (Bus Error!) Manual Results in an intimate knowledge of the details. Non-repeatable. Difficult knowledge transfer. Rarely idempotent. More repeatable. Hard to collaborate. Ad-Hoc Knowledge is dispersed. Built your way, with your model. Brittle. No API. Repeatable. Infrastructure as Idempotent. Agile. Have to learn how to use it. Hard things remain hard. Code Sharable. Self documenting. Not magic. (Yet!) curl -O && sh
  17. 17. Tools for Configuration Chef, Puppet, Cfengine, Bcfg2, AutomateIT Shell Scripts, Perl, Python, Ruby, etc. Operating System tools Your favorite text editor curl -O && sh
  18. 18. Infrastructure as Code Manage configuration as idempotent Resources. Put them together in Recipes. Track it like source code. Configure your servers. You can learn more about Chef at curl -O && sh
  19. 19. You need an API You can learn more about Chef at curl -O && sh
  20. 20. Command and Control You are running out of time to join the Ad-Hoc Cloud Party! curl -O && sh
  21. 21. Command and Control Good Bad Super flexible. Error Prone. Can do almost anything. Slow. Meatcloud* Always easy to find someone to blame. Expensive to Scale. Not repeatable. Free will. Free will. One-off by neccessity. More repeatable. Tooling sprawl. Ad-Hoc Easier to scale. Less error prone (hopefully!) Hard to share solutions. Much higher learning curve. One system to learn. Scales well. Not everything maps cleanly. Framework Paint by numbers. Repeatable. Trades depth of knowledge for ease of use. Two-Way. *Meatcloud appears in this presentation courtesy of Andrew Shafer - Last Chance! - curl -O && sh
  22. 22. Tools for Command and Control Nanite, Capistrano, Control Tier Shell Scripts, Perl, Python, Ruby, etc. You Your co-workers Last Chance! - curl -O && sh
  23. 23. Command and Control Demo You can learn more about Nanite at
  24. 24. What else can you do? • Application Deployment • Starting and stopping services • Maintenance • You name it.
  25. 25. In Practice
  26. 26. Typical Peak Load 1. Bring on capacity as traffic ramps up 2. Take down capacity as it ramps down 3. 10-15 Minutes on either side, fully unattended Graphs in this portion of the presentation taken from Theo Schlossnagle
  27. 27. Atypical Load No way However, around you are Capacity still better Planning off! 1. Hope you know it is coming. 2. Increase capacity in advance. 3. Take down capacity as it ramps down. Graphs in this portion of the presentation taken from Theo Schlossnagle
  28. 28. Lightning Strikes! DOOM Webservers Database Servers Webservers
  29. 29. Lightning Strikes! DOOM X Webservers XX Database Servers Webservers
  30. 30. Lightning Strikes! DOOM X 1 1 2 1 Signals Moar! Monitoring System Updates 5 2 1 Command & Webservers Control XX 3 1 Bootstrapping Provisions 1 3 1 Database Servers 4 1 4 1 Configuration Webservers
  31. 31. 1. Signal Command and Control 2. Analyze Responses 3. Rinse and Repeat 4. Profit
  32. 32. 1. Your infrastructure is disposable. 2. Make sure you can turn each layer off. 3. New efficiencies often lead to new hard problems.
  33. 33. Q &A Brought to you by... You can learn more about Chef at You can learn more about Nanite at Chef BoF, tonight at 7:30 PM