I have developed cloud (VPS, block storage, object storage, SDN, backup, etc) platform automation software for a US based VPS company running on a libvirt/KVM platform. This gives me two years of domain experience in just the area you require. During that period I held a senior DevOps/CTO role where I was responsible for supporting a fleet of large (1.5Tb RAM, 16Tb SSD, 72 core) servers.
My software interfaced the company's CRM system (built on WHMCS) with compute and storage nodes (RHEL, KVM, libvirt, etc) and internal management and monitoring systems. It used an agent architecture where a custom-developed "host agent" was deployed to each infrastructure node. Operational information was continuously published by the host agent to a Kafka data stream which was consumed by various other management, monitoring and reporting components of the platform.
One such component was the supervisor, a central policy daemon that monitored platform events and reacted by issuing commands back to nodes based on a configured policy. Commands were sent via a Kafka stream that was consumed by infrastructure nodes. An API was built to give easy access to front-end WHMCS and other system components.
The solution was coded in Python and used Kafla, ZeroMQ, redis, celery, libvirt, the libvirt API, REST API, Apache httpd, etc.
I am very familiar with the components of a cloud platform and stacks such as cloudstack & openstack. I can produce an effective automation solution for you.