This topic describes how users with the Space Developer role can set up and configure the App Autoscaler service in the Apps Manager UI to automatically scale apps based on rules that they set.
You can use the App Autoscaler command-line interface (CLI) plugin to configure App Autoscaler rules from the command line. For more information, see Using the App Autoscaler CLI.
Note: Space Managers, Space Auditors, and all Org roles do not have permission to use App Autoscaler. For help managing user roles, see Managing User Accounts and Permissions Using Apps Manager.
To use App Autoscaler to automatically scale your apps, you must create and bind the App Autoscaler service, then configure scaling rules for App Autoscaler.
For more information about App Autoscaler, including information about how to create scaling rules, see About App Autoscaler.
Before using the Autoscaler service in Apps Manager, you must configure the
search-server app for any deployments that have restrictive networking policies around request proxying.
Autoscaler controls may not appear for apps in Apps Manager if your TAS for VMs deployment has restrictive networking policies around request proxying.
To resolve this issue and enable Autoscaler controls in Apps Manager:
no_proxy environment variable for the
search-server app to include your system domain.
cf set-env search-server no_proxy '*.SYSTEM-DOMAIN'
SYSTEM-DOMAIN is the system domain configured for your TAS for VMs deployment. For example:
cf set-env search-server no_proxy '*.example.com'
cf restage search-server
To configure App Autoscaler:
Create and bind the App Autoscaler service to your app. See Create and Bind the App Autoscaler Service.
Configure autoscaling instance limits for your app. See Configure Autoscaling for an App.
To use App Autoscaler, you must create an instance of the App Autoscaler service and bind it to any app you want to autoscale. You can do this using either the Apps Manager or from the Cloud Foundry Command Line Interface (cf CLI):
Note: Manual scaling overrides scaling rules that you configure with App Autoscaler. If you manually scale an app bound to an App Autoscaler service instance, the App Autoscaler instance automatically unbinds from that app, and the app scales to the manual setting. For more information, see Managing Apps and Service Instances Using Apps Manager.
To enable App Autoscaler for an app:
In Apps Manager, select an app from the space in which you created the App Autoscaler service.
Under Processes and Instances, enable Autoscaling.
Click Manage Autoscaling to configure instance limits, scaling rules, and scheduled limit changes for the app. For more information, see Configure Autoscaling for an App.
App Autoscaler keeps instance counts within an allowable range defined by minimum and maximum values. The minimum and maximum values are called instance limits.
For more information about how App Autoscaler makes scaling decisions for an app, see How App Autoscaler Determines When to Scale in About App Autoscaler.
Follow the procedures in the sections below:
This section describes how to create and edit instance limits for app scaling rules. You can also schedule changes to your instance limits for a specific date and time. For more information, see Scheduled Limit Changes.
To manually modify instance limits:
In Apps Manager, navigate to the Overview page for your app. Under Processes and Instances, click Manage Autoscaling.
In the Instance Limits section, set values for Minimum and Maximum.
Click Apply Changes.
The following procedures describe how to add and delete scaling rules for your apps with App Autoscaler.
For more information about scaling rules and metrics in App Autoscaler, see About App Autoscaler Scaling Rules.
To add a scaling rule for an app:
In the Manage Autoscaling pane, click Edit next to Scaling Rules. The Edit Scaling Rules pane appears.
Click Add Rule.
In the Select type dropdown, select the metric for the new scaling rule.
Set the minimum and maximum thresholds for the metric. For information about setting instance limits, see About App Autoscaler Scaling Rules in About App Autoscaler.
Select or fill in any other fields that appear under the threshold fields:
To delete a scaling rule for an app:
Click the x icon next to the rule you want to delete.
Because app demand often follows a weekly, daily, or hourly schedule, you can schedule App Autoscaler to change the allowable instance range to track expected surges or quiet periods.
To create or modify a scheduled limit change:
Click Edit next to Scheduled Limits.
Click Add New to add a new scheduled limit or select an existing entry to modify by clicking EDIT next to the entry.
Edit the following values:
Min and Max: Set the allowable range within which App Autoscaler can change the instance count for an app.
To delete an existing entry, click the x icon next to the entry you want to delete.
For example, to schedule an app to scale down for a weekend, you can enter two rules as follows:
Scale down to a single instance on Friday evening:
Increase instances to between 3 and 5 on Monday morning:
App Autoscaler logs all autoscaling events. You can view event history and manage notifications for App Autoscaler.
To view all autoscaling events in the past 24 hours, click View More in the Event History section of the Manage Autoscaling pane.
App Autoscaler emails or texts its event notifications to all users with the Space Developer role by default.
To subscribe or unsubscribe from autoscaling event notifications:
Navigate to the Manage Notifications page in Ops Manager.
Note: If installed, Notifications Management should be available at
SYSTEM-DOMAIN is your system domain.
Choose which notifications you want to receive from App Autoscaler: