The auto-scaling and deployment policies can be used to derive a cloud SLA from the platform as a service (PaaS) layer, which in turn will benefit the software as a service (SaaS) layer applications. For example, if you want to derive five-9’s availability (99.999%) , then you have to maintain a minimum instances count and run on different cloud vendors, different regions, different zones etc. The latter requirement can be fulfilled if defined in the deployment policies.
The following sub-sections elaborate these two smart policies in detail.
An auto-scaling policy is a policy that determines the auto-scaling process, based on the load thresholds. The load thresholds in turn are determined based on the requests in flight, memory consumption and load average. The auto-scaler uses the latter mentioned parameters while taking decisions to scale up or down. For in-depth information on the JSON file that defines the auto-scaling policy, see the Sample Auto-scaling Policy Definition. For information on the auto-scaling workflow, see Auto-scaling Policy Workflow.
A deployment policy is a set of rules that will be applied when cartridges are deployed. The deployment policy describes as to which cloud partitions are used by a service. There can be multiple deployment policies that are compatible with a single cartridge. However, the user will have to select one deployment policy when subscribing to a cartridge. The deployment policy that is selected by the user will be used at runtime. Each deployment policy defines the applicable partitions, partition group, partition algorithm, and the allowed maximum and minimum instances for each partition. For in-depth information on the JSON file that defines the deployment policy, see the Sample Deployment Policy Definition. For information on the deployment policy workflow, see Deployment Policy Workflow.