Scaling Policy Definition

Scaling Policy

slingshot-scaling-policy

A Scaling Policy determines the complete information for scaling a parituclar target. It is a containment of a trigger and an adjustment type and a finite number of constraints. It references a target group which is adjusted when the trigger fires.

Trigger

slingshot-scaling-trigger

A Scaling Trigger encapsulates both what is observed on the modeled system (the monitoring) as well as how such observation lead to a trigger (the analysis part).

Constraints

slingshot-scaling-trigger

Constraints represents ways to constraint the scaling behavior. A typical example would be to constrain the number of adaptations for a time interval. In the SPD language we distinguish between two different types of constraints: constraints that are applicable to the policy, and, constraints that are applicable to the target group. An example for the later would be the maximum number of elements in the group (e.g., maximum number of Pods per Deployment in Kubernetes).

Policy Constraints

Target Constraints

Adjustment type

slingshot-scaling-trigger

An Adjustment Type determines how the target group is adjusted. For example a Step Adjustment denotes that the target group is adjusted by adding or removing a fixed amount of elements.

Target Groups

Policies apply to target groups. A Target Group defines a structure of elements on which adjustments are precisely defined. We distingiush three different such structures: Elastic Infrastructure, Elastic Service, Elastic Queue Consumers. The first and the later two are antinomical meaning that in one SPD definition either polcies are defined on the infrastructure level or service level. For the service-level groups we distinguish two types of groups depending on the communication style employed in the architecture: synchronous (Elastic Service) vs asynchronous (Elastic Queue Consumers).

When policies are defined on the service-level, the infrastructure is adjusted automatically to meet the demands of the scaled services.

Elastic Infrastructure

slingshot-target-group

Elastic Service

slingshot-target-group

Elastic Queue Consumers

TBA