Scaling applications

Scaling is the capability to alter computing resources to meet your load requirements. You can scale applications vertically or horizontally. You can also scale applications manually or automatically.

Vertical scaling by increasing resources to an application instance

Vertical scaling increases the resources available to an application by adding capacity directly to the individual nodes, for example, adding additional memory or increasing the number of CPU cores.

Horizontal scaling by increasing the number of application instances

Horizontal scaling is often referred to as scaling out. The overall application resource capacity grows through the addition of entire nodes. Each additional node adds equivalent capacity, such as the same amount of memory and the same CPU. Horizontal scaling typically is achievable without downtime.

Manually scale applications through IBM Bluemix PaaS dashboard

The IBM Bluemix PaaS Cloud Foundry application dashboard supports both vertical and horizontal scaling through increasing the amount of memory and increasing the number of instances of an application runtime.

Automatic scaling in IBM Bluemix PaaS: Auto-Scaling service and scaling policy fields

You can automatically scale an application by using the Auto-Scaling service and scaling policy fields and options such as available metric types for runtimes, breach duration, and cooldown periods.
The Auto-Scaling service has control panels to define scaling policy, view metrics, and view scaling history. A scaling policy is based on thresholds for various metrics such as memory, JVM heap, throughput, and response time. The breach duration in the policy defines how long a threshold can be exceeded before a scaling event is performed. The cooldown period in the policy indicates how long to wait after a scaling event before processing further scaling requests.

Related links

Getting started with the Auto-Scaling service