Did your cloud application, retail or not, make it through Cyber Monday? Most did fine, but some found that a lack of architecture and the lack of enabling technology led to some stressful hours.
Today, cloud-based applications that had had as many as 10,000 users a day are now up to 50,000 users a day—and are going quickly to 100,000 and more. While the configuration, application platform, and databases do okay with the lighter-weight usage, scaling is a question that most cloud-using enterprises have not been able to answer until the users showed up in droves. In other words, they have no idea if their cloud applications will scale or not.
If this is you, you’re not alone. Here is some practical advice to relieve that anxiety better than Prozac.
First, predict scaling by creating a performance model that includes all components of your cloud-based workload. This means that you model the limitations are of the current application and database configuration in the cloud and determine what number of users will hit those limits, meaning they get 404 errors galore.
It’s a matter of figuring out the dependencies and how resources will behave under varying loads. For example, you might assume that one user equals about 200-page loads, as well as about 500 hits in the database. Given the capacity of system, you can calculate from these estimated loads the limits and when increasing user load will hit them, as well as the effects on resources.
Second, use performance-management monitoring software to keep an eye on things. While you could hope that the cloud’s autoscaling mechanisms would keep you out of trouble, you need a hard, ongoing look at the system. This includes thresholds that set off alarms, so not meeting the load demand won’t be a total surprise.
Third, use enabling technology that scales. This means anything that can automate the use of processing and storage. The best examples today include container orchestration such as Kubernetes and the dynamic scaling features of any serverless system.