Smart Scheduling

Smart Scheduling allows you to automatically park your resources, when the metric (set by you) falls below the threshold value.

This ensures that you get maximum savings on your cloud bills, by parking the resources in real-time. The resources will be unparked again according to the schedule.

Smart Scheduling can be particularly useful if your periods of low usage vary a lot, or have teams in multiple time-zones with varying usage patterns. The resources will be parked in real-time, and unparked according to your pre-defined schedule.

We can use the smart scheduling feature on any resource that can be scheduled - just pick the CloudWatch metric to be measured, and set a threshold below which it will be parked.

Setting Smart Scheduling to active for a schedule means that the resources will be stopped when according to the metric.

They will again be started according to the schedule that is set for unparking.

This is particularly useful for teams that work across a variety of geographical locations and time-zones. Stopping non-essential resources according to a fixed schedule will not be of much use since there will be variation in usage times. Smart Schedule ensures that the resources are parked in real-time during their lowest usage times.

We will try this by setting a EC2 Instances to be parked when their Average CPU Utilization falls below 2%:

Smart scheduling collects your metric data every 15 minutes, and measures it for the past one hour to decide when to park resources

  1. Create a schedule to park EC2 Instances (find out how to do that here)

  2. After setting the parking and unparking actions, click next to view Smart Scheduling

    1. Namespace refers to the service being scheduled. Choose AWS/EC2.

    2. Set Metrics (CPUUtilization), Operator, Threshold (in %)

    3. Dimension is used to differentiate the various Instances in the service

    4. Set Statistics to Average to use the average CPU Utilization over the measured interval

3. Click Save and Deploy

The Smart Schedule feature will not work unless the schedule is deployed - ensure you choose Save and Deploy, not Save