This work is licensed under CC BY 4.0 - Read how use or adaptation requires attribution

Purchasing Commitment Discounts in AWS

This playbook is a resource designed for FinOps practitioners who are new to purchasing Commitment Discounts in AWS. This playbook provides a comprehensive overview of the technical and non-technical steps for making a commitment discount purchase assuming crawl maturity including prerequisites, risks and considerations, the purchase process, monitoring and maintenance, KPIs and more.

The instructions provided here are intended to help synthesize the lifecycle of buying a commitment discount from the FinOps practitioner’s perspective. We acknowledge that these specific instructions may change as AWS rolls out new features and capabilities but the lifecycle phases, concepts and general steps should not. We tried to link out to relevant AWS documentation where possible to help this document stay relevant over time.

Advice on chargeback, showback and exchanging or selling commitments is not addressed within this playbook. While every organization’s overall process varies, the four main lifecycle phases (analysis, purchase, review and remedy) will still be performed in one manner or another. This playbook will guide practitioners to build a successful practice in the management of commitment discounts. For detailed information on the nuances of commitment discount offerings provided by various CSPs, please see the Managing Commitment Discounts Overview.

Spend-based commitment discounts (like AWS Savings Plans) and resource-based commitment discounts (like AWS Reservations) are applicable to different AWS services. Therefore you need to ensure that you are selecting the right commitment for the usage that you have. Savings Plans are typically preferred as a first-time commitment to understand how commitment discounts come through billing data and to test out new commitment discount processes. It is almost exclusively used to cover most Elastic Compute Cloud (EC2) workloads in lieu of EC2 Standard or Convertible Reservations. Savings Plans are a commitment for a certain amount of spend on an hourly basis. The rate you are committing to is the discounted rate and not what you would pay on demand. Reservations are a commitment to a certain amount of usage on a product or service. When purchasing reservations, you are not reserving specific instances nor are you reserving capacity. Instead, you are committing to at least one year worth of usage for the reservation attributes in exchange for a discount. Please reference spend-based commitments vs. resource-based commitments to understand the nuances between these options.

Who Should Use this Playbook

The target audience for this playbook is any FinOps practitioner, regardless of FinOps maturity level, but best suited for someone who is new to the process of making a purchase or with little to no experience executing a commitment discount purchase with AWS. This playbook may also be leveraged as a baseline commitment discount purchase process referenced by any level FinOps practitioner or persona.

Prerequisites

Who needs to be involved:

This section outlines each Persona responsible for the activities and processes encapsulated by this Playbook. It is an expansion of the roles discussed in the whitepaper and designates who should be Responsible, Accountable, Consulted, or Informed for activities within the commitment discount lifecycle. We have also outlined how their actions are associated with one of the FinOps Phases (Inform, Optimize, Operate).

Please note, this will look different for every organization depending on structure, size, industry and more. This is intended to provide a general overview rather than specific directions. Some boxes are left blank intentionally.

FinOps Phase Activity FinOps Practitioner Executives Business/ Product Owner Engineering & Operations ITAM
Leader/ Practitioner
Finance Procurement
Inform Analysis to determine what level & type of commitment should be made. R / A I C C C
Operate Grant or validate permissions in the CSP portal for commitment purchases. A I R
Inform Communicate findings and submit for purchase approval. R A* A* I I I I
Optimize Make the purchase in the CSP portal. R / A I I I I
Operate Validate commitment is being consumed efficiently R A C I I I I
Operate Course correct if it is not efficient R A C I I I C
Operate Set policies & thresholds on approving & purchasing authorities. A I I R* R*
Operate Encourage cost optimization culture & support commitment discount rollout A R C C I I
Operate Communicate commitment discount impacts on CSP-Direct contracts as needed R I I A

*Either of these personas could be the one responsible or accountable for this action, depending on how your organization is set up.

Information and resources required:

This section provides information that contributes to the success of this Playbook; the information here includes specific datasources, context, reports or any relevant input that is important to understand prior to executing on this playbook.

Information

Cloud Service Provider user permissions as required to manage commitment discounts
  • Ensure that the proper permissions to access Billing and commitment discount reporting have been provided
    • In some cases, read-only permissions will be sufficient, but you will need permissions to purchase/modify/exchange commitment discounts based on the availability within the CSP.
Cloud Billing and Usage Reports
  • This information is important in order to understand what your teams are using and where the costs are within the cloud usage. Specific guidance for using the visualization reports is provided in the CSP-specific playbooks.
    • Billing Data Visualization: AWS Cost Explorer, Azure Cost Management and Billing Blade, GCP Billing portal
    • Billing Data: AWS Cost and Usage Report (CUR), Azure Usage + Charges Report, GCP Billing Data Export
  • If no billing and usage reports exist, they should be created within the central management account.
Understand Existing Commitment Discounts
  • Know your current footprint and its projected future plans (retire, grow, migrate, etc.).
  • Know which commitment discounts are already being used within the environment and understand historic commitment patterns and personas that have been involved in the commitment discount lifecycle.
  • Understand instance utilization,the inventory of instances and the infrastructure footprint,  current discount pricing coverage, etc. (this can be done through native tooling, third party tooling, or logs)
Understand Organizational Priorities of KPIs
  • Work with other FinOps Personas to understand which KPIs matter for your organization.
    • For example, is coverage more important than waste?
  • Establish these priorities and document them.
  • See the KPIs utility for ideas.
Prioritize commitment discount Sharing
  • Purchase commitments that provide discounts for eligible usage across multiple accounts that are linked to your main cloud billing account. This provides the lowest risk for under-utilization and can lead to reduced analysis overhead. As a result, it is likely the shortest path to realize savings.
  • Optional approach, but not necessary:
    • Create a sub-account linked to your main cloud billing account dedicated only for purchasing commitment discounts.
      • Key advantages include:
        • permissions can be scoped to explicit owner and actions specific for commitment discount purchases;
        • reduces risk because there are no production services operational in the dedicated sub-account;
        • overhead is reduced for managing commitments;
        • facilitates purchase tracking and auditing.
Determine if any cloud management tools are being used within the environment
  • Tooling can be homegrown, open source, or 3rd party.
  • Different business units/stakeholders may be using varying approaches to commitment discount management, or none at all.
  • Understanding what is being used already will help establish a commitment discount strategy that is aligned with existing processes or can allow for integration of other supplemental tooling.
Knowledge of CSP-Direct Agreements
  • Most CSPs offer custom pricing agreements, discount programs and more. Ensure you are knowledgeable of any existing agreements in place between your organization and CSP(s) used.
  • Some CSP-Direct Agreements define annual or agreement-length spend requirements that may affect commitment discount purchase strategies.
    • If your organization has a contractual minimum spend commitment, consider how any savings might put you at risk of falling out of compliance. Additionally, how might extended commitment durations impact your organizational contracts?
  • Some CSP-Direct Agreements have different payment approaches based on the terms – they may require all upfront payment or pay-as-you-go payments which can impact the decision to purchase all upfront, partial upfront, or no upfront.

Understanding of Risk

In most organizations, risk takes the form of under-utilized commitments, wasting financial resources. Taking on term commitments, typically of 1 or 3 years, adds the risk of over and under committing to commitment discounts, particularly when durations are not flexible. Your organization’s risk tolerance will heavily influence the way in which your commitments are purchased and managed.

You can start to quantify the risk of under-utilized commitments by multiplying dollars per hour committed by the total hours committed.

$/hour committed * total hours committed = Total Commitment $

This value represents the potential wastage from a completely unutilized commitment, whose risk depends on the underlying workloads and technical strategy. We will cover calculations to more accurately determine consumption risk in a later section. Common strategies to mitigate high risk include:

  • Choosing a lower coverage percentage
  • Choosing a shorter commitment term
  • Choosing commitment discounts with more flexibility, but lower discounting
Cloud Users/Stakeholders
  • It is important to understand the collection of personas and business units that are interacting with cloud services.
Other
  • If applicable, ensure sharing commitments across accounts is enabled. See: AWS Documentation for how-to.
  • When doing analysis for either Reservations or Savings Plans, keep the following in mind:
    • AWS does not know when an application will be retired, rightsized, or shutdown.
    • If you see no costs for existing Reservations or Savings Plans in Cost Explorer, ensure that “Aggregate costs by” is populated with Amortized costs or Net amortized costs.
    • AWS will apply Reservations and Savings Plans on an hour-by-hour basis, with the purchasing account getting first priority on the discount coverage.
    • You cannot make a commitment for a specific instance. All purchases will be done at the account level. Impact of account selection for commitment:
      • Purchases in the payer account: For Savings Plans, the discounts will be applied based on the highest savings % opportunity across all of the child accounts. Reservations will be applied based on matching of the commitment discount attributes.
      • Purchases in a child account: This account will get first priority to use the commitment discounts and if the discount can not be used in a given hour it will move outside of this account but will eventually come back once usage increases.
    • Discounts for commitments will vary. Please reference the Compute Max Discount row in the CSP commitment discount Matrix to benchmark potential savings.
    • Recommendations are split between Savings Plans and Reservations and there may be some overlap.
      • E.g., EC2 usage may be recommended for both Savings Plans and Reservations which would therefore mean a duplication of commitments if both were purchased.

Tools, Utilities & Templates

Commitment Discount Lifecycle Phases

The purpose of this section is to introduce the generic steps for purchasing and managing commitment discounts. These are intended to be vendor-agnostic and correspond to information in the reservation and savings plan play instructions to follow. It is important to note that this is an iterative process that will happen multiple times a day, week, month, quarter, or year depending on your organization. After making your first purchase of a commitment discount, it is recommended to use it as a learning experience to better understand how commitment discounts work, improve the process and feel comfortable purchasing more.

Phase 1: Analyze commitment discount purchase opportunities & decide what to purchase

Understand current usage footprint to identify opportunities

  • Obtain and review usage patterns for the commitment parameters you are looking to evaluate (region, instance type, account, etc.)

Understand current commitment discount recommendations and utilization

  • Obtain the current commitment discount inventory with utilization information and expiration dates.
  • Obtain and review the commitment discount recommendations from CSP for service being evaluated for commitment discount.
  • Obtain and review the existing commitment discount coverage for the product and commitment parameters you are looking to evaluate.

Ask for help:

  • Don’t forget to ask for help from the Cloud Service Providers who likely already have good insight to your account(s) and both your current and future usage.
  • If your organization has one, a Technical Account Manager is likely to be able to advise and help you make commitment recommendations. They can also introduce you to other support groups within the CSP that can help optimize your cloud footprint.

Perform analysis

  • Identify and evaluate risks
    • This can include month-over-month changes in inventory, product road maps, over-committing and more.
    • Understand any discount pricing coverage in place for that product.
    • Compare the amount of commitments you are recommending to the recommendations from the CSP and/or your organization’s footprint.
  • Complete a Break Even Point analysis for recommendation(s).
  • Document approval and approved purchase. The exact “how” will vary by organization.
  • Typically with a first-time commitment, organizations will do a small, spend-based commitment rather than a resource-based commitment due to the flexibility provided from CSPs and as a result, lower risk.

Make and share a recommendation with relevant stakeholders:

  • Compile information from previous actions into purchase recommendation(s).
  • Share recommendation(s) with relevant stakeholders.
  • Get approval (if required) to make the purchase. The exact “how” will vary by organization.

Phase 2: Approval before making a commitment discount purchase

  • When making a purchase that would be expected to lower operating costs, you are likely going to need to have approvals for the risk of the commitment and potentially the cash flow impacts. The person who approves the purchase of a commitment discount will depend on your organization.
  • When making your first and/or early commitments and as you mature your understanding, you are likely to need to seek approval for the concept of making commitments (and the risk this brings). This could include getting approval for the process to make commitments, the type of commitments that you make and the approval of the actual purchases themselves.
  • You should also consider the approvals that you should seek from internal users. The nature of the commitments means that in some cases (not all) you are committing to use specific resources. Having the confirmation that there is expected to be continued use of those resources is important and as the specificity of commitments increases then it becomes more important to receive those internal confirmations.
  • As making commitment discounts becomes more regular, you are likely to establish agreed processes so approvals may or may not be required in the same depth for each purchase.
  • One specific area to seek early approval on is the payment basis, e.g. upfront (in full or partial) or as you go.  Paying upfront does generate higher discounts but comes with the need for cash-outflow at the start of the commitment.  You should discuss this with your Finance team (and potentially involve your Treasury team) and gain approval.

Due to the fact that the timing, sequence, and number of approvals, etc. are unique to each organization, we will not provide instructions on how to obtain commitment discount purchase approvals in the instructions for running this play. Default to your organization’s defined approval process. Note, many organizations deploy an approval email during the phase.

Phase 3: Make a commitment discount purchase

  • Refer to the Cloud Service Provider-Specific playbooks for instructions on how to complete the purchase.
  • Before clicking the “Buy” button, it’s good to always double check:
    • Region
    • Scope
    • Amount sent for approval (if applicable) vs. purchase price
    • Account
    • Size (if applicable)
    • License type or database engine (if applicable)
    • Quantity
  • Document purchase and approval flow for records (if applicable).

Phase 4: Check commitment discount utilization and compare to utilization goals

  • Commitments can become seen as poorly performing for a number of reasons. Most often, commitment discounts that go underutilized either due to overcommitment or changes in infrastructure are the biggest drivers of FinOps taking action. Below are some possible reasons for this occurrence.
    • Perhaps a team shutdown instances for maintenance or migrated to a new instance family after they reached the breakeven point of the commitment.
    • Perhaps the commitment made does not align with the infrastructure due to an error made in the purchase process (wrong region, incorrect instance type, sharing wasn’t enabled, etc.).
    • Engineering teams might not have been informed about a commitment and made changes to better suit their needs without understanding the impact it would have on the commitment discount purchases.
  • An email to a technical account manager or a support ticket are often the best first steps if you need to take action on underutilized commitments or have made a mistake with a purchase.
  • Refer to the Cloud Service Provider-Specific playbooks for instructions on how to check commitment discount performance versus organizational goals.
  • Leverage Key Performance Indicators (KPIs) for your organization to understand how your commitments are performing
    • Utilization %
    • Coverage %
    • Effective Savings Rate
    • Waste (in $ and %)
    • Savings (in $ and %)

Play Instructions: Reservations

The purpose of this section is to provide actionable steps to perform the four lifecycle stages of commitment discounts outlined in this playbook for AWS Reservations.

AWS Reservations can be purchased for a wide array of products. When performing analysis to understand what should be purchased, most of it will take place within AWS Cost Explorer, especially when at the Crawl phase of commitment discounts.

Phase 1: Analyze commitment discount purchase opportunities & identify purchase opportunities

Understand current usage footprint to identify opportunities:
  1. Log into the AWS console in the payer account to evaluate the opportunity across all accounts.
  2. Open the Billing and Cost Management console and navigate to Cost Explorer.
  3. Query the data to find 24×7 on demand spend.
    1. At the time of publication, using the Group by option and selectingPurchase Option” for the Dimension a method for determining such.
    2. This will break up cost and usage by whether it is on demand, reserved, covered by a Savings Plan, or Spot consumption. Anything that is up 24×7 on demand may be a good candidate for a commitment.
  4. Additionally, you can leverage the filters to see consumption trends by product, account and more.
    1. To see what products are eligible to be covered by commitment discounts, please reference the AWS Standard Reservations column in the CSP commitment discount Matrix.
    2. Note: at any point, you can export the table with details for further viewing and analysis.
  5. Identify commitment opportunities for possible purchase.
    1. Typically, a good starting point for understanding which opportunities to pursue is looking at what infrastructure has been up 24×7 for the past 30-60 days.
    2. Additionally, if there are a lot of recommendations for a certain configuration type across accounts or applications, purchase a percentage of the recommended amount.
      1. E.g., There are 200 recommendations for a db.r6g.large PostgreSQL RDS instance across your organization so you decide to purchase 50 to minimize risk of waste.
Understand current commitment discount recommendations and utilization
  1. Log into the AWS console in the account you wish to perform the analysis in. The account you choose to purchase in will have implications on how they are applied and used. It is recommended to perform the analysis at the Payer account to understand associated risk with a purchase.
    1. See the Other section of Prerequisites for more information.
  2. Open the Billing and Cost Management console and navigate to the recommendations for reservations
    1. At the time of publication you can do this using the navigation pane on the left side of the page, under Savings and Commitments expand Reservations, choose Recommendations.
  3. Select the options that you want to see recommendations for.
    1. Service: Payer or Linked Account
    2. Term: 1-year or 3-year
    3. Payment options: All upfront, Partial upfront or No upfront
    4. Based on the past: 7 days, 30 days or 60 days. This will set how much usage date is used to provide the recommendations
    5. A good starting point is to look at:
      1. Service = Your desired service, e.g. EC2
      2. Term = 1-year (lower risk)
      3. Recommendation Level = Payer
      4. Based on the past = 60 days
      5. Offering Class (if applicable) = Convertible
  4. The console will update with recommendations based on the options selected in the previous step.
    1. Evaluate recommendations in the console.
      1. Cost Explorer reporting is a helpful tool during this task. At the time of writing, you can do this by clicking on the recommendation in the table’s “Action” column.
        1. On the newly opened page, click View associated usage.
          1. This prepopulates a Cost Explorer report with costs and usage associated with the recommendation.
          2. Filter the report as needed to perform analysis.
Ad Hoc Analysis
  1. Log into the AWS console in the account you wish to perform the analysis in. The account you choose has implications on how they are applied and used.
    1. See the Other section of Prerequisites for more information.
  2. Open the Billing and Cost Management console and navigate to Cost Explorer.
  3. Adjust your filters as needed to perform your analysis.
    1. select the Product, Region, Linked Account (if applicable) and Instance Type (if applicable) that you would like to consider reserving. You may also want to adjust the view to show daily granularity.
  4. Under Filters, select the applicable Usage Type Group for the product so you can see daily usage in addition to cost.
    1. Tip: search for “Running Hours” in the drop down and select the option for the product you’re filtered to.
  5. Leverage any other Filters or Group By functionality to see where there may be opportunities to reserve the footprint.
Obtain Reservation Inventory and Utilization Information:

To view the Reservation portfolio for each AWS service , you can leverage the Utilization Report available in Cost Explorer, the product-specific pages within the console or leverage the AWS CLI. The first two methods are described below and the AWS CLI documentation can be found here.

Using the Utilization Report:

  1. Log into the AWS console in the payer account.
  2. Open the Billing and Cost Management console and navigate to the reservation Utilization Report.
  3. Update the Date range filter to be for the past 7 or 30 days.
    1. This will show you all Reservations in all accounts, regardless of if they’ve been utilized or not.
  4. Filter the Service to the product you would like to see the inventory for and Download table (CSV) if desired for further use.

Using the product-specific pages in the console:

  1. Log into the AWS console in the account you would like to see the inventory for.
  2. Using the console’s search bar, search for and open the product you would like to get the inventory for.
  3. Then use the navigation options to move to the reservation screen for the given product.
    1. The item in the navigation pane that you are searching for may say Reserved or it may say Reserved followed by instances, nodes, or something else after.
    2. You will have successfully found the reservations page when you are presented with a table of all reserved instances (applicable to the product) for the account you are logged into.
      1. Note: At the time of this writing, this table is not able to be downloaded for all products.
  4. Click on the Reservation ID to see details about the reservation.
  5. Repeat steps 1-5 for each product and account you would like to see the inventory for.
Reservation-Specific Considerations:
  • Some Reservations may be size-flexible. Please see AWS documentation for details on size flexibility and how size-flexible commitments get applied. (EC2 & RDS links)
  • EC2 instances with certain operating systems, such as SQL Server, will receive lower discounts than other operating systems. Be sure to check pricing from AWS and understand the expected discounts for the commitment.

Phase 2: Approval

The exact approval process is dependent on the policies and procedures defined by your organization. Default to your organization’s unique approval process.

Phase 3: Make a Reservation Purchase

These instructions will focus on using the AWS Console to purchase Reservations.  For information on purchasing them using the AWS CLI or other API, see the AWS online documentation.  Prior to performing the following steps, ensure you have proper company or business approval/review.

Unlike with Savings Plans, Cost Explorer only shows recommendations for reservations. The purchase of a Reservation is performed from the corresponding services page.  AWS offers Reserved Instances for various services in addition to EC2.  These instructions will focus on EC2, but a similar process can be done for other services by navigating to their pages within the console in step 4 (RDS, ElastiCache, Redshift and OpenSearch). Additional AWS documentation on the EC2 reservation purchase process can be found here.

Purchasing Reserved Instances from EC2 Services Page

  1. Log into the AWS console in the account you wish to purchase the Reserved Instance.  The account you choose has implications on how they are applied and used.
    1. See the Other section of Prerequisites for more information.
  2. Select the AWS Region you wish to make your purchase in by choosing it from the menu bar in the upper right side of the screen.
  3. Open the Amazon EC2 Console and use the navigation options to proceed to the purchase reserved instances page.
    1. The following path may be applicable to you: under Instances, choose Reserved Instances and then click Purchase Reserved Instances.
  4. Specify the offering options for the Reserved Instance you would to search for by selecting
    1. Platform: Various OS will be available
    2. Tenancy: Default or Dedicated
    3. Offering class: Any, Standard or Convertible
    4. Instance type:  Various will be available
    5. Term: Any, 1 to 12 months, or 12 to 36 months
    6. Payment option: Any, No upfront, Partial upfront or All upfront
  5. Optionally, if you would like to reserve capacity as well, toggle the Only show offerings that reserve capacity. Selecting this option will display another search field named Availability Zone between Platform and Tenancy.  Choose one of the available AZs or select ‘Any’ to include all of the AZs in your search.
  6. After the configuration options are to your requirements, click Search.
  7. If there are Reservations available that meet your criteria, they will be displayed.  If none are displayed try changing your criteria.
  8. Scroll through the list of Reserved Instances that are displayed and find the Reserved Instance(s) that you would like to purchase.  For each Reserved Instance that you want to purchase, enter the desired quantity and choose Add to cart.

Note: To purchase an EC2 Standard Reserved Instance from the Reserved Instance Marketplace, look for 3rd party in the Seller column in the search results. The Term column displays non-standard terms. For more information, see Buy from the Reserved Instance Marketplace. This is only available for EC2 reservations.

  1. If you would like to purchase additional Reserved Instances repeat steps 5 through 9 above.
  2. To see a summary of your selection and proceed to checkout opt to View cart.
  3. Remove any Reserved Instances from your cart you longer want to purchase by selecting them to be Deleted.
  4. Specify your purchase timing. You can opt to Order on a date you select or Now. 
    1. To queue a purchase, click Now and select a date. You can select a different date for each eligible offering in the cart. If you queue the purchase, it is made at 00:00 UTC on the selected date.
    2. The purchase is processed immediately after you choose Order all.
  5. Submit your order.
    Note: If, at the time of placing the order, there are offerings similar to your choice but with a lower price, AWS sells you the offerings at the lower price.

    1. You can view the status of your order. Orders in progress will have a status of Payment-pending which is later revised to Active once the order has completed. When the Reserved Instance is Active, it is ready for use. Note: It can take up to 48 hours for purchases to change to Active in the console or appear in Cost Explorer.
  6. Document the order(s) per your company’s policies.

Renew and Queue Active EC2 Reserved Instances

Reserved EC2 Instances that are active can be queued for renewal at any time before they expire. At the time of this writing, this is only available for EC2 Reservations, all other products require the purchaser to re-purchase every Reservation manually at the time of expiration.

Renewing a Reserved Instance is beneficial if usage is not expected to decrease during the renewal term of the Reserved Instance. By renewing a Reserved Instance, you will keep the same configuration as the existing Reserved Instances(s).

  1. Log into the AWS console in the account you wish to purchase the Reserved Instance..  The account you choose has implications on how they are applied and used.
    1. See the Other section of Prerequisites for more information.
  2. Select the AWS Region you wish to renew the Instance in by choosing it from the menu bar in the upper right side of the screen.
  3. Open the Amazon EC2 Console and navigate to Reserved Instances. (you may need to expand Instances in the navigation panel)
  4. Select the Reserved Instance to renew.
  5. Specify your desired action of Renew Reserved Instances via the Actions menu.
  6. Confirm the order to complete it.
    1. You may need to do so by clicking Order all and then Close.
  7. Document the order(s) per your company’s policies.

Phase 4: Check commitment discount Utilization

After the purchase of Commitment Discounts, it is important to understand how they are being used within your organization.

Some reports are provided natively by AWS, which allow you to track the performance of the commitment discounts in comparison to the savings or commitment goals established while purchasing them. Note that commitment discounts may take 2-3 days to appear within Reserved Instance Utilization Reports after purchase.

Alerting on Underutilized Reservations

It is a best practice to enable notifications to monitor the utilization of Reservations. This is done at the payer account level, however you will receive notifications for all commitments in any related child accounts. Documentation on how to enable alerting for AWS Reservations can be found here.

It is recommended to have the FinOps persona and/or a centralized mailbox included on the alerts so they can manage them effectively. Additionally, if you set up multiple, scoped alerts, it is recommended to have meaningful names for them such as “RDS Reservation Utilization” or “[SBU] Reservation Utilization” to help identify them when they get sent to your inbox.

Reservation Utilization & Coverage report(s)

These reports are helpful tools in understanding how your reservations are performing against organizational KPIs. Specifically, the utilization report will show what reservations are(n’t) getting utilized and the coverage report shows how many of your instance hours are covered by Reservations versus On-Demand as well as the associated On-Demand cost. Documentation on how to use these reports for all products can be found here.

Additionally, it is recommended to leverage the table underneath the report(s) to identify specific Reservations that are being utilized less than anticipated. If you click on the ID in the row, it will expand and show additional details about that commitment. This can help you identify if this behavior is expected and if action needs to be taken.

Remedy poorly performing commitments

If commitment discounts are determined to be underutilized, action may be taken to ensure maximized savings and reduction of wasted commitment spend.

Some commitment discount types offer the ability to be modified, exchanged, or sold on a marketplace mid-term. Take into consideration the opportunities to remedy poor performance based on the commitment discounts type.

  • Review the CSP Commitment Discounts Offerings Matrix’s “Remedy if Unused” row for AWS products to understand available options. Generally, the following products allow for modifications:
    • Standard Reserved Instances
    • Convertible Reserved Instances
  • Accidental Purchase Recourse
    • Reach out to your organization’s technical account manager and/or file a support ticket with AWS.

Play Instructions: Savings Plans

The purpose of this section is to provide actionable steps to perform the four lifecycle stages of commitment discounts outlined in this playbook for AWS Savings Plans

When performing analysis to understand what should be purchased, much of it can take place within AWS Cost Explorer, especially when at the Crawl phase of commitment discounts.

Within Savings Plans, there are three types: Compute, EC2 and SageMaker. Below is a summary of these options but reference the  CSP commitment discount Matrix or AWS for additional information.

  • Compute: The most flexible choice that covers compute for EC2, Fargate, or Lambda usage.
  • EC2: Covers EC2 compute for a specified region and instance family.
  • SageMaker: Covers any compute for SageMaker, regardless of region or instance family.

AWS documentation with overview of Savings Plans.

Note: It is important to not overcommit by purchasing both EC2 Reservations and Savings Plans.

Phase 1: Analyze commitment discount purchase opportunities & identify purchase opportunities

Understand current commitment discount recommendations and utilization

  1. Log into the AWS console in the account you wish to perform the analysis in. The account you choose has implications on how they are applied and used. It is recommended to perform the analysis at the Payer account to understand associated risk with a purchase.
    1. See the Other section of Prerequisites for more information.
  2. Open the Billing and Cost Management Console and navigate to the recommendations.
    1. You may find Recommendations by expanding Savings Plans underneath Savings and Commitments.
  3. Select the options that you want to see recommendations for.
    1. Savings Plan Type: Compute, EC2, or SageMaker
    2. Savings Plan Term: 1-year or 3-year
    3. Payment options: All upfront, Partial upfront or No upfront
    4. Based on the past: 7 days, 30 days or 60 days.  This will set how much usage date is used to provide the recommendations
    5. A good rule of thumb when starting out is to look at:
      1. Savings Plan Type: Compute
      2. Savings Plan Term = 1-year (lowest risk)
      3. Payment Options: No Upfront
      4. Based on the past = 60 days
  4. The console will update with recommendations based on the options selected in the previous step.
    1. Evaluate recommendations in the console.
      1. Click on the recommendation in the table’s “Action” column and opt to View associated usage.
        1. This prepopulates a Cost Explorer report with costs and usage associated with the recommendation.
      2. Filter the report as needed to perform analysis.
  5. Identify commitment opportunities for possible purchase.
    1. Typically, a good starting point for understanding which opportunities to pursue is looking at what infrastructure has been up 24×7 for the past 30-60 days.
    2. Additionally, if there are a lot of recommendations for a certain configuration type across accounts or applications, purchase a percentage of the recommended amount.
      1. E.g., There are 200 recommendations for a db.r6g.large PostgreSQL RDS instance across your organization so you decide to purchase 50 to minimize risk of waste.

Obtain Savings Plan Inventory and Utilization Information

  1. Log into the AWS console in the payer account to see the Savings Plan inventory across all accounts.
  2. Open the Billing and Cost Management Console and navigate to the Savings Plan Inventory.
    1. At the time of publication you could do this using the navigation pane on the left side of the page, under Savings and Commitments expand Savings Plans, select Inventory.
    2. At the top of the page, you can toggle between Account Inventory and Organization Inventory.
      1. Account Inventory shows only Savings Plans that have been purchased in the payer account.
      2. Organization Inventory shows all Savings Plans purchased, regardless of what account they were purchased in.
  3. Export the information from the table into a CSV.
  4. Identify which (if any) recommendations you want to move forward with for possible purchase.

Ad Hoc Analysis

  1. Log into the AWS console in the account you wish to perform the analysis in. The account you choose has implications on how they are applied and used.
    1. See the Other section of Prerequisites for more information.
  2. Open the Billing and Cost Management Console and navigate to Cost Explorer.
  3. Under Granularity, select Daily.
  4. Under Filters, select the Product, Region, Linked Account (if applicable) and Instance Type (if applicable) that you would like to consider reserving.
  5. Under Filters, select the applicable Usage Type Group for the product so you can see daily usage in addition to cost.
    1. Tip: search for “Running Hours” in the drop down and select the option for the product you’re filtered to.
  6. Leverage any other Filters or Group By functionality to see where there may be opportunities to reserve the footprint.
  7. Identify commitment opportunities for possible purchase.
    1. Typically, a good starting point for understanding which opportunities to pursue is looking at what infrastructure has been up 24×7 for the past 30-60 days.
    2. Additionally, if there are a lot of recommendations for a certain configuration type across accounts or applications, purchase a percentage of the recommended amount.
      1. E.g., There are 200 recommendations for a db.r6g.large PostgreSQL RDS instance across your organization so you decide to purchase 50 to minimize risk of waste.

Phase 2: Approval

The exact approval process is dependent on the policies and procedures defined by your organization. Default to your organization’s unique approval process.

Phase 3: Make a Savings Plan Purchase

There are multiple ways to purchase an AWS Savings Plan. These instructions will focus on using the AWS Console. For information on purchasing Savings Plans using the AWS CLI or other API, see the AWS online documentation. Prior to performing the following steps, ensure you are familiar with AWS Savings Plans in general (for more, see the FinOps Foundation Commitment Discounts Overview Paper), perform an analysis and have it reviewed by a member of your team or organization and have proper company or business approval/review.

Method 1: Purchase Savings Plans on your Recommendations page

The Recommendations page will display Savings Plans that AWS recommends, helping you save on current usage. These recommendations can be converted into purchases and refreshed at any time.

  1. Log into the AWS console in the account you wish to purchase the Savings Plan. The account you choose has implications on how they are applied and used.
    1. See the Other section of Prerequisites for more information.
  2. Open the Billing and Cost Management Console and navigate to your Savings Plan Recommendations.
    1. At the time of publication you could follow this path in the navigation pane: expand Savings Plans under Savings Plans and Commitments, choose Recommendations.
    2. The page should now display a list of purchase options for you to consider.
      1. At the time of publication, at the upper ride side of the page, the Refresh recommendations button will indicate the last time the recommendations were updated. Click the button to refresh the recommendations if they are out of date. Please note, recommendations do not consider any queued Savings Plans or Savings Plans in your cart. It is typically recommended to wait two to three days between purchases of Savings Plans and/or Reserved Instances before relying on recommendations to reduce the potential of overcommitment.
  3. Choose one of the Savings Plan types (Compute Savings Plans, EC2 instance Savings Plans or Sage Maker Savings Plans). For more details on the properties of these types of plans, see the CSP Commitment Discounts Offerings Matrix or this section’s introduction.
  4. Select the recommendation options that match your criteria.  For more details on what these options refer to see the commitment discounts AWS terminology nuances and FinOps Foundation terminology page.
    1. Recommendation level: Payer or Linked Account
    2. Savings Plans term: 1-year or 3-year
    3. Payment options: All upfront, Partial upfront or No upfront
    4. Based on the past: 7 days, 30 days or 60 days. This will set how much usage data is used to provide the recommendations.
  5. The recommendation(s) will update based on the options you choose in the previous steps. Carefully review the details and options provided. You may also download the recommendations to a CSV for review.
  6. If one or more of the options are inline with your analysis and company approval cycle and you would like to purchase it/them, ensure the check box is ticked and add the Savings Plans to [the] cart.
  7. If you would like to add additional Savings Plans to your purchase, refresh the recommendations and perform steps 5 through 8 again.
  8. Once you have completed adding Savings Plans to your Cart using this method, add additional ones using one of the other Methods in this section or move on to the Reviewing and finalizing Savings Plan Purchase in Cart section below.

Method 2: Purchase or queue custom Savings Plans on the Purchase Savings Plans page

Although the Recommendations page makes the analysis simple when purchasing a Savings Plan, it looks to maximize the coverage of your usage. You can purchase a Savings Plan with a custom commitment amount that is different from what is provided in the Recommendations. This commitment is often informed by the Ad Hoc Analysis from the previous phase.

  1. Log into the AWS console in the account you wish to purchase the Savings Plan. The account you choose has implications on how they are applied and used.
    1. See the Other section of Prerequisites for more information.
  2. Open the Billing and Cost Management Console and navigate to the screen for purchasing savings plans.
    1. The path you may need to follow is: under Savings and Commitments expand Savings Plans, choose Purchase Savings Plans.
  3. In the Purchase Details section:
    1. Choose one of the Savings Plan types (Compute Savings Plans, EC2 instance Savings Plans or Sage Maker Savings Plans). For more details on the properties of these types of plans, see CSP Commitment Discounts Offerings Matrix.
    2. Select the Term, 1-year or 3-year.
    3. If you choose EC2 Instance Savings Plans, also select the Region and Instance family.
  4. In the Purchase commitment section.
    1. Enter the Hourly commitment in dollars for the Savings Plan. Note: The commitment can be out to five decimal places.
    2. Choose a Payment option: All upfront, Partial upfront or No upfront.
  5. (Optional) In the Start date – optional section, optional enter a Date and Time in UTC for the Savings Plan to be active. This is useful for staging a Savings Plan for future known usage increase, e.g. an upcoming project or deployment. If this is left blank, the purchase is executed immediately.
  6. Review the purchase summary and add to cart.
  7. If you would like to add additional custom Savings Plans to your purchase, perform steps 4 through 7 again.
  8. Once you have completed adding Savings Plans to your cart using this method, add additional ones using one of the other Methods in this section or move on to the Reviewing and finalizing Savings Plan Purchase in Cart section below.

Method 3: Renew or Queue Active Savings Plan

Savings Plans that are active can be queued for renewal at any time before they expire. Renewing a Savings Plan is beneficial if usage is not expected to decrease during the renewal term of the Savings Plan. By renewing a Savings Plan, you will keep the same terms as the existing Savings Plan(s) – term, amount, payment option – but you are able to adjust the start date if needed.

  1. Log into the AWS console in the account you wish to renew the Savings Plan.
  2. Open the Billing and Cost Management Console and navigate to the purchase inventory.
    1. The path you may need to follow is: under Savings and Commitments expand Savings Plans, choose Purchase Inventory.
  3. Select the active commitment you wish to renew. Retired commitments cannot be renewed. To purchase a Savings Plan that matches the commitment level of a Retired Savings Plan see Method 2 above.
  4. Review the Savings Plan details and click Renew Savings Plan if you wish to renew the commitment.
    1. The Savings Plan will be added to your cart with a queued start date of one second later than the end date of the Savings Plan you are renewing.
  5. If you would like to renew additional Savings Plans, perform steps 4 through 6 again.
  6. Once you have completed adding Savings Plans to your Cart using this method, add additional ones using one of the other Methods in this section or move on to the Reviewing and finalizing Savings Plan Purchase in Cart section below.

Reviewing and finalizing Savings Plan Purchase in Cart

After you add Savings Plans to your Cart, you are given the opportunity to review them prior to finalizing the purchase.

  1. Perform one or more of the methods described above. All items will remain in your cart, even if you log out and return.
  2. If not already logged into the AWS Console, log into the AWS console in the account you wish to purchase the Savings Plan. The account you choose has implications on how they are applied and used.
    1. See the Other section of Prerequisites for more information.
  3. Open the Billing and Cost Management Console and navigate to the savings plan cart.
    1. The path you may need to follow is: under Savings and Commitments expand Savings Plans, choose Cart.
    2. All of the Savings Plans you have added to your cart will be listed.
  4. Review ALL of the plans in your cart and confirm the details of the commitment. AWS’s official policy is Savings Plans cannot be canceled.
  5. If you need to remove the Savings Plan from your cart, locate the Savings Plan you want to remove you can do so at this time.
  6. If you need to change the start date and time of the Savings Plan you can do so at this time.
    1. At the time of publication this was possible by placing a tick mark in the box and clicking Set start date. Enter a Date and Time in UTC for the Savings Plan to be active. Click Remove start date to make the Savings Plan Active immediately upon purchase.
  7. Once you are satisfied with your cart, Submit Order.
  8. Document the order(s) per your company’s policies.

Alerting on Expiring or Queued Savings Plans

It is a best practice to enable notifications for expiring or queued Savings Plans. As of this writing, notifications can be sent when your Savings Plans are nearing their expiration date or when a purchase date is approaching.  This is done at the account level. Documentation on how to enable alerting for AWS Savings Plans can be found here.

Phase 4: Check commitment discount Utilization

After the purchase of Commitment Discounts, it is important to understand how they are being used within your organization.

Some reports are provided natively by AWS, which allow you to track the performance of the commitment discounts in comparison to the savings or commitment goals established while purchasing them. Note that commitment discounts may take 2-3 days to appear within Reserved Instance or Savings Plan Utilization Reports after purchase.

Alerting on Underutilized Savings Plans

It is a best practice to enable notifications to monitor the utilization of Savings Plans and Reservations. This is done at the payer account level, however you will receive notifications for all commitments in any related child accounts. Documentation on how to enable alerting for AWS Savings Plans can be found here.

It is recommended to have the FinOps persona and/or a centralized mailbox included on the alerts so they can manage them effectively. Additionally, if you set up multiple, scoped alerts, it is recommended to have meaningful names for them such as “[SBU] Savings Plan Utilization” to help identify them when they get sent to your inbox.

Savings Plan Utilization and Coverage report(s)

These reports are helpful tools in understanding how your reservations are performing against organizational KPIs. Specifically, the utilization report will show what savings plans are(n’t) getting utilized and the coverage report shows spend covered by a Savings Plan versus being charged On-Demand by each service and instance family (where applicable). Documentation on how to use the coverage report can be found here and documentation on how to use the utilization report can be found here.

Additionally, it is recommended to leverage the table underneath the Utilization reports to identify specific Savings Plans that are being utilized less than anticipated. If you click on the ID in the row, it will expand and show additional details about that commitment. This can help you identify if this behavior is expected and if action needs to be taken.

Remedy poorly performing commitments

If commitment discounts are determined to be underutilized, action may be taken to ensure maximized savings and reduction of wasted commitment spend.

Some commitment discount types offer the ability to be modified, exchanged, or sold on a marketplace mid-term. Take into consideration the opportunities to remedy poor performance based on the commitment discounts type.

  • Accidental Purchase Recourse
    • Any Savings Plans that has an hourly commitment of $100 or less, purchased in the past 7 days and in the same calendar month can be returned. Once you return your Savings Plans you will receive a 100% refund for any upfront charges made towards the Savings Plans and these refunds will be reflected in your bill within 24 hours of return. Any usage that was covered by the plan will be charged at On-Demand rates or get covered by a different Savings Plans, if applicable.
    • Reach out to your organization’s technical account manager and/or file a support ticket with AWS.

Outcomes and Indicators of Success

Primary Outcomes of running this playbook

  • The FinOps persona has an understanding of existing commitment discount coverage for organization.
  • Analysis to decide to purchase a commitment discount has been done.
  • At least one commitment discount has been purchased.
  • All relevant personas are informed on the purchase and how it affects some of the indicators of success (savings, coverage, utilization)

Indicators of Success

  • Compute Spend Covered by commitment discounts (%) = Spend or usage covered by commitment discounts / Total spend or usage that could be covered by commitment discounts
  • Commitment-Based Discount Waste (%) = The percentage of commitments not applied to on-demand spend = Cost of Commitment-Based Discount unused / total cost Commitment-Based Discount
    Commitment-Based Discount Waste ($) = Cost if resource was billed on demand – Cost with discount appliedVacancy Rate (Inverse of utilization) (% or $) = 1 – (Commitment being applied to eligible spend or usage / Total spend or usage committed)
  • Effective Savings Rate (ESR)
    • Effective Savings Rate provides the total discount received as a factor of utilization, coverage and discounts combined
    • ESR (%) = 1 – (Actual spend with discounts / On demand equivalent spend)
    • ESR can also be calculated as Savings / On demand equivalent spend
    • ESR is considered to be a metric to baseline the Return-on-investment of your commitment discounts strategy
  • Frequency of purchase: It is recommended to make multiple purchases throughout the year as this helps the FinOps team optimize the commitment portfolio as the organization’s cloud footprint changes and evolves. There is less risk because you can adjust the commitment quantity and type regularly rather than just one time per year.
    • Regular cadence for analysis & purchase is established.
    • Process for expiring commitments and guidelines for adjusting coverage is created.
  • Change in culture & education:
    • Stakeholders reach out proactively for Reservation or Savings Plan consultation.
    • Frequency of education to stakeholders decreases over time. E.g., stakeholders are aware of commitment discount fundamentals and how they can take advantage.
  • Targets are established for coverage, utilization and estimated savings at the enterprise, portfolio and/or application levels across all cloud service providers.
    • This may look different across CSPs depending on your organization’s maturity in each of them.
  • Proactive involvement with planned architecture changes or migrations:
    • FinOps team is a part of these conversations and engineers & architects discuss impact of existing commitment discounts as a part of their planning.
  • Established workflow and streamlined process for analysis, approval, funding and purchase is established and has buy-in from finance, FinOps and executive management (where needed).
    • Depending on the size of purchase, payment term and commitment term this workflow may vary within an organization.
  • Ability to forecast commitment discount spend and how it will impact the CSP-direct agreement and cash flow.

Exceptions and Considerations

  • This playbook does not include nuances or considerations for government organizations.
  • Every organization will have a different operating structure and as a result will have a different way of interpreting and applying the RACI chart. Ensure that you have the relevant stakeholders involved in the commitment discount purchase process for your organization.
  • The approval process will also vary widely from organization to organization. Be sure that the approval process is established and well documented.
  • Having targets for commitment discount coverage, commitment discount utilization, and an understanding of which is more important is essential to having a successful commitment discount practice.
  • Understand how your organization wants to handle sharing commitment discounts. Are there entities that can’t share resources – perhaps due to a divestiture or acquisition?
    • Sharing commitments (and associated discounts) will likely impact chargeback of the commitments.
  • Document and understand the direct agreements with cloud service providers as well as the associated discounts, terms, payment options, etc.
  • There are many tools that exist that can help you manage your commitment discount program. Understand if any are in use currently at your organization and/or visit the FinOps Landscape to understand what vendors may be able to help.

Related Playbooks

Related FinOps Resources and Framework Capabilities

Acknowledgments

We’d like to thank the following people for their work on this Playbook:

We’d also like to thank our Supporters on this Playbook: Amit Doshi, Marianne Stone, Dusty Bowling, Alison McIntyre, Brian Robbins, Frank Contrepois, and Sierra Juneau.