CloudyGUI: A Novel Python-based Framework for Auto-Scaling and Cloud Workload Analysis
Provides an accessible simulation platform for researchers developing auto-scaling strategies in cloud computing.
CloudyGUI is a Python framework with a GUI for simulating auto-scaling in cloud environments, using XGBoost and LSTM for workload prediction. It generates realistic workloads matching real data (K-S test p-values 0.19 CPU, 0.14 memory) with minimal GUI overhead (1.4x-4.67x).
Purpose: Cloud computing environments are highly dynamic, creating major challenges for resource management. Accurate workload prediction is therefore essential for effective auto-scaling. To address this, we present CloudyGUI, a Python simulation framework with an easy-to-use GUI that allows researchers to test and validate resource management strategies. Methods: This framework employs a three-stage pipeline: workload generation, prediction (utilizing XGBoost and LSTM), and an auto-scaling system based on the MAPE loop. Validation includes internal, intermediate, and external methods to ensure system reliability. Results: CloudyGUI's generated workloads closely match real-world datasets. A two-sample K-S test confirms this alignment, showing strong p-values of 0.19 for CPU and 0.14 for memory. When compared to a command-line tool, the GUI adds only a minimal overhead of 1.4x-4.67x. Furthermore, expert review validates the tool's realism and practical usefulness. Conclusion: CloudyGUI fills a critical gap by providing an accessible and efficient platform for simulating auto-scaling in cloud applications, helping researchers develop advanced cloud management solutions.