Redhat Openshift on AWS, Autoscaling & Akshya Patra

Autoscaling :

Be it the announcement of Queen’s passing in BBC or live streaming sports – autoscaling is one of the rich feature which keeps the website, app stable with the rapid increase in viewers

Classic example of autoscaling would be live streaming sports. Recent worldcup Cricket, Football matches were watched by viewers all over the world. Depending on the score, goals, team histories, the number of viewers keeps changing.

IPL: During last IPL, it was evident on the Live streaming screen that, when Dhoni enters for batting, the number of viewers would drastically increase and when he is out, it will go back to nominal viewers count. These fluctuations were handled by autoscaling , Containers

Queen’s Passing announcement: BBC relied upon autoscaling – “Around the time of the announcement of the Queen’s passing in September, we saw some huge traffic spikes. During the largest, within one minute, we went from running 150 – 200 container instances to over 1000…. and the infrastructure just worked”

My personal experience on prescaling instead of autoscaling :

For one of the event, client projected that the number of viewers would instantly spike out. To handle such instant spikes, the Kubernetes version v1.11, didn’t have an option of configuring autoscaling to spin up & scale new pods at short time frame. The pods wont scaleup faster enough to handle the viewers spike. Hence,we had to keep aside the autoscaling feature and enable pre-scaling of PODs before the event.

ROSA : Redhat Openshift Service on AWS

ROSA – You never need to worry about the underlying platform or its complexity of infrastructure management. Those will be handled by Redhat and AWS SRE team. You just focus on delivering value to customers by building and deploying applications

Like other Container orchestration tools, ROSA also features autoscaling in 2 aspects

Horizontal Pod autoscaler : Automatically scale up/down pods

Vertical Autoscaler : Automatically scale up/down nodes

In ROSA, cluster autoscaling is set per machine pool definition. To add autoscaling to machine pool, run the following command :

 rosa edit machinepool -c <cluster-name> --enable-autoscaling <machinepool-name> --min-replicas=<num> --max-replicas=<num>

Akshaya Patra :

You might think, whats the part of Akshaya Patra here. To me, when ever I discuss about autoscaling, I co-releate Akshaya Patra. Akshya Patra is a legendary copper vessel featured in the epic Mahabharata. It is a divine vessel which offered a never-depleting supply of food to the Pandavas every day.

Similar way, the current sophisticated tools like ROSA, Kubernetes, Cloud Providers offer never ending supply of resources to the ondemand & unpredictable number of viewers accessing the online apps across the world.

Summary :

No more manual scaling . Not having to manually manage the scale of major components of the stack frees up the time and the same can be utilized across other areas. For frequent, unpredictable large spikes of traffic environments, make use of autoscaling features more efficiently and help your customers have reliable user experience and at the same time keep a tab on pricing too.