Murano is composed of the following major components:
They interact with each other as illustrated in the following diagram:
All remote operations on users’ servers, such as software installation and configuration, are carried out through an AMQP queue to the murano-agent. Such communication can easily be configured on a separate instance of AMQP to ensure that the infrastructure and servers are isolated.
Besides, Murano uses other OpenStack services to prevent the reimplementation of the existing functionality. Murano interacts with these services using their REST API through their python clients.
The external services used by Murano are: