Vision blog

How to use autoscaling in OnApp clouds

Jim Freeman

Jim Freeman
Senior Cloud Architect

Autoscaling is one of the best kept secrets in the OnApp cloud management platform – and one of the most powerful tools in your OnApp arsenal.

Autoscaling helps cloud workloads maintain performance under load, and helps you manage resource utilization without manual intervention – which makes it a must-have feature for any public or private cloud.

In this post, I want to give a quick overview of OnApp’s autoscaling feature, show you how to set it up, and how to configure it in your OnApp cloud.

 

What is Autoscaling?

OnApp autoscaling allows individual virtual servers to scale up and down based on real-time utilization of CPU, RAM and storage resources – with no manual intervention, and no reboots required.

For example, a virtual server that’s near the limit of its allocated resources – because it’s running a website for a marketing campaign, or a finance app at end-of-month – can automatically increase its resource allocation.

This is all set up in the OnApp control panel. You can create custom configurations per virtual server, and tell OnApp to scale them based on a certain percentage of real time utilization. The screenshot shows how this looks in the OnApp UI.

 

In this example, if the virtual server is using more than 80% of allocated RAM over a 5 minute period, then OnApp will add 1GB of RAM, up to a total of 8GB within a 24 hour period. All of these options are customizable – and you can use the same configuration tools to scale down too.

 

How to set up autoscaling in OnApp

Let’s see how easy it is to configure autoscaling in your OnApp cloud.

1. Set up Zabbix

To begin, you need to install a Zabbix server in your cloud. Zabbix is the software that OnApp uses to monitor real time resource utilization of virtual servers. OnApp can set Zabbix  up for you, you automatically, from within the OnApp UI.

First, create a virtual server for Zabbix with the recommended requirements. You can read more about that here: https://docs.onapp.com/display/55AG/Sysadmin#Sysadmin-zabbix.

Then, simply browse to the “Sysadmin” section of the OnApp UI and click on the “Zabbix Setup” tab.

Enter the IP address of the virtual machine you built, and OnApp will configure and deploy it automatically as your Zabbix server. You’ll see two transactions for this in your activity log.

2. Enable autoscaling for virtual servers

Now that Zabbix has been configured, you can enable autoscaling for any virtual server by clicking on the “Autoscale” checkbox on that server’s overview page.

You will see a popup confirming that OnApp will install an agent onto the virtual machine.

Once this has been confirmed, a transaction will run to install the agent.

3. Configure autoscaling parameters

Now we can configure autoscaling parameters for that virtual server.

Go to the “Overview” tab on the virtual server page and select “Autoscaling”, and you can configure the scale-up and scale-down requirements for RAM, CPU and disk, as we saw earlier.

This page also displays real time utilization statistics for the virtual server as a graph, which is updated every 5 minutes:

 

 

Once you’ve chosen your autoscaling options, that’s it: when your resource utilization thresholds are triggered, OnApp will seamlessly scale your virtual machine resources up or down based on your customized parameters – with no reboots required.

Once autoscaling is initiated for a virtual server, you’ll see a related transaction in the Activity Log:

 

 

More information

If you’d like to know more about autoscaling, or take a demo of the OnApp cloud management platform, just drop us a line: https://onapp.com/demo

If you’re already running OnApp and want help getting autoscaling set up and configured, our 24/7 support team are there to help! https://help.onapp.com