Systems building-systems-a-puppet-story-19133
Upcoming SlideShare
Loading in...5
×
 

Systems building-systems-a-puppet-story-19133

on

  • 804 views

 

Statistics

Views

Total Views
804
Views on SlideShare
804
Embed Views
0

Actions

Likes
0
Downloads
12
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Systems building-systems-a-puppet-story-19133 Systems building-systems-a-puppet-story-19133 Presentation Transcript

  • Systems Building Systems A Puppet Story
  • What is Puppet? Language Parser Client/Server Resource Abstraction A few other things...
  • Luke Kanies Recovering Sysadmin
  • One Goal: Revolutionize System Administration
  • What is a sysadmin?
  • Not Exactly Modern
  • Do tools have to suck?
  • Say What?!??
  • Everything the Same Everything Distinct
  • “Best Practices”
  • Don’t look at me... I wasn’t the last one to touch it...
  • SSH Cfengine ?
  • Bad product, hungry Luke
  • SSH Cfengine ?
  • SSH Cfengine ?
  • You can either easily manage complex systems at scale...
  • You can either easily manage complex systems at scale... Or you can’t...
  • 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....”
  • Competitive Advantage
  • 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
  • Enter Puppet... Configuration Is Declarative Code Semantics Matter Reproducible Shareable Maintainable Extensible
  • Developer Sysadmin
  • Three people Developer Sysadmin
  • An Analogy Programming SysAdmin Low-level, commands Assembly non-portable and files Abstract, C* Resources portable * For small values of abstract
  • Portable Resources This:
  • Portable Resources This: Becomes:
  • Portable Resources This: Becomes:
  • Portable Resources This: Becomes:
  • Portable Resources This: Becomes:
  • Portable Resources This: Becomes:
  • Portable 23 package types Users in NetInfo, useradd, pw Support for Debian, Ubuntu, Red Hat, Solaris, OS X, Gentoo, SuSE, FreeBSD, and more
  • Debian
  • Debian Red Hat
  • Debian Red Hat
  • Package
  • Configuration should Package get modified after package installation Configuration
  • Configuration should Package get modified after package installation Service should restart Configuration when configuration changes Service
  • Idempotence...
  • Idempotence...
  • Idempotence... Describes the property of operations in mathematics and computer science which yield the same result after the operation is applied multiple times.
  • Network Effects
  • Code Puppetmasterd puppetd puppetd OS X in the puppetd cloud Linux
  • Every Client:
  • Every Client: Retrieve resource catalog from central server
  • Every Client: Retrieve resource catalog from central server Determine resource order
  • Every Client: Retrieve resource catalog from central server Determine resource order Check each resource in turn, fixing if necessary
  • Every Client: Retrieve resource catalog from central server Determine resource order Check each resource in turn, fixing if necessary Rinse and repeat, every 30 minutes
  • Every Resource:
  • Every Resource: Retrieve current state (e.g., by querying dpkg db or doing a stat)
  • Every Resource: Retrieve current state (e.g., by querying dpkg db or doing a stat) Compare to desired state
  • Every Resource: Retrieve current state (e.g., by querying dpkg db or doing a stat) Compare to desired state Fix, if necessary (or just log)
  • Image from http://flickr.com/photos/pingnews/132543603/
  • Questions? andrew@reductivelabs twitter.com/littleidea