Recent advancements in web-based application, especially in cloud computing environment, allows cloud service providers to deploy and provide web-based services in the form of multitier applications. One of the most suitable infrastructure for the running of multitier applications is a cloud computing infrastructure. Since the arrival rate of users to the multitier applications varies over the time, deciding about the right amount of resources required to handle the each tier of multitier applications is not trivial, and it depends on the current workload of its each tier. Therefore, it is necessary to automatically provision resources to deal with fluctuating demands of the multitier applications. In this paper, we propose a hybrid resource provisioning approach for multitier applications based on a combination of the concept of the autonomic computing and the fuzzy analytical hierarchy process approach. Moreover, we present a framework based on MAPE-k control loop for autonomous resource provisioning of multitier applications in cloud computing environments. The effectiveness of the proposed approach under real and synthetic workloads was evaluated. The experimental results indicate that the proposed solution outperforms in terms of allocated virtual machines, response time, and cost compared with the other approaches. KEYWORDS autonomic computing, cloud computing, FAHP, multitier applications, resource provisioning, workload prediction
INTRODUCTIONCloud computing is one of the most popular technologies in the businesses, educational institutions, governments, and the research community that has become an integral part of many users are heavily dependent on cloud-based applications for their day-to-day activities in both professional and personal lives. 1 Recent advancements in the web-based application, especially in cloud computing environment, allows cloud service providers to deploy and provide web-based services in the form of multitier applications. As the cloud is elastic, it can be used in places where the varying load is one of the main characteristics. [2][3][4] It can also be used where on-demand access is required. Similarly, because of its property of multitenancy, it can be used in places where several applications are to be operated. 5,6 Therefore, one of the most suitable infrastructures for the running of multitier applications is cloud computing infrastructures. On the other hand, since the arrival rate of users to the multitier applications varies over the time, deciding about the right amount of resources Softw Pract Exper. 2018;48:2147-2173.wileyonlinelibrary.com/journal/spe