Note: Please go to docs.rightscale.com to access the current RightScale documentation set. Also, feel free to Chat with us!
Home > Guides > Dashboard Users Guide > Manage > Arrays > Concepts > What is Autoscaling?

What is Autoscaling?

Overview

Before we can properly define autoscaling (auto-scaling), we must first explain the different types of scaling since autoscaling only applies to a specific type of scaling in the cloud.  Remember, "scaling" refers to the ability to grow or shrink an object or set of objects.  Scaling provides a means of changing the server sizes or quantity of servers to meet your application's demands.  The ability to efficiently scale up or down is one of the key benefits of the cloud.  And when combined with the monitoring and alert tools of the RightScale platform, you can truly harness the power of the cloud by dynamically scaling, automatically, based on predefined alert conditions (autoscaling).

What is Scaling?

Scaling is the ability to increase/decrease compute capacity either by launching additional servers or changing server sizes.

Below is a summary of the two types of scaling:

  • Horizontal Scaling - The ability to automatically scale (grow/shrink) the number of server resources that are provisioned to a particular Deployment.  For example, as your site grows and the number of user requests increases, you can scale-up horizontally by launching and provisioning additional server resources to serve your application.  Conversely, when those resources are no longer needed, you can scale-down and automatically terminate underutilized server resources.
    diag-HorizontalScaling-v1.png
     
  • Vertical Scaling - The ability to scale the size of a server.  Another way to dramatically change compute capacity is to change server sizes. Depending on your site's architecture, cost, and bandwidth requirements, it might be more beneficial for you to scale vertically instead of horizontally.  For example, instead of managing 6 smaller servers, you might want to simplify your Deployment and replace them with 2 larger servers that provide an equivalent amount of performance at a more cost-effective rate.  Vertical scaling is also common for growing the size of your database over time.  Unlike horizontal scaling, you do not vertically scale automatically.  Autoscaling does not apply to vertically scaling scenarios.
    diag-VerticalScaling-v1.png


What is Autoscaling?

The ability to autoscale only applies to horizontal scaling.  In the RightScale platform, autoscaling is achieved by setting up scalable server arrays, as well as defining the alert conditions under which additional servers will be launched or terminated.  You can set up two different types of server arrays for autoscaling purposes:

  • Alert-based Server Arrays - Define a set of predefined alert specifications that are constantly being monitored on the server by RightScale's alert daemon.  (e.g. If 'cpu-idle 0' is < 25% for 15 minutes)  When an alert condition's threshold has been met or exceeded, an alert is triggered and either an Alert Escalation is called or the server's Voter Tag changes accordingly to denote a vote to grow/shrink the server array.  See Create a New Alert based Array and Set up Autoscaling using Voting Tags.
  • Queue-based Server Arrays - Strictly used for back-end, batch processing applications where "worker" instances are launched to process work units from an input queue and then send the result files to either S3 or another queue.  Queue-based server arrays are a primary component for creating grid applications.  See Create a Queue-based Server Array and RightScale Grid Technical User Guide.

Scaling Manually vs. Automatically

Although autoscaling might seem like the preferred method for scaling in the cloud, manual scaling is definitely a preferred method for certain use cases.  For example, vertical scaling typically involves making significant changes to a server's core configuration.  Therefore, it's better to perform such changes manually.  Remember, when you set up scalable server arrays for (horizontal) autoscaling purposes, you're not changing an existing server's configuration.  Rather, you are simply adding or subtracting compute resources based on changing demand metrics.

 

You must to post a comment.
Last modified
22:45, 16 May 2013

Tags

This page has no custom tags.

Classifications

This page has no classifications.

Announcements

None


© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.