configuration management with

chef

jeff wallace jeff@evolvingweb.ca
Sunday, October 24, 2010

i suck at titles
Sunday, October 24, 2010

Configuration Management
DrupalCamp NYC 8

http://www.flickr.com/photos/acmace/4434408330/
Sunday, October 24, 2010

Configuration Management
DrupalCamp NYC 8

10 people...

http://www.flickr.com/photos/acmace/4434408330/
Sunday, October 24, 2010

Configuration Management w/Chef
DrupalCampMTL 2010

http://www.flickr.com/photos/cfso1952/3597279132/
Sunday, October 24, 2010

Configuration Management w/Chef
DrupalCampMTL 2010

11 people?

http://www.flickr.com/photos/cfso1952/3597279132/
Sunday, October 24, 2010

what the hell is configuration management
Sunday, October 24, 2010

server configuration

Sunday, October 24, 2010

server configuration code
Sunday, October 24, 2010

server configuration code
*we’re all programers!
Sunday, October 24, 2010

blueprints for your servers
http://www.hunterhomesnh.com/gallery.php?var=1
Sunday, October 24, 2010

and the factory to build it
http://www.flickr.com/photos/theodevil/4278796647/
Sunday, October 24, 2010

what are the tools
http://www.flickr.com/photos/ontario_wanderer/3496185271/
Sunday, October 24, 2010

started in 1993 written in C

Argonne National Laboratory written in python
Sunday, October 24, 2010

first release in 2005 written in ruby puppet DSL similar to chef

Sunday, October 24, 2010

chef
http://www.flickr.com/photos/28056346@N06/3025510447/
Sunday, October 24, 2010

first release in 2009 written in ruby pure ruby DSL

http://www.flickr.com/photos/28056346@N06/3025510447/
Sunday, October 24, 2010

Sunday, October 24, 2010

quick run down
Sunday, October 24, 2010

chef-client
runs on each machine
Sunday, October 24, 2010

chef-server
manages each machine
Sunday, October 24, 2010

chef-solo
sever and client all-in-one
Sunday, October 24, 2010

every machine you configure is a node

Sunday, October 24, 2010

every machine you configure is a node
*yeah more nodes!
Sunday, October 24, 2010

nodes have attributes

Sunday, October 24, 2010

$ ohai

Sunday, October 24, 2010

$ ohai

*just a snippet
Sunday, October 24, 2010

attributes can be searched with solr

http://wiki.opscode.com/display/chef/Search
Sunday, October 24, 2010

attributes can be searched with solr

*nodes + searching ... is this a drupal site?
http://wiki.opscode.com/display/chef/Search
Sunday, October 24, 2010

every node can be assigned a role
myql server, apache server, both

Sunday, October 24, 2010

every node has a run list
list of roles and recipes applied in order

Sunday, October 24, 2010

every node has a set of resources
this is what chef manages

Sunday, October 24, 2010

resource
Sunday, October 24, 2010

*a resource has an action

Sunday, October 24, 2010

*resources have attributes *allow multiple actions

Sunday, October 24, 2010

*resources have attributes *allow multiple actions

Sunday, October 24, 2010

*resources have attributes *allow multiple actions

Sunday, October 24, 2010

*resources can notify other resources

Sunday, October 24, 2010

my.cnf.erb

*attributes
Sunday, October 24, 2010

my.cnf.erb

*attributes
Sunday, October 24, 2010

attributes

*can be overridden *searchable
Sunday, October 24, 2010

*adds cronjob to crontab for www-data user

lots more: http://wiki.opscode.com/display/chef/Resources
Sunday, October 24, 2010

recipe
Sunday, October 24, 2010

*group of resources *run in order
Sunday, October 24, 2010

cookbook
Sunday, October 24, 2010

cookbook

Sunday, October 24, 2010

file resolution

Sunday, October 24, 2010

some useful examples for drupalists
Sunday, October 24, 2010

drush

Sunday, October 24, 2010

git checkout

Sunday, October 24, 2010

git checkout

Sunday, October 24, 2010

git checkout

Sunday, October 24, 2010

git checkout

branch

Sunday, October 24, 2010

Sunday, October 24, 2010

demo?
Sunday, October 24, 2010

thanks!
jeff wallace jeff@evolvingweb.ca
*questions and comments encouraged
Sunday, October 24, 2010