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 http://brainspl.at/velocity.sh && sh velocity.sh
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 http://brainspl.at/velocity.sh && sh velocity.sh
11. Tools for Bootstrapping
PXE Boot
FAI
System Imager
Kickstart
Cobbler
curl -O http://brainspl.at/velocity.sh && sh velocity.sh
12. Bootstrapping Demo
Engine Yard Solo
Now would be a totally sweet time to pull out your Mac and run...
curl -O http://brainspl.at/velocity.sh && sh velocity.sh
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 http://brainspl.at/velocity.sh && sh velocity.sh
17. Tools for Configuration
Chef, Puppet, Cfengine, Bcfg2, AutomateIT
Shell Scripts, Perl, Python, Ruby, etc.
Operating System tools
Your favorite text editor
curl -O http://brainspl.at/velocity.sh && sh velocity.sh
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 http://wiki.opscode.com/display/chef/Home
curl -O http://brainspl.at/velocity.sh && sh velocity.sh
19. You need an API
You can learn more about Chef at http://wiki.opscode.com/display/chef/Home
curl -O http://brainspl.at/velocity.sh && sh velocity.sh
20. Command and Control
You are running out of time to join the Ad-Hoc Cloud Party!
curl -O http://brainspl.at/velocity.sh && sh velocity.sh
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 - http://is.gd/Ega
Last Chance! - curl -O http://brainspl.at/velocity.sh && sh velocity.sh
22. Tools for Command
and Control
Nanite, Capistrano, Control Tier
Shell Scripts, Perl, Python, Ruby, etc.
You
Your co-workers
Last Chance! - curl -O http://brainspl.at/velocity.sh && sh velocity.sh
23. Command and Control
Demo
You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master
24. What else can you do?
• Application Deployment
• Starting and stopping services
• Maintenance
• You name it.
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
http://omniti.com/seeds/dissecting-todays-internet-traffic-spikes
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
http://omniti.com/seeds/dissecting-todays-internet-traffic-spikes
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. 1. Signal Command and
Control
2. Analyze Responses
3. Rinse and Repeat
4. Profit
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. Q &A
Brought to you by...
You can learn more about Chef at http://wiki.opscode.com/display/chef/Home
You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master
Chef BoF, tonight at 7:30 PM