Cloud computing is a trend of technology aimed at providing on-demand services with payment based on usage. In order to improve the use of resources, cloud providers adopt multi-tenant approaches, reducing the operation cost of services. Moreover, tenants have irregular workload patterns, which impacts in guarantees of quality of service, mainly due to interference among tenants. This paper proposes PredRep, a predictive approach to characterize the cloud database system workload and automatically provide or reduce resources by replication techniques. In order to evaluate PredRep, some experiments that measure the quality of service and elasticity are presented. Our experiment results confirm that PredRep reduces cost and SLA violations.
INTRODUCTIONCloud computing is now a well-established paradigm for the use of computational resources, according to which hardware infrastructure, software, and platforms for the development of new applications are offered as remotely available services on a global scale. 1 Cloud users give up their own computing infrastructure to dispose it through services, based on the pay-as-you-go model, offered by third parties (cloud providers), delegating responsibilities and assuming costs proportionally to the amount of resources used. Cloud providers, in turn, must meet the expected infrastructure needs of their users.The cloud computing adoption makes it an attractive paradigm that is potentially able to meet the most strict quality-of-service (QoS) levels stipulated in a service-level agreement (SLA). However, it is still a challenging issue for providers to efficiently tackle both gradual load variations and load peaks from the workloads, which are highly dynamic and, as such, very unpredictable, 2 in order not to violate SLA requirements to maximize their revenues.Cloud providers adopt the sharing of their computing resources among users, thus optimizing resource usage, reducing costs, and maximizing profits. There are several levels of resource sharing that define the granule shared for the different users of the cloud. For this, there is the multi-tenancy, which is a technique used to consolidate multiple tenants in a computational resource. 3 In the cloud database context, a tenant can be a tuple, table, database, DBMS, OS, or VM. For each tenant type, there is a multi-tenant model associated. However, the shared DBMS multi-tenant model has been the most widely adopted in the database management platforms. 4 In this model, a DBMS manages multiple tenants where a tenant is a database.Dynamic provisioning techniques are designed to handle irregular workloads, so that SLA violations and their contractual penalties associated are avoided or limited, reducing costs from the cloud provider perspective. 4 These techniques usually take action based on workload observation and can be classified as either reactive or proactive. Proactive solutions apply sophisticated system models for prediction 2 and use forecast results to triggering allocations of expected need in advance. In contrast,...