Cloud PaaS Services Rightsizing

Just like Compute Instances, Platform as a Service (PaaS) such as Amazon RDS database instances, Azure SQL database instances, and Google Cloud SQL database instances may be larger and more expensive than usage patterns indicate is necessary. We assess utilization metrics to identify any database instances that could be downsized.

This section walks you through how to:

Configure the Cloud PaaS Services Rightsizing Policy
Define the Scope of the Cloud PaaS Services Instances to Include
Define the Cloud PaaS Services Threshold for Downsizing
Define the Cloud PaaS Services Rightsizing Actions to Take
Configure the General Cloud PaaS Services Rightsizing Policy Options
Customize the Cloud PaaS Services Rightsizing Policy
Review Actions Taken by the Cloud PaaS Services Rightsizing Policy
Notify Users on How to Use the Cloud PaaS Services Rightsizing Policy

Configure the Cloud PaaS Services Rightsizing Policy

To configure the Instance Rightsizing Policy:

1. From the Policies screen, select the appropriate policy and click Apply.
2. Select the options to configure the policy.

Define the Scope of the Cloud PaaS Services Instances to Include

To define the scope of the Cloud PaaS Services instances to include:

Determine which resources to evaluate for underutilization.

To define scope using Select Accounts: Specify the list of accounts to evaluate. For example, you may wish to limit the rightsizing to non-production accounts or to any subset of accounts.
To define scope using Tag filtering: Limit the scope within the selected accounts by specifying tags. For example, if your production and non-production resources are mixed in your cloud accounts, you can leverage this tag-based filtering functionality to limit the rightsize action based on an environment tag. Database instances can also be tagged with a rightsize-related tag key to mark whether they have been selected as suitable for rightsizing.

Define the Cloud PaaS Services Threshold for Downsizing

Having defined a scope, you’ll need to set percent thresholds to allow for downsize. You can assess both memory and CPU metrics to determine suitability, and you are able to set separate thresholds for both average and maximum utilization.

Maximum utilization will be affected directly by any spikes in CPU or memory usage. For example, CPU usage can spike during occasional processes such as backups. In some cases these types of activities are not materially impacted if the CPU size is lower. If you are concerned about provisioning capacity to accommodate these short-lived spikes, set a high maximum free memory percent. If you are not concerned by slowed performance during periodic activity spikes, reduce the maximum percent threshold.

Depending on whether memory capacity is more critical to your applications than CPU or vice versa, you will need to set different CPU and memory thresholds.

For the majority of database instances, a single downsize will reduce the instance’s capacity by half. Accordingly, in standard downsize cases you should select a number below 50 for the average percent to allow for downsize. For example, if you set the threshold to 40 percent, the utilization would still remain under 80 percent once downsizing has occurred.

How far you set this number below 50 will define a more or less conservative capacity buffer in the event that future usage patterns depart from the historical trend. To disregard any of the four thresholds for downsize, enter a value of -1. A blank field will be recorded as a value of 0.

Define the Cloud PaaS Services Rightsizing Actions to Take

To define the Cloud PaaS Services Rightsizing actions to take:

Perform the following actions.

Configure users to be notified: Specify the list of recipients who should receive notifications about rightsizing. Add as many recipients as you like to the Email addresses of the recipients you wish to notify field. They do not need to be registered as Optima users.
Configure automated actions for the policy: Specify whether you want the recipients to receive an emailed report of downsize recommendations with no automated action, or send the report as well as taking automated action to downsize instances that meet the previously defined criteria.

Configure the General Cloud PaaS Services Rightsizing Policy Options

To configure the general Cloud PaaS Services Rightsizing Policy options:

Set the following standard policy configuration options when the Cloud PaaS Services Rightsizing Policy is applied.

Frequency for policy to run: Specify the frequency the policy will perform the checks, such as weekly, daily, hourly, or every 15 minutes.
Fully automated vs approval required: Specify at the time it is applied whether the policy will take action after user approval versus automatically without user intervention. For details, see the Skip Action Approvals documentation.

Customize the Cloud PaaS Services Rightsizing Policy

To customize the Cloud PaaS Services Rightsizing Policy:

Policy designers can customize the Cloud PaaS Services Rightsizing Policy definition in several ways:

Change the observation period. By default, this policy calculates utilization over a 30-day period. To calculate over a different period of time, you can update the policy template. More information on this is available in the readme.
Change the script to draw monitoring data for rightsizing from different monitoring tools. Samples are provided for tools including Cloudwatch (AWS), Stackdriver (GCE), LogAnalytics (Azure), and Datadog in the public GitHub repository.
Customize the mapping for larger and smaller instance sizes. This optimization action works on a default set of standard larger and smaller instance size mappings. These can be modified in cases where users wish to take specialized factors into account, such as storage drivers, network drivers, 32/64 bit architecture, or non-standard instance mappings. The files containing predefined instance mappings for each cloud vendor can be accessed in our GitHub repository:

Instructions for modifying the relationships, such as including cross-family recommendations, are available in the readme linked in the policy details.

Review Actions Taken by the Cloud PaaS Services Rightsizing Policy

These actions may occur with approval or fully automated depending on whether the policy manager has selected the Skip Action Approvals option.

Any database instances that meet the conditions specified will be stopped, size changed, and restarted. The default database instance mappings do not include moves that would imply major infrastructure (such as network) changes, such as moves between instance families. If the user configures a nonstandard custom mapping, the policy action could result in incompatibilities that could cause loss of service.

Notify Users on How to Use the Cloud PaaS Services Rightsizing Policy

Once the Cloud PaaS Services Rightsizing Policy has been configured and applied, any email addresses specified will receive an email report listing every recommendation triggered on the cadence selected in the Policy Schedule field. Users can also access this information in the Applied Policies section of the Policies menu.

The Incidents section shows any triggered recommendations.

If Skip Action Approvals has been activated, optimization actions will be taken automatically. If not, users can click into the incident and a specific account to Approve or Deny the recommended action.

Depending on user access, these policy activity summaries are visible on an account-by-account basis or, for administrators, as an organizational summary.