DrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEF

16
@CraigMcEldowney + @SteveRifkin = @crifkin

Transcript of DrupalCamp LA 2012: COOK UP SOME STACKS OF DRUPAL GOODNESS WITH CHEF

@CraigMcEldowney +

@SteveRifkin =

@crifkin

  13 years dev/consulting

  WCMS, ECMS, DAM, WTF?

  6 years Drupal   ??? years ad-hoc,

de facto sysadmin

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

 DevOps  What is Chef?  Your Kitchen  Stacks of Goodness  Demo/Questions/Applause

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

 How do you maintain servers???

 Package Managers  Scripting  VMs / Golden Images  Multiple Clients / Multiple Platforms / Hair-tearing R@GE!!!

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

So now I’m a sysadmin…

%@#!&@#$#@

…but I know how to program!!!

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

  Open source systems integration framework by Opscode

  System configuration as source code ◦  Configuration Template w/ Business Logic ◦ Describe infrastructure ◦  Establish relationships between boxes

  When a new server comes online, all you need to do is tell Chef what role(s) it plays in your architecture. All other servers will adjust their configuration automatically to welcome the new member to the fold!!!

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

http://wiki.opscode.com/pages/viewpage.action?pageId=7274862

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

 Golden Images = bad  Automated / Repeatable process  Break platform-dependency   Idempotency ◦ Operations can be applied multiple times w/out changing the result ◦ e.g. Always enforce compliance with desired configuration

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

Your (messy) Kitchen … or… where the metaphor dies!!!!

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

 Node / Client

 Cookbook

◦ Recipes

◦ Templates

 Roles

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

  Flavors of Chef

◦ Chef Solo

◦ Managed Chef (hosted chef provided by Opscode)

◦ Chef Server

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

  “Knife”: One of the few adherents to the “chef” metaphor!!!

  Push changes to chef server ◦  knife cookbook upload ◦  knife role from file

  Create nodes ◦  knife ec2 server create

  Trigger actions on nodes ◦  knife ssh

  Discover information about nodes ◦  knife search

  Plugins ◦  knife ec2 server list

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

Varnish / Webhead

UtilityChef Server / Memcached /

SOLR / DB / etc?

Varnish

UtilityNFS /

Memcached

Webhead Webhead Webhead. . .

Auto-Scale Array

DB

Nice and easy…

Uh oh… lookout…

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

Blah dah DOOSH!!!

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

Webhead Webhead Webhead. . .

Varnish Varnish Varnish. . .

Load Balancer

Storage Cluster DB Cluster

Squirrel Cluster

Auto-Scale Array

Auto-Scale Array

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin

  Hosted Chef ◦  http://www.opscode.com/hosted-chef/

  Install Ruby Version Manager ◦  http://beginrescueend.com

  Install Chef on your Workstation ◦  http://wiki.opscode.com/display/chef/Workstation

+Setup   Download community cookbooks ◦  http://community.opscode.com/

  Chef documentation ◦  http://wiki.opscode.com

DrupalCamp LA 2012 @craigmceldowney+@steverifkin=@crifkin