Elasticity is a form of self-adaptivity in cloud-based software systems that is typically restricted to the infrastructure layer and realized through auto-scaling. However, both reactive and proactive forms of infrastructure auto-scaling have limitations, when used separately as well as together. To address these limitations, we propose an approach for self-improving hybrid elasticity control that combines (a) infrastructure and software elasticity, and (b) proactive, reactive and responsive decision-making. At the infrastructure layer, resources are provisioned proactively based on one-step-ahead workload forecasts, and reactively, based on observed workload variations. At the software layer, features are activated or deactivated in response to transient, minor deviations from the predicted workload. The proposed approach can lead to better performance-aware and cost-effective resource management in cloud-based software systems. We validate our approach via a partial realization and simulation with real-world datasets.
翻译:以云为基础的软件系统一般限于基础设施层,通过自动缩放实现,其弹性是一种自我适应的方式,云基软件系统通常限于基础设施层,通过自动缩放实现。但是,如果单独和一起使用,反应式和主动式基础设施自动缩放形式都有局限性。为了解决这些局限性,我们提议了一种自我改进混合弹性控制的方法,将(a) 基础设施和软件弹性,和(b) 积极主动、反应式和反应性决策结合起来。在基础设施层,根据一步工作量预测,主动提供资源,根据观察到的工作量变化,被动地提供资源。在软件层,根据与预测工作量的短暂、微小的偏差,启动或解除功能。拟议方法可导致在云基软件系统中改进性能意识和成本效益高的资源管理。我们通过部分实现和模拟真实世界数据集来验证我们的方法。