"A little piece of advice. You see an Agent, you do what we do. Run. You run your a** off."
— Cypher, The Matrix
If you are evaluating Cloud Management Platforms (CMPs), make sure to consider whether the solution requires an agent on the VMs it manages. This is important because your CMP should provide visibility and manageability across all servers, not just the ones it built itself. CMPs that require an agent for full management greatly inhibit your ability to on-board previously-existing (aka “brownfield”) servers. Consider the challenge of getting root/Administrator access to all VMs across all environments and installing software on them. Also, test what happens when people provision VMs outside of the CMP by going straight to vCenter, AWS, etc. Will the tool automatically discover and manage them, or will an administrator need to manually install agents first? Also consider which OS versions the agent is supported on, how quickly new agent versions are released to support new OS versions, and what the upgrade process is for existing agents.
Inclusion of an agent makes a CMP more like a monitoring or configuration management system. It blurs an important line between monitoring and operations. Agent installation and inter-process communications also raise legitimate security concerns. By contrast, a product designed as a manager-of-managers gets all the information it needs through the APIs of each virtualization system, public cloud, and configuration manager. The CMP automatically discovers and manages VMs built with other tools in exactly the same way as servers it builds. All systems are equal.
This was our design philosophy for CloudBolt. We recognized that enterprise datacenters have a plethora of pre-existing interfaces and tools. Rather than supplanting or requiring changes to existing operational standards, we complement and integrate with them. Our approach enables IT architects to choose the best set of tools for each specific function.
I would go so far as to say that if a product uses agents, it is not a CMP. A management ecosystem should be comprised of interchangeable parts and components that respect their boundaries, and integrate with each other over published, documented APIs. Administrators should be able to swap out any particular monitoring (or backup, virtualization, or even CMP) solution for another as requirements change or better versions come along, all without affecting other functional areas. This is central to CloudBolt's approach, and it’s one of the reasons it is consistently ranked highest amongst CMPs.