The document describes threshold-based elasticity in cloud computing systems. It shows how resources are scaled out when demand exceeds a threshold and scaled in when demand falls below a lower threshold. It also discusses the need to reproduce bugs in elastic systems and presents an approach using a prototype architecture that can schedule workload and resource variations to systematically test elasticity. Case studies show this approach successfully reproduced bugs in MongoDB and ZooKeeper that could not be triggered without the controlled testing environment.
Scaling API-first – The story of a global engineering organization
Cloud Computing Elasticity Testing
1.
2.
3. Cloud Computing Elasticity
N. R. Herbst, S. Kounev, and R. Reussner, “Elasticity in Cloud Computing: What It Is, and What It Is Not,” ICAC, pp. 23–27, 2013.
M. M. Bersani, D. Bianculli, S. Dustdar, A. Gambi, C. Ghezzi, and S. Krstić, “Towards the Formalization of Properties of Cloud-based Elastic
Systems,” in Proceedings of the 6th International Workshop on Principles of Engineering Service-Oriented and Cloud Systems, New York,
NY, USA, 2014, pp. 38–47.
37. ●
Reproduction of Bugs
Bug Success of Reproduction
Using Our Approach
Success of Reproduction
Without Our Approach
MongoDB-7974 3 0
ZooKeeper-2164 3 1
ZooKeeper-2172 3 0
38. ●
Reproduction of Bugs
Bug Success of Reproduction
Using Our Approach
Success of Reproduction
Without Our Approach
MongoDB-7974 3 0
ZooKeeper-2164 3 1
ZooKeeper-2172 3 0
● Comercial elastic controllers natively removes either the oldest (first added) or the newest (last
added) resource;
● In our experiment, ZooKeeper node on the oldest resource (VM) is elected the leader;
● At one of the three executions, we configure elastic controller to remove the oldest node;
○ Then, the bug is reproduced.
● If the leader was the node in the middle, the bug would never be reproduced without our
approach.