A Puppet Story

75
A Puppet Story... Systems Building Systems

description

Slides from RubyConf 08, about 50% slides recycled from velocity/UTOSC, some inside jokes plus code for simple Puppet type and provider

Transcript of A Puppet Story

Page 1: A Puppet Story

A Puppet Story...Systems Building Systems

Page 2: A Puppet Story
Page 3: A Puppet Story

This is my second RubyConf

Page 4: A Puppet Story

This is my second RubyConf

Page 5: A Puppet Story

This is my second RubyConfUse your powers for Awesome!

Page 6: A Puppet Story

This is my second RubyConfUse your powers for Awesome!

Page 7: A Puppet Story

This is my second RubyConfUse your powers for Awesome!

Page 8: A Puppet Story

Developer Sysadmin

Page 9: A Puppet Story

Developer Sysadmin

Three people

Page 10: A Puppet Story

Forgive him, for he believes that the customs of his tribe are the laws of nature!

--George Bernard Shaw

Page 11: A Puppet Story

sudo chown -R us:us /your/base

Page 12: A Puppet Story

What is Puppet?Language Parser

Client/Server

Resource Abstraction

A few other things

All Ruby... : )

Page 13: A Puppet Story
Page 14: A Puppet Story

LoveYou must love your tools, if you don't, it will show in the work you do...

--Dave Thomas

Page 15: A Puppet Story

Can you feel the Spirit?

Page 16: A Puppet Story

What is a sysadmin?

Page 17: A Puppet Story

Not Exactly Modern

Page 18: A Puppet Story

LukeKanies

Page 19: A Puppet Story

One Goal:Revolutionize System Administration

Page 20: A Puppet Story

Say What?!??

Page 21: A Puppet Story

Don’t look at me... I wasn’t the last one to touch it...

Page 22: A Puppet Story
Page 23: A Puppet Story

Wisdom of the Clouds

Page 24: A Puppet Story
Page 25: A Puppet Story

You can either easily manage complex systems at scale...

Page 26: A Puppet Story

You can either easily manage complex systems at scale...

Or you can’t...

Page 27: A Puppet Story

Everything the SameEverything Distinct

Page 28: A Puppet Story

LukeKaniesRecovering Sysadmin

Page 29: A Puppet Story

SSH Cfengine ?

Page 30: A Puppet Story

Bad product,hungry Luke

Page 31: A Puppet Story

SSH Cfengine ?

Page 32: A Puppet Story

SSH Cfengine ?

Page 33: A Puppet Story

Who’s using Puppet?

“...at Google we're currently using Puppet

to manage close to 6,000 Macs, and it's likely our deployment

will expand dramatically beyond

that....”

Page 34: A Puppet Story

Competitive Advantage

Page 35: A Puppet Story

People are finally figuring out puppet and how it gets you

to the pub by 4pm. Note that I've been at this pub since

2pm.-- Jorge Castro

Page 36: A Puppet Story

Enter Puppet...

Configuration Is Declarative Code

Semantics Matter

Reproducible

Shareable

Maintainable

Extensible

Page 37: A Puppet Story

Programming SysAdmin

Low-level, non-portable Assembly commands

and files

Abstract, portable C* Resources

An Analogy

* For small values of abstract

Page 38: A Puppet Story

Portablity

23 package types

Users in NetInfo, useradd, pw

Support for Debian, Ubuntu, Red Hat, Solaris, OS X, Gentoo, SuSE, FreeBSD, and more

Page 39: A Puppet Story

Network Effects

Page 40: A Puppet Story

Portable ResourcesThis:

Page 41: A Puppet Story

Portable Resources

Becomes:

This:

Page 42: A Puppet Story

Portable Resources

Becomes:

This:

Page 43: A Puppet Story

Portable Resources

Becomes:

This:

Page 44: A Puppet Story

Portable Resources

Becomes:

This:

Page 45: A Puppet Story

Portable Resources

Becomes:

This:

Page 46: A Puppet Story

Debian

Page 47: A Puppet Story

Debian

Red Hat

Page 48: A Puppet Story

Debian

Red Hat

Page 49: A Puppet Story
Page 50: A Puppet Story
Page 51: A Puppet Story

Package

Page 52: A Puppet Story

Package

Configuration

Configuration should get modified after

package installation

Page 53: A Puppet Story

Package

Service

Service should restart when

configuration changesConfiguration

Configuration should get modified after

package installation

Page 54: A Puppet Story
Page 56: A Puppet Story
Page 57: A Puppet Story
Page 58: A Puppet Story
Page 59: A Puppet Story

Perspectives

Page 60: A Puppet Story

Idempotence...

Page 61: A Puppet Story

Idempotence...

Page 62: A Puppet Story

Idempotence...

Describes the property of operations in mathematics and computer science which yield the same result after

the operations is applied multiple times.

Page 63: A Puppet Story
Page 64: A Puppet Story
Page 65: A Puppet Story
Page 66: A Puppet Story
Page 67: A Puppet Story
Page 68: A Puppet Story
Page 69: A Puppet Story
Page 70: A Puppet Story
Page 71: A Puppet Story
Page 72: A Puppet Story

?????

Page 73: A Puppet Story

CommunityOpen Source

(Beer & Speech)

Page 74: A Puppet Story

What’s on the Horizon?Currents, Drift and Directions

Page 75: A Puppet Story

Questions?andrew@reductivelabs

twitter.com/littleidea