The Artima Developer Community
Sponsored Link

Java Buzz Forum
Puppet at Google - RedMonk Radio Episode 48 from PeopleOverProcess.com

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Michael Cote

Posts: 10306
Nickname: bushwald
Registered: May, 2003

Cote is a programmer in Austin, Texas.
Puppet at Google - RedMonk Radio Episode 48 from PeopleOverProcess.com Posted: Jun 11, 2008 10:01 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Michael Cote.
Original Post: Puppet at Google - RedMonk Radio Episode 48 from PeopleOverProcess.com
Feed Title: Cote's Weblog: Coding, Austin, etc.
Feed URL: https://cote.io/feed/
Feed Description: Using Java to get to the ideal state.
Latest Java Buzz Posts
Latest Java Buzz Posts by Michael Cote
Latest Posts From Cote's Weblog: Coding, Austin, etc.

Advertisement

Bring Your Desktop

Download the episode directly here, or subscribe to the RedMonk Radio podcast feed to have this and other episodes downloaded automatically for you.

I recently talked with Reductive Lab’s Luke Kaines and Google’s Nigel Kersten on the topic of Puppet. First, we go through a quick overview of what Puppet does - establishing the desired configuration of machines by modeling services and then enforcing that model.

As I note in introducing Nigel, while Puppet is well known for managing servers, I haven’t heard about it being used too much to manage desktops, making his expierience that much more interesting. On this note, later in the conversation, Luke paints out the many different scenarios that Puppet is used in: from servers, desktops, to new situations like virtualized installs, even on Amazon EC2.

Using Puppet at Google

Nigel has been using Puppet to manage “many, many thousands” of Mac desktops used at Google by developers and others. He tells us how he got involved in using Puppet last year during WWDC last year and quickly applied its use to managing Google Mac desktops.

How Puppet Works

I then ask Luke and Nigel to tell us how people usually get started with Puppet. Both recommend starting with a very small service to get started quickly, for example, managing sudo or SSH. As Luke explains, sudo is the command that allows users to execute other commands with administrative privileges, and managing it means ensuring that sudo itself is permissioned and configured correctly for use. Nigel says that, indeed, this is exactly the service they started with.

We then dip into the details of Puppet by talking about the modeling language that it uses. While Puppet is written in Ruby, the modeling language isn’t, being more like “the psuedo-code you write down when you’re planning what a program should look like,” as Nigel says. On the topic of the modeling language, Nigel comments on new user’s common reaction to the language, namely looking for something more script-ish. The point of the language is to simply model resources rather than describing in detail how to go about configuring those resources. As such, there’s more giving up control on how configuration desires are fulfilled - focusing on the what and ignoring the how, as Luke says.

Deploying Puppet and Ongoing Use

At this point, I get curious about how Puppet itself is configured and deployed. Each machine to be managed needs the Puppet agent installed that works with the main Puppet server. Nigel also tells us how his team tracked down the unmanaged desktops in Google.

Here, we get into the ongoing use of Puppet once the initial setup is done. Luke talks about his ideas that admins and operations people would benefit from thinking more like developers - using the term “infrastructure developer.” For example, Nigel talks about using a version control system to keep track of the configuration models used by Puppet and Luke talks about work that he and Andrew Shafer (at Reductive Labs as well) are doing around brining unit testing to operations.

Expanding Puppets Use in Google

Finally, while wrapping up, Nigel tells us that his group has convinced the people using CF Engine to manage Linux work-stations to start switching over to Puppet. More than just cause for Luke to do a little dance, this is interesting because, as Nigel says, it’s encouraging the Mac and Linux operations groups to collaborate more which, one would hope, would increase their overall effectiveness both in human terms (reducing repetitive work across the two groups) and work-product quality (making sure both actually have the exact same effect when desired across both platforms).

Disclaimer: Reductive Labs is a client and sponsored this podcast.

Read: Puppet at Google - RedMonk Radio Episode 48 from PeopleOverProcess.com

Topic: Luke and Darth talk past each other on language debate Previous Topic   Next Topic Topic: Java News Brief (JNB): ANTLR 3.0

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use