Sam Varghese
Tuesday, 28 April 2009 08:06
Business IT -
Technology
Page 4 of 5
UNIX system administrators normally use Perl, Python or shell scripts for their scripting needs; Puppet is written in Ruby but one doesn't need to learn Ruby to use it. "You don't need to learn Ruby to use Puppet. It's all under the covers. If you want to extend Puppet - it's quite easily extensible - then yes, you're going to have to pick up some Ruby along the way," Turnbull clarifies.
"Our primary desire is to make it easier for sys admins to do things without every script. Luke's very fond of saying SSH always isn't the solution. And he's quite right, because my big problem with this is that I've worked in a number of different organisations where I've done exactly that - I've written Perl or Python scripts or bash scripts, and numerous things, and every single organisation almost certainly one starts from scratch.
"I have a collection of Perl and bash scripts to manage a whole lot of environments - well-maintained, well documented. Sometimes I can't take them with me because of the organisation's IP. Puppet's an attempt to get rid of that whole model. Instead of every shop having to start from scratch and writing your provisioning script, or your management script, or your user management process, or setting the root password on all of your hosts, you can do it through Puppet. It's one language, it's all described the same way.
"There are a lot of systems administrators who don't do a lot of scripting, particularly people who manage small- to medium-sized businesses. You may be the systems administrator but you're also the accountant or operations manager. And you're not an IT expert - you just want a simple way of saying, 'well, all my boxes should be up-to-date. All of my boxes need user Bob, because I'm user Bob, and I need to assign all the boxes and they need to have the same password'.
"Puppet is designed to be a low level of entry for your average systems administrator. Other from the domain specific language, they don't need to learn a new one, and the DSL's very simple. It contains some programmatic concepts, like if else statements and case statements and things like that, but broadly speaking, it's quite simple."
Turnbull says Puppet is fine for remote environments but the speed at which things get done will, as always, depend on the available bandwidth. "A lot of ISPs use Puppet. There's nothing wrong with having the master just sitting in Melbourne and connecting clients. We're not depending on how many hops you have between you and your host. There'll be some performance issues. Puppet has an ability to serve files out to hosts. If you're copying large amounts of files you can have a performance hit there. There's also a lot of people who create a model of a centralised puppet master and child masters, some kind of a distributed hierarchy."
CONTINUED