Software Agents and Cloud Migration

Agents are little pieces of software, usually small, that are installed on servers so that another piece of software can extract information from, or control some aspect of the server.  Although software agents are often required in certain application they can come with certain disadvantages:

Security & Compliance

Many enterprises require a strict adherence to rules when it comes to installing software on servers.  This is because software agents may open up the company to unknown security issues, such as opening unauthorized network ports, or causing conflicts with other pieces of software.

Resource usage

Every piece of software has processes that take up resources, be it CPU, Disk, Memory or Network.  If left unchecked, they can begin to affect the workload’s primary applications, including its responsiveness and ability to serve customers or end users.

Compatibility

Sometimes applications have compatibility issues and conflict with one another for resources.  For this reason data centers often test new software rigorously before putting them in a production environment.

Installation effort and downtime

Installing agents on a few workloads isn’t usually that big of a deal.  However in production environments this can be an issue, especially if the agent requires a reboot.  When environments get large, installing agents on hundreds or even thousands of workloads now becomes a cumbersome and tedious effort.  If a one-time migration is being done, then uninstalling the agents also becomes an issue.

Software agents should only be used when there is no other choice.  In the case of workload migration and DR, it is best to go with software that is agentless, where no software needs to be installed on the source or target infrastructure.