Price Cost Engine
##Description## The PriceCost Manager is a system able to calculate and visualize the costs and price from a specific application that has been deployed in a cloud.
- Price: the amount of money or goods asked for the cloud infrastructure utilization by a client (tenant)
- Cost: the amount of money or goods needed by the cloud provider to have the cloud infrastructure (storage needed, management, air conditioning for the machines, etc.)
Multi-tenant applications are deployed in the clouds, therefore, all the system has to be thought in a multi-tenant way. We also want to design a system that is able to handle the cost of several cloud platforms as it has been depicted in the following figure. The tendency is to have federated cloud and or work with different cloud management platforms.
As it can be seen in the previous we have identified 3 components within the PriceCost Manager:
- PriceCost Engine: it is the core component where the cost is calculated. It will need to keep the information of physical machines, virtual machines in order to calculate the cost and price of an application. It will be designed as a skeleton where the data useful for price or cost calculation is captured and where different kind of price or cost algorithms can be programmed and configured through plugins.
- PriceCost database: persistence is done in a relational and non-relational database. Information about the infrastructure, tenant, and cloud is recorded in a relational database (MySQL). Information about the price and cost is recorded in a non-relational database (Elasticsearch).
- PriceCost info Dashboard: Kibana is used to visualize the information. It can be used to graphicaly represent the evolution from the price and the cost from the different elements like the tenant, cloud manager, physical machine, virtual machine, etc.
Please, refer to the word document PriceCostEngine.docx in the docs folder
Licensed under the Apache License, Version 2.0