Thursday, January 14, 2010

Operations Anti-Patterns

Anti-patterns, as defined by Wikipedia, are "design patterns that may be commonly used but is ineffective and/or counterproductive in practice." Most commonly used when discussing the topic of software engineering, it can be applied in other areas as well.

In an attempt to come up with ways to evolve some of the tasks we practice as every day sysadmins, I thought it might be good to start by defining some Operations anti-patterns.

(Obviously this is nowhere near a comprehensive list. I hope to post more soon.)
  1. Information overload: When an admin creates a cronjob to perform an automated task but doesn't take steps to ensure unnecessary output is discarded.
  2. The rat's nest: One could link a sysadmin's tidiness in the cage and the way they maintains their systems, both software and hardware. The rat's nest almost guaranteed that other aspects of their work are as disorderly, thus causing lost productivity (or in some cases, extending downtime).
  3. Set it and forget it: Setting up a new piece of software or hardware without proper documentation on both its implementation (how and why it exists) and operational (maintenance and support) aspects.
  4. Non-communicado: Ancillary to "set it and forget it", this happens when an admin sets up new system monitors without telling the rest of their team. It could also refer to cron jobs without comments describing them, etc.
Just as with software development, evidence of these anti-patterns do not necessarily characterize a bad sysadmin. Good sysadmins display them as well. But the best, in my opinion, strive to overcome them in their daily work.

    Wednesday, January 13, 2010

    Hi.

    I'm starting this blog in hopes of actualizing random thoughts and ideas I have. Most of which are related to my profession. See, I am a Unix Sysadmin. I work at a pretty good company. I am happy in my position.

    But there are always ways to improve the environment, technically and otherwise. While I love the technical aspects of my job, I also like to sit and ponder about how we can increase our productivity, improve the way we communicate with our customers (read: the rest of the company), etc.

    I think many of us fail to place much value (or at least acknowledge it) in such aspects of our positions and groups. That's too bad, because I believe these are the primary causes of unhappiness in the workplace, especially in technical fields.

    It's time that changed.

    Speaking of time, I need to start getting ready for work!