What is a Script Anyway?
Shame on me. I didn’t define my terms.
Some folks were unhappy with my post about the evils of scripting, but not for the reason I expected. Instead, they thought I was attacking scripting languages. I’m a big fan of interpreted languages (same thing, different word); I’m the guy who put Python into Red Hat Linux in 1995, got the engineers building anaconda to use Python, and am building a company whose core IP is 120,000 lines of Python. Dynamic languages are fantastic, interpreting versus compiling is a nondiscussion (really, who cares?), and using #!/bin/sh to avoid some repetition makes perfect sense.
Now that I’ve described what I do like, let me talk about what I don’t. Specifically I meant to be talked about the merits of using scripts to configure servers. Installing software and tweaking config files are things I think scripts are bad for. So let me say what I mean by a script. Read more
Why Scripting is Evil
(this is the first in a two part series; the second part will be ready. later.)
There are two kinds of people in the world. Those who divide the world into two kinds of people and those who don’t.
Okay, and old joke, but I’m clearly the first kind of person. I try and split everything into two buckets. System automation solutions lend themselves to this two sizes fits all mantra, with the approaches splitting between scripting solutions and model based approaches.
It seems like most people think about scripting as the best approach to automation. Whether it’s simple shell (or PowerShell) scripts, attaching scripts to Opsware machine definitions, or running an inscrutable perl command line, scripting is king. Engineers and system administrators tend to break problems down into steps, and scripting is a way of codifying those steps and running them on lots of machines. Read more

