2010-11-03
One reason that I call us a midsized environment
I mentioned earlier that I have a number of reasons to call us a midsized environment. One of them is how we need to run our environment, in that we are in the middle between two extremes of how to deal with systems.
On the one hand, we are sufficiently large that you don't want to do things by hand and it makes sense to automate at least some things. We've long since grown past the point where all of our machines could be set up separately or run individually (and not just because NFS requires synchronized UIDs), which is the practice that you often see in small environments.
On the other hand, we are not so large that we have to automate things or die. Once you reach a certain size, it is basically impossible to run your environment in any way that requires routine hands-on attention to individual machines; you must automate every such thing or you'll be unable to keep your environment up (or at least unable to improve it at all). This is the size where people get fanatical about automated deployments, automated management with Puppet or Cfengine, automated monitoring with your choice of tool, and so on.
We sit in the middle of all of this; we have some automation but also some things that we do by hand, partly because we like it that way and partly because it's too much of a hassle to build and maintain an automated system. Hence, mid-sized.
(I maintain that sitting in the middle like this is sensible in at least some cases, and there are good reasons not to immediately jump up to the Jumpstart/Kickstart, Puppet, etc etc world. Part of it is the costs of automation, but the full discussion deserves another entry.)
(See also this older entry on levels of automation.)