Multi-cloud auto-scaling tech demo

In this screencast, Lars, who is a Software Architect here at Elastisys, shows how the Elastisys cloud platform can auto-scale a single application across multiple clouds. This multi-cloud capability allows your application to be easily deployed to multiple cloud providers, or multiple regions or zones within a single cloud provider. Do you have customers that would be best served by servers running in both US East and West? Both EU West and Central? This is the fault-tolerant auto-scaling solution for you!

The video starts by describing the demo setup, which components are in use. For the purposes of this demo, we have created helper tools around the HAProxy load balancer. These let us monitor the load balancer and update its configuration as server instances come and go. The current request rate to our application is reported into a monitoring database, which the auto-scaling engine queries from time to time.

Multi-cloud capabilities

When it determines that load changes are statistically verified and significant enough to warrant changing the deployment size, it does so. When a new instance is required, one is provisioned from either City Cloud or Amazon EC2, according to a user-configured policy. Instances are also terminated according to the same policy.

We apply a synthetic load to our application using httperf, which we script to apply a load that requires first 2 servers, then 3, then 1, and finally stop. Due to a scheduled capacity limit, the auto-scaler will never let the instance count drop below 1.

Should an instance crash or be terminated without the auto-scaler’s approval, it will immediately try to provision a replacement. We show this, right in the middle of the load being at its highest. Because, after all, isn’t is always at that time that servers decide to crash?

Let us know what you think about the video either here in the comment field on our blog or over at youtube!