How should the scaling be changed to address the staff complaints and keep costs to a minimum?
Implement a scheduled action that sets the desired capacity to 20 shortly before the office opens.
Implement a step scaling action triggered at a lower CPU threshold, and decrease the cooldown period.
Implement a target tracking action triggered at a lower CPU threshold, and decrease the cooldown period.
Implement a scheduled action that sets the minimum and maximum capacity to 20 shortly before the office opens.
Explanations:
A scheduled action that sets the desired capacity to 20 shortly before the office opens ensures capacity, but it does not address the gradual scaling of resources based on demand. It may lead to over-provisioning at the start of the day and inefficiencies.
Step scaling based on CPU usage is a good approach but adjusting the cooldown period may cause over-scaling or inefficient use of resources. The method doesn’t guarantee that scaling will match application load as precisely as target tracking scaling.
Target tracking scaling adjusts automatically based on a specified metric, such as CPU utilization, and can scale up or down as needed based on real-time demand. Lowering the cooldown period can speed up scaling when demand increases, thus addressing the slow startup problem while keeping costs efficient.
Setting both the minimum and maximum capacity to 20 would ensure there are always 20 instances running during work hours, which can be expensive. This would not help to reduce costs overnight, and could result in over-provisioning during off-hours.