Luke Crawford wrote:

First off, I'm a "practical" type- a "computer janitor" as it were. I am also a consultant and an Entrepreneur, so I see my job as eliminating my job- I'm quite interested in configuration management systems, but on a conceptual level, I simply don't understand how they would usefully work.

Well, the basic idea is that it will overall take less time to explain to the tool what you want done and have it do the work than it would for you to do the work.

"Overall less time" is open for interpretation, and probably depends highly on the problem and the practitioner. It's stupidly easy to set Puppet up to do simple things, but simple things don't save you a lot of time. The big areas where Puppet saves you time, I expect, are that it saves you the effort of connecting to machines and doing things like installing packages or whatever, it provides you a simple reusable language for describing what configurations you want and why (e.g., you put your apache package in the 'webserver' class), and the language is pretty good at compiling a whole bunch of these descriptions down to a unique configuration for each client.

If you don't have many services, or you only ever run one service on a machine, or you don't have many machines, then I expect Puppet would not currently save you much time.

Me, I'm on the list because I'm interested in configuration management; but frankly, my brain it too small to comprehend how you might go about replacing my configuration management duties with a program. I like the idea, I just don't know how you would do any better than a systemimager style "base image for each class of machine, then per-box lists of diffs to apply"

I don't think of it as replacement; I think of it more like allowing a differentation between operator sysadmins and programmer sysadmins. Puppet allows you to write a program; that program is responsible for making sure all of your machines are configured properly. Puppet can not make it any easier to know what "properly" means, at least not without external validation modules, and it cannot do the actual programming.

It can, however, provide a simple language for expressing high-level intent and a cross-platform library to make your intent portable, along with decent (and ever improving) reporting tools for helping you when things go south.

The basic problem that *I* would like the theory people to solve is how to break down the "configure the system" high-level problem into a easy to understand set of tools like nagios that people like me can come in and configure on a low level for each one of our services. Heck, you don't even need to write the actual tools, just describe what the tools need to do (of course, that's what writing the tools would do, right? computer languages are designed to precisely specify what a program ought to do.)

Heh, well, that's what I think I did with Puppet.

I hate to advocate drugs, alcohol, violence, or insanity to anyone, but
they've always worked for me.                     -- Hunter S. Thompson
Luke Kanies | |

lssconf-discuss mailing list

Reply via email to