(note: the following is a stream of consciousness post regarding some software requirements as i dream them up. if you are a developer and actually take up these requirements as the design for a software project, please let me know. if you are aware of a software product that accomplishes all of this, please do not bother to let me know about it. i don’t care. fact is, nothing on the market today does this well enough to make me care about it the way i want to care about it.)
Let’s face it. Documentation sucks.
I’ve traveled around this country and seen many an IT environment. All of them have one thing in common: the documentation about the environment sucks. It’s in such a sad state that should anything happen to anything, nothing would be recoverable.
We’re guilty of it in our own environment. I’m not going to sit here and disparage everyone else’s IT environment without realizing that it’s a problem where I work too. I’ve spent a lot of time wondering why this documentation is in such a sad state and come to a few conclusions. I suspect these conclusions aren’t a surprise to anyone.
- The staff is overworked. They have no time to sit in your meetings, listen to the managers and customers rant and rave about how nothing works right (funny how that not-listening thing travels both ways), or get all of their assigned work done to begin with.
- Documentation is boring. There is nothing glamorous about writing a Word document about how you configured a paging file.
- After writing the documentation, maintaining it is a real bear, especially in an age when the corporation that owns 90% of your data center farts a new patch daily. What? Tuesdays? Oh man, that’s just for OS patches. Try running some enterprise software sometime. (NOTE TO SELF: Bitch about Exchange 2007 more, because that obviously hasn’t sunk in yet).
- Too many fires to put out. Remember that not-listening-is-a-two-way-street crack? Yeah well, since management didn’t listen about your needs, you’re working 70 hours this week to fix all the crap that broke. Oh yeah, don’t forget to document what you did to fix it. (Now it’s 90 hours).
I could go on, but I think you get the idea.
So, now that I’ve listed reasons why you do not have the documentation, let’s talk about what happens when you do not sit near the data center and have questions about what’s what out there.
- Need to find out what port a server is hooked up to? Scan through your endless amounts of PSTs on the file share (haha!) to discover what port was assigned two years ago. Fail. Look for the document. Oh! Wait. Fail that too. No docs. Ask someone who is sitting in the data center. How the hell should they know? They’re busy and don’t have time to help you. Oh, by the way, that cable isn’t labeled anyway. Look it up in the docs, dumbass. Yeah, what docs? Time to get in the car and drive over to look for yourself, cursing all the way that you have no documentation.
- Need switch zoning information for that fabric? See above. At least you can login to the switch remotely… until Java fails. Drive over.
- Time to build a server. Time to put it into production. What do you mean it’s got a bug we fixed two years ago? Oh, shit. We forgot that NoServerTimeZoneComp registry key. It’s always the Mac users that make your Windows admin lives hell, right? No, buddy, it’s because you didn’t follow the documentation. Uhh, what documentation?
I think I’ve stated my case. Now then. I want software that can overcome the burden of writing this documentation and I want it available in damn near real time. So, here goes.
I want data center management software that:
- …is object-oriented like C. I want to be able to instantiate a new instance of a Dell 2950 and define its properties – like what rack it’ll be in and what U numbers it occupies.
- …can perform discovery on that new Dell 2950 and figure out the rest of the properties for the object (a la service tag number, CPU, RAM, maintenance left on contract, etc.)
- …can allow me to connect the network to a specific switch port by dragging and dropping a line like Visio.
- …can allow me to connect it to a storage area network like the network connection above.
- …can produce a 3-dimensional rack drawing (the rack itself should be just another object, since we’re object-oriented and the server objects are just properties) that details every network connection, fibre hookup and power connection.
- …can, upon sensing a failure from SCOM 2007 or NetIQ, label each server and cable that has failed to look for common properties in an anomaly (because it’s always the network’s fault).
- …is able to produce a server installation document by right-clicking on it and selecting “current state documentation.” I want it in PDF format so I don’t have to open fracking Microsoft Word ever, ever, ever again. I want it to be able to spot every piece of software that is loaded on the server. I want it to be able to tell me every patch and registry tweak that has been applied to that server since I racked it and installed the operating system.
- …is able to alert me when servers are about to run out of maintenance.
- …is visual enough that the customers can use a dashboard of sorts to view some of the same properties and elements that I need to see.
I think you see the challenge here.
Now I ask you…
…why doesn’t this software exist?