University of Toronto, September 2018.
Recently, microservices architectures have garnered the attention of many organizations — providing higher levels of scalability, availability, and fault isolation. Many organizations choose to host their microservices architectures in cloud data centres to offset costs. Incidentally, data centres become over-encumbered during peak usage hours and under-utilized during off-peak hours. Traditional scaling methods perform either horizontal or vertical scaling exclusively. When used in combination, however, both offer complementary benefits and compensate for each other’s deficiencies. To leverage the high availability of horizontal scaling and the fine-grained resource control of vertical scaling, two novel reactive hybrid autoscaling algorithms are presented and benchmarked against Google’s popular Kubernetes horizontal algorithm. Results indicated up to 1.49x speedups in response times, 10 times fewer failed requests, and 35% increase in resource efficiencies. Moreover, a novel predictive approach is also explored using neural networks and a custom online learning technique indicating prediction errors as low as 3.77%.