Cloud scalability: App availability without scaling up or out
Scalability on demand is one of the core benefits of cloud technology, but in reality, scaling as and when a spike in application demand occurs isn’t typically a smooth process.
There are a few options available to scale a cloud environment to accommodate for fluctuations in usage demands: scale out, scale up or move to a completely different environment. Let’s cover these.
Scale out (Horizontal)
By adding more server instances to your stack, the application load is distributed across more machines as demand increases. Scaling out is often foreseen as a quick, but effective fix to a surge in demand.
However, it’s not always a straightforward solution. Your application needs to be designed and architected to scale out and run on multiple machines. If not, your application software needs to be rewritten.
Scale up (Vertical)
Another option is to scale up, i.e. add resources to enhance the CPU, memory, storage etc. of your current cloud architecture. This is a lot less complicated to implement: your software doesn’t need to be altered as you’re simply upgrading to a more capable machine.
But the issue with scaling up in the cloud is that to implement added resources you need to reboot the machine. This means that a spike in demand to your application will always be met with a period of unavoidable downtime as you scale up. Downtime caused by machine rebooting will also occur when the additional resources are no longer needed and you’re ready to scale down.
Transfer to a capable environment
As opposed to scaling out or up, transferring your application to another, highly capable environment achieves application availability without disruption, configuration complication or inefficient resource utilisation.
iomart’s CloudScale solution, designed for our enterprise cloud platform CloudSure, is an example of this scalability configuration. It enables your application to transfer to a separate premium, high clock speed dedicated server running the latest generation Intel Xeon Processors, when application demand exceeds the capacity of your cloud environment.
The transfer occurs live, without interruption to the availability of your application. This is achieved by leveraging VMware’s VSphere vMotion solution, which enables live migrations of entire virtual machines between physical servers.
Our automated systems continuously monitor the CPU utilisation of your workload, and when necessary, transition your service to extremely high-powered physical CPUs, with up to 100% more processing power per CPU.
Once application traffic has stabilised back to normal levels, your application moves back to your virtualised environment.
Whilst scaling up and scaling out are both valid approaches to enabling cloud scalability, their pitfalls are unavoidable. Not only does CloudScale eliminate the need to rewrite your applications, or reboot your machines, it also allows you to focus on business, rather than delivering your application to users. Downtime becomes a thing of the past, even with exceptional spikes in demand.