Why Startups Need Automated Infrastructures Adam Jacob Senior Partner HJK Solutions [email_address] .com
Overview <ul><li>What is an “Automated Infrastructure”? </li></ul><ul><li>Why is it so important? </li></ul><ul><li>Monkey...
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 ...
What is an “Automated Infrastructure”?
Automated <ul><li>”…a process which may once have been performed manually but has been altered in some way which allows a ...
Infrastructure <ul><li>“Infrastructure is generally a set of interconnected structural elements that provide the framework...
Automated Infrastructure <ul><li>“Having the basic services necessary for your business to operate largely without the aid...
Why is it so important?
To your Operations Staff <ul><li>Mitigates some failures </li></ul><ul><li>They want to be lazy </li></ul><ul><li>Repetiti...
For Startups <ul><li>Time </li></ul><ul><li>Efficiency </li></ul><ul><li>Scalability </li></ul><ul><li>Economics </li></ul...
The Jesse Robbins (mis)Quote <ul><li>“ Operations is the act of extracting value from your resources.” </li></ul>
MonkeyNews - A Case Study All the hottest Monkey news, as selected by your monkey-loving peers! Courtesy National Geographic
What is MonkeyNews <ul><li>Small Startup </li></ul><ul><li>“ Like Digg, only about Monkeys” </li></ul><ul><li>Going to sel...
MonkeyNews on Launch Day
Steps to Launch
Steps to Launch - OS Install  <ul><li>Manual </li></ul><ul><li>Install each system by hand </li></ul><ul><li>1 hour per sy...
Steps to Launch - OS Install  <ul><li>Automated </li></ul><ul><li>Ops1prod built manually </li></ul><ul><ul><li>1 hour </l...
Steps to Launch - OS Install
Steps to Launch - DNS  <ul><li>Manual </li></ul><ul><li>Update each machine in /etc/hosts </li></ul><ul><li>Automated </li...
Steps to Launch - Server Inventory <ul><li>Manual </li></ul><ul><li>Use a wiki </li></ul><ul><li>Automated </li></ul><ul><...
Steps to Launch - Identity Management  <ul><li>Manual </li></ul><ul><li>Add each user everywhere </li></ul><ul><li>Automat...
Steps to Launch - Version Control <ul><li>An Easy One </li></ul><ul><li>You must use version control </li></ul>Symbol From...
Steps to Launch - Configuration Management <ul><li>Manual </li></ul><ul><li>Version Control </li></ul><ul><li>Wiki </li></...
Steps to Launch - Configuration Management <ul><li>Automated </li></ul><ul><li>Puppet </li></ul><ul><li>Cfengine </li></ul...
Puppet Example - sudo
Puppet Example - sudo
Steps to Launch - Configuration Management <ul><li>Automation is Key </li></ul><ul><li>50+ Different Applications </li></u...
Steps to Launch - Monitoring <ul><li>Manual </li></ul><ul><li>Add each server by hand </li></ul><ul><li>Automated </li></u...
Steps to Launch - Trending <ul><li>Manual </li></ul><ul><li>Add each server and graph by hand </li></ul><ul><li>Automated ...
Steps to Launch - Email <ul><li>Another Easy One </li></ul><ul><li>Every server must be able to send email locally. </li><...
Steps to Launch - Application Deployment <ul><li>Manual </li></ul><ul><li>Update the application by hand </li></ul><ul><li...
Launch Day
Tech Crunched! <ul><li>Symptoms </li></ul><ul><li>Monitors alert </li></ul><ul><li>Trending shows the traffic spike </li><...
Tech Crunched! - EC2 <ul><li>Launch more capacity. </li></ul><ul><li>Two minutes later, they are up </li></ul>
Tech Crunched! - iClassify <ul><li>Classify the Servers </li></ul>
Tech Crunched! - Puppet <ul><li>Puppet applies the class that matches the tag: </li></ul>
Tech Crunched! - Deploy <ul><li>Deploy your application! </li></ul><ul><li>“ cap -S env=prod deploy” </li></ul><ul><li>One...
Tech Crunched! - Post Mortem <ul><li>Total Time: ~5 - 10 minutes </li></ul><ul><li>4 steps total! </li></ul><ul><li>We dou...
New Hire <ul><li>Issue </li></ul><ul><li>MonkeyNews hires a new engineer </li></ul><ul><li>Resolution </li></ul><ul><li>Ad...
Add SSL Support <ul><li>Issue </li></ul><ul><li>MonkeyNews has started taking micro-payments (for bananas) </li></ul><ul><...
Review
Review <ul><li>Automated Infrastructure means: </li></ul><ul><ul><li>“ Having the basic services necessary for your busine...
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]
June 23-24, 2008 20% off discount: “vel08js”
Upcoming SlideShare
Loading in …5
×

Why Startups Need Automated Infrastructures

13,234
-1

Published on

A walkthrough of what an Automated Infrastructure is, why it's important to a startup, and an example of how to build one yourself.

Published in: Technology, Business
0 Comments
28 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
13,234
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
396
Comments
0
Likes
28
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 Startups Need Automated Infrastructures

    1. Why Startups Need Automated Infrastructures Adam Jacob Senior Partner HJK Solutions [email_address] .com
    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. 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. What is an “Automated Infrastructure”?
    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. Infrastructure <ul><li>“Infrastructure is generally a set of interconnected structural elements that provide the framework supporting an entire structure” </li></ul>
    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. Why is it so important?
    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. 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. The Jesse Robbins (mis)Quote <ul><li>“ Operations is the act of extracting value from your resources.” </li></ul>
    12. MonkeyNews - A Case Study All the hottest Monkey news, as selected by your monkey-loving peers! Courtesy National Geographic
    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. MonkeyNews on Launch Day
    15. Steps to Launch
    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. 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. Steps to Launch - OS Install
    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. 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. 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. 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. 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. 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. Puppet Example - sudo
    26. Puppet Example - sudo
    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. 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. 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. 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. 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. Launch Day
    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. Tech Crunched! - EC2 <ul><li>Launch more capacity. </li></ul><ul><li>Two minutes later, they are up </li></ul>
    35. Tech Crunched! - iClassify <ul><li>Classify the Servers </li></ul>
    36. Tech Crunched! - Puppet <ul><li>Puppet applies the class that matches the tag: </li></ul>
    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. 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. 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. 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. Review
    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. 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. June 23-24, 2008 20% off discount: “vel08js”
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×