Agents are those little pieces of application code that need to be installed as a component of a larger application. There is the fear that installing an agent, or more accurately "yet another" agent on an application workload, is going to bring the whole server crashing to its knees. When a vendor begins to proclaim they are agentless and that anything with an agent is instantly evil and should be avoided, the truth is, as always, somewhere in the middle.
The bad rap that agents get is certainly something that is well earned. Over the years I have seen agents run out of control, consuming all the available memory or processor in a server, eventually causing it to crash or be rebooted. This leads to the move away from agents that I mentioned above.
In recent years, however, the software that I have used which requires agents has been much more stable. Part of this is a maturing of the various software, with vendors offering better testing suites and improved resilience in the OS. Other than a beta test, though, I can't remember the last time I had an agent crash a server or VM. Additionally, with stable agents also comes the benefit of a local presence on the server.
The single biggest benefit with agents is that things are more real-time. Agentless systems need to crawl the local server to get information, and in some cases, especially in larger environments, this can seem to take forever. For example, storage management applications can take hours to crawl file servers that have millions of files on them. I'd rather know instantly. As we discuss in our article "Total Capacity Management," in the dynamic data center, the value of a real-time heads up display on items like storage and the virtual infrastructure is incredibly valuable.
That is not to say that agentless technology doesn't have its place. It makes sense anytime deployment of the agent is going to be difficult to manage, especially if there are hundreds or thousands of servers to deal with. A great example is cloud backup. With companies like Asigra and Axcient that place an appliance at the customer location and then send that data to a cloud-based data center, the servers are spread across thousands of different customer locations. Managing that many agents across that many locations would be a tall task.
When considering a solution that uses agents or not, the decision comes down to how valuable is real-time data, and what is the nature of your environment? The closer to real-time that you need, the more likely you are going to want to deploy something that is agent-based. Agentless technology may appeal more if you have a geographically diverse user base and a limited number of IT personnel in those locations.