Why Your Start Up Needs An Automated Infrastructure Presentation
-
Upload
elliando-dias -
Category
Technology
-
view
759 -
download
2
description
Transcript of Why Your Start Up Needs An Automated Infrastructure Presentation
Overview
• What is an “Automated Infrastructure”?
• Why is it so important?• MonkeyNews - A Case Study• Review• Q & A
Disclaimer
• These are the tools we use• They are not the only tools• They may or may not be the right
tools for how you work or think
QuickTime™ and a decompressor
are needed to see this picture.
Symbol From IIT Bombay
4
What is an “Automated Infrastructure”?
Automated
”…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”
QuickTime™ and a decompressor
are needed to see this picture.
Infrastructure
“Infrastructure is generally a set of interconnected structural elements that provide the framework supporting an entire structure”
QuickTime™ and a decompressor
are needed to see this picture.
Automated Infrastructure
“Having the basic services necessary for your business to operate largely without the aid of a keeper.”
8
Why is it so important?
To your Operations Staff
• Mitigates some failures• They want to be lazy• Repetition leads to burnout• They want to say “Yes”
For Startups
• Time• Efficiency• Scalability• Economics• Flexibility
The Jesse Robbins (mis)Quote
“Operations is the act of extracting value from your resources.”
QuickTime™ and a decompressor
are needed to see this picture.
12
MonkeyNews - A Case Study
All the hottest Monkey news, as selected by your monkey-loving peers!
QuickTime™ and a decompressor
are needed to see this picture.
Courtesy National Geographic
What is MonkeyNews
• Small Startup• “Like Digg, only about Monkeys”• Going to sell Advertising as a
revenue model
MonkeyNews on Launch Day
Steps to Launch
Steps to Launch - OS Install
Manual• Install each system
by hand• 1 hour per system
0
12
3
45
6
Hours
Manual
Method
OS Install Time
app1stgops1proddb2proddb1prodapp2prodapp1prod
Steps to Launch - OS Install
Automated• Ops1prod built
manually– 1 hour
• Automated install system (PXE)
• EC2, Cloud0
1
2
3
4
5
6
7
Hours
PXE EC2
Method
OS Install Time - Automated
AttendedUnattended
Steps to Launch - OS Install
012345678
Hours
Manual PXE EC2
Method
OS Install Options
UnattendedAttended
Steps to Launch - DNS
Manual• Update each
machine in /etc/hosts
Automated• Install a DNS
Server• Use a service
provider
Adding a new Hostname
0
10
20
30
40
50
60
6 1020 304050
Number of Systems
MinutesDNSManual
Steps to Launch - Server Inventory
Manual• Use a wiki
Automated• Use iClassify• Roll your own
Steps to Launch - Identity Management
Manual• Add each user
everywhereAutomated
• Use LDAP or AD
Adding a new User
0
10
20
30
40
50
60
6 10 20 30 40 50
Number of Systems
MinutesAutomatedManual
Steps to Launch - Version Control
An Easy One• You must use version control
QuickTime™ and a decompressor
are needed to see this picture.
Symbol From IIT Bombay
Steps to Launch - Configuration Management
Manual• Version Control• Wiki
Check in copies of config files
Try and keep a record of what you have done
Steps to Launch - Configuration Management
Automated• Puppet• Cfengine• Bcfg2 Infrastructure as
Code
Puppet Example - sudo
Puppet Example - sudo
Steps to Launch - Configuration Management
Automation is Key• 50+ Different Applications• 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
• Why repeat yourself?
Steps to Launch - Monitoring
Manual• Add each server by
handAutomated
• Use your System Inventory and Configuration Management Tools
0
1
2
3
4
5
Files
Files to Edit in Nagios when adding a new Server
ManualAutomated
Steps to Launch - Trending
Manual• Add each server and graph by hand
Automated• Use your System Inventory and
Configuration Management Tools
Steps to Launch - Email
Another Easy One• Every server must be able to send
email locally.
Symbol From IIT Bombay
QuickTime™ and a decompressor
are needed to see this picture.
Steps to Launch - Application Deployment
Manual• Update the
application by hand
Automated• Use Capistrano• Roll your own• Integrate with
System Inventory
Odds of a non-code Mistake during a Deploy
0%
2%
4%
6%
8%
10%
12%
1 2 5 10
Number of Manual Steps
Mistakes
Launch Day
QuickTime™ and a decompressor
are needed to see this picture.
Tech Crunched!
Symptoms• Monitors alert• Trending shows the traffic spike• Your RSS reader has the culprit
Tech Crunched! - EC2
• Launch more capacity.
• Two minutes later, they are up
Tech Crunched! - iClassify
• Classify the Servers
Tech Crunched! - Puppet
• Puppet applies the class that matches the tag:
Tech Crunched! - Deploy
• Deploy your application!• “cap -S env=prod deploy”• One command.
Tech Crunched! - Post Mortem
• Total Time: ~5 - 10 minutes• 4 steps total!• We doubled capacity• No configuration during the issue at
all
New Hire
Issue• MonkeyNews
hires a new engineer
Resolution• Add the user to
LDAP• Add the right group
privileges
Add SSL Support
Issue• MonkeyNews has
started taking micro-payments (for bananas)
Resolution• Update Apache
Virtual Host in your Configuration Management
• Add the SSL Certificates to Configuration Management
• < 10 minutes from start to finish
41
Review
Review
• Automated Infrastructure means:– “Having the basic services necessary for
your business to operate largely without the aid of a keeper.”
• Automated Infrastructure– Saves time– Increases efficiency– Allows for scalability– Reduces economic impact– Improves flexibility
43
HJK does this for a living.But you can ask me how to do it for free. :)Adam Jacob +1 (206) 508-4759
June 23-24, 2008
20% off discount: “vel08js”