Set Up Scheduled Autoscaling

Introduction to autoscaling

Enable scheduled autoscaling to ensure that your Managed Search clusters handle varying levels of searching demand.

Managed Search automatically scales the number of Solr nodes in a cluster to specified numbers at specified times on specified days. If no time is specified in a schedule entry, then the default time 00:00 UTC (Coordinated Universal Time) is used.

Managed Search automatically scales the number of Solr nodes in a cluster to specified numbers at specified times on specified days. If no time is specified in a schedule entry, then the default time 00:00 UTC (Coordinated Universal Time) is used.

Scheduled autoscaling scales the number of Solr nodes in a Managed Search cluster based on the day of the week and the time of day. For example, the level of demand for searching might increase at the end of the work day and then decrease at night.

For example, this schedule scales the number of nodes up to 10 at 15:00 UTC (7:00 PM Pacific Standard Time) on Monday and back down to 5 nodes at 02:00 UTC on Friday (6:00 AM Pacific Standard Time):

"schedule": [
  {
    "MON 15:00": {
      "nodeCount": 10
    }
  },
  {
    "FRI 02:00": {
      "nodeCount": 5
    }
  }
]

Scale-up: When a scheduled time for autoscaling arrives and the number of Solr nodes specified in the schedule entry exceeds the current number of Solr nodes

Scale-down: When a scheduled time for autoscaling arrives and the number of Solr nodes specified in the schedule entry is fewer than the current number of Solr nodes

Note
During scheduled autoscaling, Managed Search ensures that no data is lost.

Scheduled autoscaling

This diagram illustrates the simple case that is used as an example in Introduction to autoscaling: autoscaling up (to 10 nodes) for the work week and down (to 5 nodes) for the weekend.

Scheduled autoscaling

A schedule contains two or more schedule entries. Each schedule entry gives the time of the scale transition and the number of Solr nodes to use after the transition. See Attributes for scheduled autoscaling for more information.

Note
The autoscaling schedule applies every week, until you change the schedule or disable autoscaling.

Attributes for scheduled autoscaling

Specify these attributes when enabling scheduled autoscaling.

Attribute Description

enabled

Specify true to enable autoscaling.

schedule

JSON array of two or more schedule-entry JSON objects. In each schedule entry, specify:

  • Autoscaling-time strings. These consist of a comma-separated list day-of-week strings, optionally followed by a space and then a comma-separated list of time-of-day strings). These are the times of scale transitions from the current number of Solr nodes to the nodeCount specified in the schedule entry. Use three-letter abbreviations for the days of the week. Specify 24-hour UTC (Coordinated Universal Time) times. If an autoscaling-time string omits the time, then the time 00:00 (UTC) is used.

  • nodeCount, the number of Solr nodes to use at this scale. The smallest permitted nodeCount is 3.

Example autoscaling-time strings are:

  • Trigger autoscaling to the number of nodes specified in nodeCount on Sunday at 00:00 UTC:

    SUN
  • Trigger autoscaling to the number of nodes specified in nodeCount at 07:45 UTC on both Saturday and Monday:

    SAT,MON 7:45
  • Trigger autoscaling to the number of nodes specified in nodeCount at both 16:30 and 21:00 UTC on both Thursday and Saturday:

    THU,SAT 16:30,21:00

Example JSON request body

Use this JSON request body in a PUT or PATCH request to the /customers/customerId/clusters/clusterId endpoint. The request enables scheduled autoscaling. Solr node counts are changed among 3, 5, and 15 on the schedules shown.

{
  "id": "test-cluster",
  "nodeCount": 3,
  "nodeType": "standard-4",
  "storageSizeGB": 10,
  "description": "test cluster",
  "maintenanceTimeFrame": "SUN 21:45",
  "autoscaling": {
      "enabled":true,
        "schedule": [
          {
            "SUN": {
              "nodeCount": 5
            }
          },
          {
            "MON,TUE 11:45": {
              "nodeCount": 15
            }
          },
          {
            "THU,SAT 16:30": {
              "nodeCount": 3
            }
          }
        ]
  }
}