What is it?
The App-Autoscaler provides the capability to adjust the computation resources for Cloud Foundry applications through:
- Dynamic scaling based on CPU, memory, throughput, and response times
- Scheduled scaling at specific times
App-Autoscaler is a Cloud Foundry extension project. It started as a Cloud Foundry incubator two years ago. Core committers are from IBM, SAP and Fujitsu, and are globally located in Australia, India, the United States, and China.
This project was generally available in late 2018 and has several production deployments worldwide. Recently it was formally released as part of commercial offering Cloud Foundry Enterprise Environment v2.1.0 in IBM Cloud.
Why do you need it?
App-Autoscaler ensures your application to have the right number of instances to maintain the service quality and pay the resource you really need. With auto-scaling capability, your application gains the following benefits:
- Better service quality: Auto-scaling monitors your application performance and scales out/in your application horizontally to match the resource need. In this way, your service quality target defined in the policy can be maintained.
- Better availability: Auto-scaling helps prepare enough number of application instances in advance if there is predictable workload spike in a given period of time. It will avoid overloading and application crash during the spike.
- Cost reduction: Auto-scaling allows you to pay for the resource you really need. You don’t need to have capacity planning and deploy your application with a fixed number of instances. It saves you money by starting new instances when your application needs them and destroys them when it does not.
How do I use it?
Get started with the Bosh release project on how to deploy and set up autoscaler in your Cloud Foundry deployment. You can also refer to the user guide to get the details of how to define the auto-scaling policy and manage the policy, metrics and scaling events through command line interface.
We would love to get feedback and feature requests from you. Please drop messages to slack channel #autoscaler, or create issue directly in the autoscaler project repository. Also feel free to contact us if you have interest in joining the core team to contribute.