Improving Cloud-Based Systems: Testing and Optimizing System Scalability
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Université d'Ottawa / University of Ottawa
Abstract
In recent years, cloud-based systems have gained significant popularity for delivering resilient services across diverse domains, including the Internet of Things, data centers, and e-commerce, where they must handle dynamic workloads and ensure seamless service delivery. However, maintaining scalability and meeting performance objectives under unpredictable conditions remains a persistent challenge.
This thesis addresses this challenge by focusing on verifying and optimizing the scalability of cloud-based systems through stress testing methodologies and self-adaptive techniques. First, a simulation framework is introduced to conduct stress testing by simulating large numbers of devices communicating with cloud applications at high frequencies, while reducing computational overhead through symbolic representations. This approach analyzes system behavior under extreme workloads and at the upper limits of its capacity.
When facing high workloads, the network connecting devices to the cloud applications can become a bottleneck and frequently congested. In the second part of this thesis, to mitigate network congestion, a generative self-adaptation framework leveraging genetic programming is proposed to evolve data forwarding logic in real time, minimizing Service Level Objective (SLO) violations and adaptation costs. Third, to ensure that cloud applications can scale to varying request loads, an auto-scaling framework is developed to dynamically adjust microservice instances in a coordinated manner, ensuring SLO compliance while optimizing resource usage.
By enhancing the scalability of cloud-based systems through these three methods, our research ensures optimal performance, reliable service delivery, and effective resource utilization under varying and unpredictable workloads. The proposed solutions reduce operational costs and improve system autonomy, advancing the state of the art in designing and managing scalable cloud-based systems.
Description
Keywords
cloud-based systems, autoscaling, software-defined networks, stress-testing, cloud-native, self-adaptation, genetic programming, containerization, internet of things
