CloudDB AutomAdmin - SLA

The framework architecture consists of the following main components:

Control Module: In our framework, the consumer application is only responsible of configuring the control module of the framework by declaratively defining (using an XML dialect) the specifications of the SLA metrics of their application. In addition, the consumer application declaratively define (using another XML dialect) a set of rules that specify the actions that should be taken (when a set of conditions are satisfied) in order to meet the expected system performance or to reduce the cost of the allocated cloud resources when they are not efficiently utilized. The control module also maintains the information about the configurations of the load balancer (e.g. proxy address, proxy script), the access information of each database replica (e.g. host address, port number) and the location information of each database replica.

Monitor Module: This component continuously logs and monitors the executed database operations of the application workloads. During the monitoring process, it correlates the received database operations based on their sender, detect the transaction patterns (which is defined during the SLA declaration process) and measures the total execution times of the workload transactions (as the sum of its raw database operations). The monitor module is responsible of feeding the control module with the collected information which is continuously checked against their associated application-defined SLAs and then the action module is triggered to scale out/in the database according to the application-defined action rules.

Action Module: This component is responsible of exeucting the actions of the application-defined rules when their conditions are satisfied and a trigger is recieved from the control module.