Why Your Start Up Needs An Automated Infrastructure Presentation


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 13 years as a Systems Administrator From garages to public companies How many people are systems administators? How many people are software developers? How many people conisder themsleves primarily concerned with business?
  • Why Your Start Up Needs An Automated Infrastructure Presentation

    1. 1. Why Startups Need Automated Infrastructures Adam Jacob Senior Partner HJK Solutions [email_address]
    2. 2. Overview <ul><li>What is an “Automated Infrastructure”? </li></ul><ul><li>Why is it so important? </li></ul><ul><li>MonkeyNews - A Case Study </li></ul><ul><li>Review </li></ul><ul><li>Q & A </li></ul>
    3. 3. Disclaimer <ul><li>These are the tools we use </li></ul><ul><li>They are not the only tools </li></ul><ul><li>They may or may not be the right tools for how you work or think </li></ul>Symbol From IIT Bombay
    4. 4. What is an “Automated Infrastructure”?
    5. 5. Automated <ul><li>”…a process which may once have been performed manually but has been altered in some way which allows a machine or computer to either wholly or partially manipulate the process to save time” </li></ul>
    6. 6. Infrastructure <ul><li>“Infrastructure is generally a set of interconnected structural elements that provide the framework supporting an entire structure” </li></ul>
    7. 7. Automated Infrastructure <ul><li>“Having the basic services necessary for your business to operate largely without the aid of a keeper.” </li></ul>
    8. 8. Why is it so important?
    9. 9. To your Operations Staff <ul><li>Mitigates some failures </li></ul><ul><li>They want to be lazy </li></ul><ul><li>Repetition leads to burnout </li></ul><ul><li>They want to say “Yes” </li></ul>
    10. 10. For Startups <ul><li>Time </li></ul><ul><li>Efficiency </li></ul><ul><li>Scalability </li></ul><ul><li>Economics </li></ul><ul><li>Flexibility </li></ul>
    11. 11. The Jesse Robbins (mis)Quote <ul><li>“Operations is the act of extracting value from your resources.” </li></ul>
    12. 12. MonkeyNews - A Case Study All the hottest Monkey news, as selected by your monkey-loving peers! Courtesy National Geographic
    13. 13. What is MonkeyNews <ul><li>Small Startup </li></ul><ul><li>“ Like Digg, only about Monkeys” </li></ul><ul><li>Going to sell Advertising as a revenue model </li></ul>
    14. 14. MonkeyNews on Launch Day
    15. 15. Steps to Launch
    16. 16. Steps to Launch - OS Install <ul><li>Manual </li></ul><ul><li>Install each system by hand </li></ul><ul><li>1 hour per system </li></ul>
    17. 17. Steps to Launch - OS Install <ul><li>Automated </li></ul><ul><li>Ops1prod built manually </li></ul><ul><ul><li>1 hour </li></ul></ul><ul><li>Automated install system (PXE) </li></ul><ul><li>EC2, Cloud </li></ul>
    18. 18. Steps to Launch - OS Install
    19. 19. Steps to Launch - DNS <ul><li>Manual </li></ul><ul><li>Update each machine in /etc/hosts </li></ul><ul><li>Automated </li></ul><ul><li>Install a DNS Server </li></ul><ul><li>Use a service provider </li></ul>
    20. 20. Steps to Launch - Server Inventory <ul><li>Manual </li></ul><ul><li>Use a wiki </li></ul><ul><li>Automated </li></ul><ul><li>Use iClassify </li></ul><ul><li>Roll your own </li></ul>
    21. 21. Steps to Launch - Identity Management <ul><li>Manual </li></ul><ul><li>Add each user everywhere </li></ul><ul><li>Automated </li></ul><ul><li>Use LDAP or AD </li></ul>
    22. 22. Steps to Launch - Version Control <ul><li>An Easy One </li></ul><ul><li>You must use version control </li></ul>Symbol From IIT Bombay
    23. 23. Steps to Launch - Configuration Management <ul><li>Manual </li></ul><ul><li>Version Control </li></ul><ul><li>Wiki </li></ul><ul><li>Check in copies of config files </li></ul><ul><li>Try and keep a record of what you have done </li></ul>
    24. 24. Steps to Launch - Configuration Management <ul><li>Automated </li></ul><ul><li>Puppet </li></ul><ul><li>Cfengine </li></ul><ul><li>Bcfg2 </li></ul><ul><li>Infrastructure as Code </li></ul>
    25. 25. Puppet Example - sudo
    26. 26. Puppet Example - sudo
    27. 27. Steps to Launch - Configuration Management <ul><li>Automation is Key </li></ul><ul><li>50+ Different Applications </li></ul><ul><li>ad, apache2, apt-proxy, beaver, build-essential, capistrano, yum, apt, djbdns, emacs, erubis, rubygems, iclassify, imagemagick, iptables, java, logrotate, man, maradns, memcached, mongrel-runit, munin, mysql, nagios, nscd, ntp, openldap, openssh, perl, perlbal, php, postfix, postgresql, puppet, rails, resolver, rsync, ruby, runit, sqlite, subversion, sudo, trac, zsh </li></ul><ul><li>Why repeat yourself? </li></ul>
    28. 28. Steps to Launch - Monitoring <ul><li>Manual </li></ul><ul><li>Add each server by hand </li></ul><ul><li>Automated </li></ul><ul><li>Use your System Inventory and Configuration Management Tools </li></ul>
    29. 29. Steps to Launch - Trending <ul><li>Manual </li></ul><ul><li>Add each server and graph by hand </li></ul><ul><li>Automated </li></ul><ul><li>Use your System Inventory and Configuration Management Tools </li></ul>
    30. 30. Steps to Launch - Email <ul><li>Another Easy One </li></ul><ul><li>Every server must be able to send email locally. </li></ul>Symbol From IIT Bombay
    31. 31. Steps to Launch - Application Deployment <ul><li>Manual </li></ul><ul><li>Update the application by hand </li></ul><ul><li>Automated </li></ul><ul><li>Use Capistrano </li></ul><ul><li>Roll your own </li></ul><ul><li>Integrate with System Inventory </li></ul>
    32. 32. Launch Day
    33. 33. Tech Crunched! <ul><li>Symptoms </li></ul><ul><li>Monitors alert </li></ul><ul><li>Trending shows the traffic spike </li></ul><ul><li>Your RSS reader has the culprit </li></ul>
    34. 34. Tech Crunched! - EC2 <ul><li>Launch more capacity. </li></ul><ul><li>Two minutes later, they are up </li></ul>
    35. 35. Tech Crunched! - iClassify <ul><li>Classify the Servers </li></ul>
    36. 36. Tech Crunched! - Puppet <ul><li>Puppet applies the class that matches the tag: </li></ul>
    37. 37. Tech Crunched! - Deploy <ul><li>Deploy your application! </li></ul><ul><li>“ cap -S env=prod deploy” </li></ul><ul><li>One command. </li></ul>
    38. 38. Tech Crunched! - Post Mortem <ul><li>Total Time: ~5 - 10 minutes </li></ul><ul><li>4 steps total! </li></ul><ul><li>We doubled capacity </li></ul><ul><li>No configuration during the issue at all </li></ul>
    39. 39. New Hire <ul><li>Issue </li></ul><ul><li>MonkeyNews hires a new engineer </li></ul><ul><li>Resolution </li></ul><ul><li>Add the user to LDAP </li></ul><ul><li>Add the right group privileges </li></ul>
    40. 40. Add SSL Support <ul><li>Issue </li></ul><ul><li>MonkeyNews has started taking micro-payments (for bananas) </li></ul><ul><li>Resolution </li></ul><ul><li>Update Apache Virtual Host in your Configuration Management </li></ul><ul><li>Add the SSL Certificates to Configuration Management </li></ul><ul><li>< 10 minutes from start to finish </li></ul>
    41. 41. Review
    42. 42. Review <ul><li>Automated Infrastructure means: </li></ul><ul><ul><li>“Having the basic services necessary for your business to operate largely without the aid of a keeper.” </li></ul></ul><ul><li>Automated Infrastructure </li></ul><ul><ul><li>Saves time </li></ul></ul><ul><ul><li>Increases efficiency </li></ul></ul><ul><ul><li>Allows for scalability </li></ul></ul><ul><ul><li>Reduces economic impact </li></ul></ul><ul><ul><li>Improves flexibility </li></ul></ul>
    43. 43. HJK does this for a living. But you can ask me how to do it for free. :) Adam Jacob +1 (206) 508-4759 [email_address]
    44. 44. June 23-24, 2008 20% off discount: “vel08js”