The thesis contributes a new auto-scaling system that can be adapted to any cloud platform. It proposes a new monitoring system that collects relevant metrics to make important scaling decisions. Using the collected metrics, the design aims to provide an efficient feedback to the cloud DevOps. The collected feedback is integrated into the development environment so that developers are able to utilize the feedback to make their applications better scalable and highly available. On the other hand, this feedback can also be used to automate configuration management and to facilitate dynamic infrastructure provisioning. In this thesis, the monitoring metrics are aggregated for a sufficient period to make scaling decision. Scaling decisions can depend on a single metric or even a combination of metrics that can be customized by the cloud application developer.
The thesis also models the monitored information collected by the monitoring component of the auto-scaler, to identify a suitable correlation model. The model provides a better understanding of the relation between the collected metrics.
Technologies: Java, Cloud Foundry, OpenStack, MySQL DB, MATLAB System Identification Toolbox, Git, JSON