1. Overview : 1.2 Open Loop and Closed Loop Implementation Models : 1.2.1 Closed Loop Systems : Closed Loop Dynamic IaaS Closed Loop Dynamic IaaS
When a scale out triggering event occurs, the input parameter that triggers the event is monitored around its set point. The system increases and decreases capacity on demand to stay as close to the set point for the triggering parameter as possible.
With closed loop systems, we can evaluate the system around the set point using a PID control algorithm or similar control scheme. A simpler approach, such as hysteresis, can be very effective and can be implemented with less complexity and tuning.
Hysteresis is the dependence of a system not only on its current state but also on its past state. For example, a thermostat controlling a heater may turn the heater on when the temperature drops below A degrees, but not turn it off until the temperature rises above B degrees.
An example of a closed loop dynamic IaaS system is one where the infrastructure is constantly monitoring the end-user experience. When an end-user experience measure drops below a desired threshold, for example, transactions taking > n milliseconds, the controller scales out the environment to compensate. The experience is checked with the new resources, and if it still is below the desired state, it continues to scale out the service. When the transaction time drops below the desired n milliseconds, the controller scales back the environment to reduce the resources consumed and continues to monitor whether the user experience is within the acceptable range.
Figure 2. Closed Loop Dynamic IaaS