August 22, 2011

A case against tools

3rd party tools don't do much for me, how about you?
One of the biggest businesses in IT is 3rd party tools. And the DB market has almost more than I can even count. We've got tools for everything from backups to security and defrag. It's amazing how many of those things there are. And one of the questions I'm asked the most when I get mobbed by users at conferences is which tools do I use in my shop. What do I use for backup? What do I use for monitoring? What do I use for maintenance? And much more.




Best Microsoft MCTS Training – Microsoft MCITP Training at Certkingdom.com


My answer is always the same no matter where I'm working. I use the Microsoft native tools. Now, I get ragged on sometimes for this because the MS tools are so base level, and don't offer hardly any advanced functionality so apparently I'm missing out on a lot. However, this is a topic I have a lot to say about and while I'm not going to launch into the full discussion, I am going to hit the highlights.

Ok so why don't I use 3rd party tools? Well, one of the biggest reasons is because they're typically not nearly as advanced as they would have you believe. Most of the time I find that whenever a company pitches an app to me it always falls just short of useful. So let's take for example a monitoring app that was pitched to me a while back. I'm of course, not going to mention any names here because it's not that kind of blog. It had a lovely interface with really nice graphs though. And it was fairly easy to configure and setup alerts. The historical piece of it was also pretty easy to work with and after learning just a couple tricks in the interface, it was fairly intuitive so I could narrow down the graphs to the exact time I was looking for very easily. However, it stopped there. On the surface it would seem like this is an excellent tool that any shop would welcome, but it isn't until you have enough experience to know what to look for that you realize that you don't want to manage your servers in this tool. For starters, while it's easy to configure, that's only for a single box. The configurations you setup for that box don't transfer to other boxes, so you have to configure each one individually. That's no way to manage a large environment. I don't know about you, but I don't have time to click through the same settings on all 700 of my servers. As well, while it is easy to configure and report on, you can't add counters to the collection. It comes with a set of counters that you can choose from, but if you're interested in a counter that's not included, you're out of luck. And I found that some of the counters I look at all the time for SQL Server aren't in the list. So I'd have to go outside the tool to get the other counters I'm looking for anyway. And what would be the point in that? And I really find that every tool has something wrong with it that makes me have to work around something.

The next big reason I use MS tools is that they're with me at every job. When I was young in this field I used to love the 3rd party tools. I would go out of my way to make sure my boss would buy whatever tools I liked working with. However, quite often I would find that the company either already had something in place (quite often one I wasn't that fond of), or they didn't have budget for tools. So now what do I do? I really love this one tool, but the company refuses to get it for me (for whatever reason). But whatever I write using the MS tools can be carried from job to job because they come with the products and they don't cost anything. So now I've got tools that I know how to use, and they can travel with me wherever I go.

Another reason is that even if the settings for a tool can be configured against groups of servers, your preferences can't easily be moved to another shop. So maybe you've got a specific set of counters you like to see by default, and specific thresholds. You have to set that up manually in your new shop. And if you're like me, you almost never use the default configs for any product so setting them up manually can be a chore. Personally, I like having to do as little as possible when I move to a new gig.

So while the MS tools don't have much to them, that only means that you can do whatever you like and actually keep your efforts. Whatever you do to manage your environment, you can use it in every new job, and your default settings stay intact. And now you've got a solid tool that you know inside and out and you can make any change to it you like. And one of the best aspects of it is you can write it in whatever you like. So if you're a C# guy, then do your stuff in C#. If you're a powershell guy, do what you like, etc. You're the boss. I've never failed to take my monitoring system to a new job and get it up and running in no time at all. I've had to completely rewrite it a couple times as I noticed I hadn't taken some big things into account, but that's what it's all about. It's all mine. And I can add features as I see fit. For me, managing an environment doesn't get any better than that.

Totally agree. I often find that these tools, at least when it comes to SQL Server, offer very little beyond a wrapper and new GUI around the built in functionality. I've even found it easier to set up certain things with the built in tools once you know how they work and have scripts written. The people who relied on these tools tended to use them as a crutch to analyze or do things that they didn't understand.

Bookmark and Share