Top Banner
Infrastructure in the Cloud Era Adam Jacob - Co-founder & CTO, Opscode Ezra Zygmuntowicz - Co-Founder & Mad Scientist Engine Yard Opscode Wednesday, April 8, 2009
26
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Infrastructure In The Cloud Era

Infrastructure in the Cloud Era

Adam Jacob - Co-founder & CTO, OpscodeEzra Zygmuntowicz - Co-Founder & Mad Scientist Engine Yard

Opscode

Wednesday, April 8, 2009

Page 2: Infrastructure In The Cloud Era

Please Join our Ad-Hoc Cloud

If you have a Mac with Developer Tools installed...

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009

Page 3: Infrastructure In The Cloud Era

What are you guys talking about?

•Bootstrapping

•Configuration

•Command and Control

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009

Page 4: Infrastructure In The Cloud Era

ManyDifferent

Toolscurl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009

Page 5: Infrastructure In The Cloud Era

Bootstrapping

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009

Page 6: Infrastructure In The Cloud Era

Bootstrapping ApproachesGood Bad Time

Corp Approvals

Agile Corp Approvals

Cloud

Known Costs, No Variation.

Anything you want, as long as IT pre-approved it.

High Waste (Hoarding)Red Tape

Expensive ($/Time)Long lead time

6-8w

Known Costs.Total Hardware Control.

Trivial Approvals.

Lower WasteLess Red Tape

Still slowExpensive ($/Time)Shorter lead time

2-4w

Variable Costs.Highly Adaptable.Minimal lead time.Trivial approvals.

No humans needed.

Variable Costs.No control over hardware.

Must re-train.5-10m

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009

Page 7: Infrastructure In The Cloud Era

Why Time Matters

6

8

2

4

00Best Time

Worst Time

Total Bootstrapping Time in Weeks

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Corp ApprovalsAgile ApprovalsCloud

Wednesday, April 8, 2009

Page 8: Infrastructure In The Cloud Era

Tools for BootstrappingPXE Boot

FAI

System Imager

Kickstart

Cobbler

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.shWednesday, April 8, 2009

Page 9: Infrastructure In The Cloud Era

Bootstrapping DemoEngine 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

Wednesday, April 8, 2009

Page 10: Infrastructure In The Cloud Era

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Configuration

Wednesday, April 8, 2009

Page 11: Infrastructure In The Cloud Era

apache

perlbal

apt-proxy

rubygems

rpms

ebuilds

dpkgs

ports

iptables

java

keepalived

ipvsadm

logrotate bind

maradns

memcached

mongrel

munin

nagios

openldap

openssh

nginx

ntp

nscd

mysql

php

postgresqlrails

resolver

rsync subversion

trac

erlang

sudo

logwatch

redmine

couchdbjira

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

ManageComplexity

Wednesday, April 8, 2009

Page 12: Infrastructure In The Cloud Era

Configuration ApproachesGood Bad

Manual

Ad-Hoc

Infrastructure as Code

You can do anything.Results in an intimate

knowledge of the details.

Slow.Error Prone (Bus Error!)

Non-repeatable.Difficult knowledge transfer.

More repeatable.Knowledge is dispersed.

Built your way, with your model.

Rarely idempotent.Hard to collaborate.

Brittle.No API.

Repeatable.Idempotent.

Agile.Sharable.

Self documenting.

Have to learn how to use it.Hard things remain hard.

Not magic. (Yet!)

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009

Page 13: Infrastructure In The Cloud Era

Operating System toolsYour favorite text editor

Chef, Puppet, Cfengine, Bcfg2

Shell Scripts, Perl, Python, Ruby, etc.

Tools for Configuration

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.shWednesday, April 8, 2009

Page 14: Infrastructure In The Cloud Era

Infrastructure as Code

Manage configuration as idempotent Resources.Put them together in Recipes.

Track it like source code.Configure your servers.

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

You can learn more about Chef at http://wiki.opscode.com/display/chef/Home

Wednesday, April 8, 2009

Page 15: Infrastructure In The Cloud Era

You need an API

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

You can learn more about Chef at http://wiki.opscode.com/display/chef/Home

Wednesday, April 8, 2009

Page 16: Infrastructure In The Cloud Era

Command and Control

curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

You are running out of time to join the Ad-Hoc Cloud Party!

Wednesday, April 8, 2009

Page 17: Infrastructure In The Cloud Era

Command and Control

Good Bad

Meatcloud*

Ad-Hoc

Framework

Super flexible.Can do almost anything.

Always easy to find someone to blame.

Free will.

Error Prone.Slow.

Expensive to Scale.Not repeatable.

Free will.

More repeatable.Easier to scale.

Less error prone (hopefully!)

One-off by neccessity.Tooling sprawl.

Hard to share solutions.Much higher learning curve.

One system to learn.Scales well.

Paint by numbers.Repeatable.Two-Way.

Not everything maps cleanly.Trades depth of knowledge for

ease of use.

Last Chance! - curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh*Meatcloud appears in this presentation courtesy of Andrew Shafer - http://is.gd/Ega

Wednesday, April 8, 2009

Page 18: Infrastructure In The Cloud Era

YouYour co-workers

Nanite, Capistrano, Control Tier

Shell Scripts, Perl, Python, Ruby, etc.

Tools for Command and Control

Last Chance! - curl -O https://cloud.engineyard.com/w2e.sh && sh w2e.sh

Wednesday, April 8, 2009

Page 19: Infrastructure In The Cloud Era

Command and ControlDemo

You can learn more about Nanite at http://github.com/ezmobius/nanite/tree/master

Wednesday, April 8, 2009

Page 20: Infrastructure In The Cloud Era

What else can you do?

• Application Deployment

• Starting and stopping services

• Maintenance

• You name it.

Wednesday, April 8, 2009

Page 21: Infrastructure In The Cloud Era

In Practice

Wednesday, April 8, 2009

Page 22: Infrastructure In The Cloud Era

Typical Peak Load

Graphs in this portion of the presentation taken from Theo Schlossnaglehttp://omniti.com/seeds/dissecting-todays-internet-traffic-spikes

1. Bring on capacity as traffic ramps up2. Take down capacity as it ramps down3. 10-15 Minutes on either side, fully

unattended

Wednesday, April 8, 2009

Page 23: Infrastructure In The Cloud Era

Atypical Load

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 Schlossnaglehttp://omniti.com/seeds/dissecting-todays-internet-traffic-spikes

No way around

Capacity Planning

However,you are

still better off!

Wednesday, April 8, 2009

Page 24: Infrastructure In The Cloud Era

1. Signal Command and Control

2. Analyze Responses3. Rinse and Repeat4. Profit

Wednesday, April 8, 2009

Page 25: Infrastructure In The Cloud Era

1. Your infrastructure is disposable.

2. Make sure you can turn each layer off.

3. New efficiencies often lead to new hard problems.

Wednesday, April 8, 2009

Page 26: Infrastructure In The Cloud Era

Q & ABrought 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

Wednesday, April 8, 2009