Model-based Proactive Self-Adaptation for Cloud SystemsResearch Track Paper
Context: Self-adaptive systems in the cloud domain leverage dynamic adaptations to meet their service level objectives (SLOs) under changing environments, e.g., varying load or VM failures. This can be realized by defining scaling policies (adaptations) that reactively trigger when SLOs are violated. An alternative way to achieve this is for the system to predict the impact of adaptations as well as future environmental changes, thus enabling proactive reconfigurations. Furthermore, to achieve the desired behavior, fitting SLOs and adaptions have to be chosen. This paper introduces a framework that leverages model-based analysis to optimize reconfiguration plans proactively. It aids developers in constructing proactive reconfigurations at design time. Objective: This paper introduces a framework that leverages model-based analysis to optimize reconfiguration plans proactively. It aids developers in constructing proactive reconfigurations at design time. Method: This paper presents a state exploration-based methodology for optimizing reconfiguration plans to maximize system utility with respect to predefined SLOs that outperforms a purely reactive approach. We use the Palladio Component Models (PCM) to simulate the self-adaptive system using Slingshot, generating a state graph where transitions represent different adaptation rules or environment changes. For each state, we calculate a utility value that reflects how well the state satisfies the SLOs. The optimal reconfiguration plan is identified by finding the path from the root node to any leaf node that maximizes cumulative utility. Results: We show the effectiveness of our approach on a simple exemplary system where the state exploration allows the system to find a reconfiguration plan that outperforms a purely reactive approach. Conclusion: Our approach is a promising method for optimizing reconfiguration behavior in self-adaptive cloud systems. By using state exploration, we can find the optimal reconfiguration plan that maximizes system utility with respect to predefined SLOs. This approach outperforms a purely reactive approach, showing the potential of our methodology.