3 IT Tools You Can't Live Without
Nagios is a godsend (a saint perhaps?) to system administrators, by keeping track of all infrastructure services, raising alerts before small issues become large ones, providing a look into the entire system's status, etc. And, although Nagios can take a moderate amount of configuration, it does this all for free -- my favorite price.
As the economy continues to improve, allowing us to feel a sense of hope that the worst is behind us, it's still critical for business owners to make sure they're making smart decisions about technology. After all, if the recession taught us anything, it's that we must be cognizant of cash flow, and make sure that our purchases are really worth the money and will help our businesses to realize maximum ROI.
The technology industry has held a great interest for me since the early 80s, and in that time, I've learned that some tools are "one hit wonders" and will come and go without fanfare, while others become truly integrated and vital to business operations.
The tools that prove themselves critical are the ones that keep a company running smoothly; tools that provide efficiency, security and convenience. I've come up with a list of three tools that are critical to my company and help things run smoothly around here. I'm sure there are more than these three, but if I stop and think about which tools have helped me the most, these definitely rise to the top.
Critical Tool No. 1 - Command Line Interface
The unique and invaluable command line interface (CLI) is one tool that I can't live without. CLI is defined as a means of communication between a program and its user, based solely on textual input and output. Commands are input with the help of a keyboard or similar device and are interpreted and executed by the program. Results are output as text or graphics to the terminal.
CLIs usually provide greater flexibility than graphical user interfaces (GUIs), which requires the use of a mouse pointer to click on options, at the cost of being harder for the novice to use.
The simplest way I can explain the benefits of the CLI is to relate it to iTunes. There have been occasions when I've needed to edit the album name for all songs in that album. Initially, I thought that I had to select each song individually, type in the desired album title, and repeat this for every track. After a couple minutes of this tedious process, however, I realized that by selecting all the tracks, right-clicking and selecting "Get Info," I could type in my desired album title and each song would be updated instantly. A command line interface works in this same way.
The more efficient CLI is a bit like a "macro on steroids" -- a macro being a set of instructions that is represented in an abbreviated format. It's used whenever a large vocabulary of commands or queries, coupled with a wide or arbitrary range of options, can be entered more rapidly with text than with a pure GUI.
A GUI uses windows, icons and menus to carry out commands such as opening files, deleting and moving files, etc. Many GUI operating systems are controlled by using a mouse, although the keyboard can also be utilized with shortcuts or arrow keys.
While a GUI's simpler format is more accessible to new users, the CLI requires a bit more memorization and familiarity in order to successfully navigate and operate the interface. However, once a user has this familiarity down, there are benefits to the CLI that make it, in my opinion, a great deal more efficient than its graphical opposition.
CLI users need only to execute a few lines on their keyboard to perform a task, so they are able to get tasks done much faster than even an advanced GUI user. The CLI interface also enables a user to easily script a sequence of commands to perform a task or execute a program. While GUIs can allow users to create shortcuts, the graphical interface doesn't even come close in comparison to the "macro on steroids" effect that a command line interface has.
I prefer the CLI, but people who are more visual or who prefer a more "user-friendly" system will likely lean toward a graphical user interface. The important thing is to determine the exact task you are trying to accomplish and consider both options to decide which interface would be best for you.
Critical Tool No. 2 - Nagios
Next up is Nagios, which is likely one of the most useful and popular applications out there today. Nagios is a free open source computer system and network monitoring software application. It watches hosts and services, and is a very powerful alerting tool. Its name is a recursive acronym for "Nagios Ain't Gonna Insist On Sainthood," with sainthood being a reference to the original name of the software, NetSaint.
Earlier this year, Linux.com conducted a "Just for Fun Poll," asking Linux users to name their favorite IT operations tool. Nagios came out on top with more than 50 percent of the vote.
It's understandable why so many people love the tool -- it's free, powerful and flexible. Administrators at companies large and small are faced with supervising a multitude of hardware and software, and find themselves incapable of physically monitoring each one.
Thus, Nagios is a godsend (a saint perhaps?) to these administrators, by keeping track of all the services in the infrastructure, raising alerts before small issues become large ones, providing a look into the entire system's status, etc. And, although the system can take a moderate amount of configuration, it does this all for free -- my favorite price.
Critical Tool No. 3 - VMware
The final critical tool on my list is VMware, software that provides a completely virtualized set of hardware to the guest operating system. It acts as a sort of quick-change artist that enables the user to create different testing environments.
VMware virtual machines are highly portable between computers, because every host looks nearly identical to the guest. In practice, a system administrator can pause operations on a virtual machine guest, move or copy that guest to another physical computer, and there resume execution exactly at the point of suspension.
For enterprise servers, a feature called "VMotion" allows the migration of operational guest virtual machines between similar but separate hardware hosts sharing the same storage. Each of these transitions is completely transparent to any users on the virtual machine at the time it is being migrated.
What I love about VMware is that if a computer freezes up, threatening to lose all of its contents, VMware allows you to save the machine. It's as if it provides a photograph of the innards of a computer and resuscitates the machine back to life -- "presto," and you have the old machine back again, running software just like before.
This lets you save various test environments, such as Windows with Word 2003 or 2007 or WinNT Word. These various programs can be installed and running tests in numerous different situations without having to use multiple machines to get the job done, thereby saving you thousands of dollars. Many analogous uses exist, as well, from sales demos to training systems to testing and debugging platforms, etc.
VMware was the long-time leader in virtualization software since its company's founding in 1998. In fact, VMware owned 85 percent of the market share just a few years ago. Now, however, Microsoft is a direct competitor, since it launched its Hyper-V virtualization system in 2008.
A bit of a battle has unfolded between the two virtual machine providers, and more and more options are being created and offered to the public. It is widely debated which virtual machine is "best," but the most important thing for executives to remember when choosing a virtualization system is to consider their needs, and ask themselves what they'll be using the product for. Once needs are clearly defined and understood, companies can do a better job of selecting the best option from the various vendors.
Putting the Tools Into Practice
The CLI, Nagios and VMware are all extremely useful and beneficial to my company. Just last week, an important server of ours went down. Luckily, Nagios alerted our IT guru via cellphone, and he had the server back up and running in half an hour before any of our customers noticed.
We've also combined the use of the CLI with Nagios. When it's time to update our customers' software, we use a script to turn off hundreds of SaaS sites, and also to inform Nagios not to alert us that these sites have been turned off. Without the CLI, we would have to manually turn off each site, as well as manually turn off the Nagios alert for each one. When we finish the update, we use CLI to get the sites up and running again and restart the Nagios alerts.
VMware has saved my company countless hours and money by providing numerous environments for testing, debugging and developing, all within a single machine. These tools provide more than just simplified instruction communication, network monitoring and virtualized hardware. They provide efficiency, security and convenience -- and that is priceless in any economy.
Curt Finch is CEO of Journyx, a provider of Web-based time tracking, project accounting and resource management software designed to guide customers to per-person, per-project profitability. Finch is an avid speaker and writer.