Auto-Scaling Web Applications in Clouds: A Taxonomy and Survey <s> Self-Adaptive Switching <s> Many control theory based approaches have been proposed to provide QoS assurance in increasingly complex software systems. These approaches generally use single model based, fixed or adaptive control techniques for QoS management of such systems. With varying system dynamics and unpredictable environmental changes, however, it is difficult to design a single model or controller to achieve the desired QoS performance across all the operating regions of these systems. In this paper, we propose a multi-model framework to capture the multi-model nature of software systems and implement self-managing control systems for them. A reference-model and extendable class library are introduced to implement such self-managing control systems. The proposed approach is also validated and compared to fixed and adaptive control schemes through a range of experiments. <s> BIB001 </s> Auto-Scaling Web Applications in Clouds: A Taxonomy and Survey <s> Self-Adaptive Switching <s> Elasticity algorithms for cloud infrastructures dynamically change the amount of resources allocated to a running service according to the current and predicted future load. Since there is no perfe ... <s> BIB002 </s> Auto-Scaling Web Applications in Clouds: A Taxonomy and Survey <s> Self-Adaptive Switching <s> In the presence of scale, dynamism, uncertainty and elasticity, cloud software engineers faces several challenges when modeling Quality of Service (QoS) for cloud-based software services. These challenges can be best managed through self-adaptivity because engineers’ intervention is difficult, if not impossible, given the dynamic and uncertain QoS sensitivity to the environment and control knobs in the cloud. This is especially true for the shared infrastructure of cloud, where unexpected interference can be caused by co-located software services running on the same virtual machine; and co-hosted virtual machines within the same physical machine. In this paper, we describe the related challenges and present a fully dynamic, self-adaptive and online QoS modeling approach, which grounds on sound information theory and machine learning algorithms, to create QoS model that is capable to predict the QoS value as output over time by using the information on environmental conditions, control knobs and interference as inputs. In particular, we report on in-depth analysis on the correlations of selected inputs to the accuracy of QoS model in cloud. To dynamically selects inputs to the models at runtime and tune accuracy, we design self-adaptive hybrid dual-learners that partition the possible inputs space into two sub-spaces, each of which applies different symmetric uncertainty based selection techniques; the results of sub-spaces are then combined. Subsequently, we propose the use of adaptive multi-learners for building the model. These learners simultaneously allow several learning algorithms to model the QoS function, permitting the capability for dynamically selecting the best model for prediction on the fly. We experimentally evaluate our models in the cloud environment using RUBiS benchmark and realistic FIFA 98 workload. The results show that our approach is more accurate and effective than state-of-the-art modelings. <s> BIB003
Beyond the utilization of a single self-adaptive module, some auto-scalers have employed a more adaptive framework, which we call self-adaptive switching. In these auto-scalers, they concurrently connect multiple nonadaptive or self-adaptive controllers and actively switch control between controllers based on their observed performance on the application. The included selfadaptive controllers continuously tune themselves in parallel. However, at each moment, only the selected best controller can provision resources. Patikirikorala et al. BIB001 employed this approach, and Ali-Eldin et al. BIB002 proposed a self-adaptive switching approach based on the classification of the application workload characteristics, i.e., their periodicity and the burstiness. Chen et al. BIB003 proposed an approach that trains multiple resource estimation models and dynamically selects the one that performs the best.