Elasticity is a core tenet of cloud computing. Cloud has become so popular simply because resources can be adjusted up or down, based on business need, instantly. Manually resizing cloud environments is still MUCH easier than altering physical hardware. But human action is still required, adding human cost to cloud.
A few cloud vendors have attempted to automate this process through “auto scaling” – services that expand and reduce the size environments based on user-defined parameters. However, this capability by and large automates the addition and removal of virtual machines to an existing resource pool. In engineering terms, this is “horizontal scaling” – adding capacity across multiple virtual machines. This approach is useful for consumer applications (think Netflix scaling up for Saturday night), but the enterprise scenario is much different, as we found out in our market research when developing this feature.
While we always recommend that our customers build highly available cloud systems with no single points of failure, there is value is sizing those resources up and down (i.e. “vertical scaling”) instead of only being able to add or remove entire servers. Having multiple servers is key for fault tolerance, but some workloads can benefit from additional server capacity, not just more servers!
This month, CenturyLink Cloud introduced our new Autoscale service. The initial release is focused on vertical scaling of CPU resources, with more vertical scaling (and, yes, horizontal scaling!) on the roadmap. Today, you can now add and subtract CPUs from cloud servers based on user-defined utilization limits. Capacity is added instantly without a reboot and capacity is removed only during user-defined windows of time, to prevent a reboot from occurring during prime usage hours.
Where does vertical Autoscale fit into enterprise IT? There are definitely enterprise workloads that can “scale up” before having to “scale out”. Consider Microsoft Exchange Server or SharePoint. These apps can often benefit from additional capacity on existing servers. But adding entire new mailbox servers can be disruptive and wouldn’t be the first option for administrators who have servers under heavy load. CenturyLink Cloud already supports a “hot add” of CPU, RAM, and storage where you can manually increase capacity on a running server by any unit (i.e. not via fixed “instance sizes”) and have it take effect instantly. With Autoscale, you can go a step further and automatically resize individual servers based on thresholds that you define.
There are many compute-intensive workloads that benefit from vertical elasticity. Such compute-bound examples include database applications with complex queries, batch processing services (e.g. visual effects rendering, simulations), and high traffic web applications. In each of those cases, you could provision a large number of CPUs when provisioning the server, or rather, start smaller, save money, and scale up the server automatically when (and if) utilization dictates.
It’s critical to profile an application to determine which servers may be compute-intensive, memory-intensive, I/O-intensive, or some combination of all three. If the server is running compute-intensive tasks, then CenturyLink Cloud Autoscale can make a huge operational difference to you and your staff, saving hours of time each week. For memory-intensive scenarios (e.g. caching servers), take advantage of our “hot add” functionality and manually dial RAM up and down as needed. When you have I/O intensive servers (e.g. database servers), you could consider adding new storage volumes, or provisioning entirely new servers based on standard or custom OS templates.
CenturyLink Cloud Autoscale is an exciting new service that solves a big enterprise need. While automatic horizontal scaling is important, it’s not always the right fit for the environments enterprise IT manages day-in and day-out. System administrators need multiple options when deciding how to tune and maintain complex cloud systems, and we think Autoscale is a valuable tool in the toolbelt.
Want to take Autoscale for a spin? Existing customers can use it today, and new customers can quickly sign-up and get access to our easy-to-use cloud platform. Want to work with us to enhance Autoscale with new vertical and horizontal options? Join our agile, talented Engineering team!