From the Web 2.0 Expo!
Web Operations is always moving forward, at the cutting edge of every major trend. The latest leap is having a fully automated infrastructure – lightning fast provisioning, integrated monitoring & trending, and trivial application deployment.
Utilizing a mixture of open source tools (such as Chef, Nanite, CouchDB, and RabbitMQ) and battle-tested techniques, Adam and Ezra will show you how to build an infrastructure that’s easy to manage, integrates with your application, and is self-documenting. Along the way, they’ll give you the key insights you need to get maximum benefit from these technologies for your business.
The speakers come from two companies well-known in this space. Engine Yard is moving to the cloud – in addition to their own internal hosting offering they built their stellar reputation on. Opscode brings “infrastructure automation to the masses”. Born from years of experience building fully automated infrastructure for dozens of startups, they are the creators of Chef.
9. Bootstrapping Approaches
Good Bad Time
Known Costs, No High Waste (Hoarding)
Variation. Red Tape
Corp Approvals 6-8w
Anything you want, as long Expensive ($/Time)
as IT pre-approved it. Long lead time
Lower Waste
Agile Corp Known Costs. Less Red Tape
2-4w
Total Hardware Control. Still slow
Approvals Trivial Approvals. Expensive ($/Time)
Shorter lead time
Variable Costs.
Highly Adaptable. Variable Costs.
Cloud 5-10m
Minimal lead time. No control over hardware.
Trivial approvals. Must re-train.
No humans needed.
curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.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 https://cloud.engineyard.com/w2e.sh && sh w2e.sh
11. Tools for Bootstrapping
PXE Boot
FAI
System Imager
Kickstart
Cobbler
curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
12. Bootstrapping Demo
Engine Yard Solo
Now would be a totally sweet time to pull out your Mac and run...
curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
16. Configuration Approaches
Good Bad
Slow.
You can do anything.
Error Prone (Bus Error!)
Manual Results in an intimate
Non-repeatable.
knowledge of the details.
Difficult knowledge transfer.
Rarely idempotent.
More repeatable.
Hard to collaborate.
Ad-Hoc Knowledge is dispersed.
Brittle.
Built your way, with your model.
No API.
Repeatable.
Infrastructure as Idempotent. Have to learn how to use it.
Agile. Hard things remain hard.
Code Sharable. Not magic. (Yet!)
Self documenting.
curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
17. Tools for Configuration
Chef, Puppet, Cfengine, Bcfg2
Shell Scripts, Perl, Python, Ruby, etc.
Operating System tools
Your favorite text editor
curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.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 https://cloud.engineyard.com/w2e.sh && sh w2e.sh
19. You need an API
You can learn more about Chef at http://wiki.opscode.com/display/chef/Home
curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
20. Command and Control
You are running out of time to join the Ad-Hoc Cloud Party!
curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh
21. Command and Control
Good Bad
Super flexible. Error Prone.
Can do almost anything. Slow.
Meatcloud* Always easy to find someone to Expensive to Scale.
blame. Not repeatable.
Free will. Free will.
One-off by neccessity.
More repeatable.
Tooling sprawl.
Ad-Hoc Easier to scale.
Hard to share solutions.
Less error prone (hopefully!)
Much higher learning curve.
One system to learn.
Scales well. Not everything maps cleanly.
Framework Paint by numbers. Trades depth of knowledge for
Repeatable. ease of use.
Two-Way.
*Meatcloud appears in this presentation courtesy of Andrew Shafer - http://is.gd/Ega
Last Chance! - curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.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 https://cloud.engineyard.com/w2e.sh && sh w2e.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
28. 1. Signal Command and
Control
2. Analyze Responses
3. Rinse and Repeat
4. Profit
29. 1. Your infrastructure
is disposable.
2. Make sure you can
turn each layer off.
3. New efficiencies
often lead to new
hard problems.
30. Q &A
Brought to you by...
Opscode
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