Abstract
Elasticity endows a software system with the ability to maintain optimal user experience by automatically acquiring and releasing resources, while paying only for what they require. The mechanism for automatically adding or removing resources on the fly is referred to as auto-scaling. The state-of-the-practice with respect to auto-scaling involves specifying threshold-based rules to implement elasticity policies for cloud-based applications. However, there are several shortcomings regarding this approach. Firstly, the elasticity rules must be specified precisely by quantitative values, which requires deep knowledge and expertise. Furthermore, existing approaches do not explicitly deal with uncertainty in cloud-based software, where noise, unexpected events and workload fluctuations are common. This paper exploits fuzzy logic to enable qualitative specification of elasticity rules for cloud-based software. In addition, this paper discusses a control theoretical approach using type-2 fuzzy logic systems to reason about elasticity under uncertainties. We conduct several experiments to demonstrate that cloud-based software enhanced with such elasticity controller can robustly handle unexpected spikes in the workloads and provides acceptable user experience
Original language | English |
---|---|
Title of host publication | Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems : SEAMS 2014 |
Number of pages | 10 |
Publisher | Association for Computing Machinery |
Publication date | 2014 |
Pages | 95-104 |
ISBN (Print) | 978-1-4503-2864-7 |
DOIs | |
Publication status | Published - 2014 |
Keywords
- Cloud Computing
- Auto Scaling
- Elastic System