This playbook is a resource designed for FinOps practitioners who are new to purchasing Commitment Discounts in GCP. 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.
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.
Within Google Cloud, there are many different types of commitments, each with their own nuances. The most common commitment discounts that will be covered in this playbook are the following: Resource-based Committed Use Discounts (CUDs), Compute Engine Flex CUDs, Spend-based CUDs, and BigQuery Slot Reservations. Google also offers reservations and SUDs but those will not be part of the playbook – more on why below.
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 a specific CSP. 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 |
Product |
Engineering |
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 stakeholders 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
It is essential to understand your existing level of spend and utilization before purchasing a commitment to ensure that you are not over-committing. Furthermore, an understanding of your planned/expected consumption can also feed into this analysis, but is harder to predict. Below are a list of considerations and prerequisites for commitment discounts in Google Cloud.
- Understand the difference between spend and resource based Commitments. Google Documentation.
- Consider whether the application of a Committed Use Discount will achieve higher or lower savings than a Sustained Use Discount (SUD) as these discounts will not stack.
- Note: any spend not covered by a Committed Use Discount may be eligible for a Sustained Use Discount. The benefit of having SUDs for excess usage is that it allows for savings to occur without overcommitting with CUDs and they are applied automatically, without you needing to do anything. The drawback is that the savings are not as high. It is recommended to first purchase CUDs up to the level your organization desires and allow SUDs to kick in on any applicable excess.
- Keep in mind, not all resources are eligible for SUDs. Check the available products here.
- For each resource-based commitment, consider whether you want to enable committed use discount sharing by setting the scope to “Billing Account” rather than “Project Scoped” when purchasing.
- This is an important consideration because sharing will mitigate the risk of under-utilization but brings additional complexity as it will also mean that the benefits can be attributed across your organization. In companies where predicting spend and/or the allocation of commitment costs is of high importance, this will bring extra work.
- A common approach in FinOps is to set up a project that is solely used for the purchase of commitments (for reasons such as fine-grained IAM controls/other policies) and then enable sharing so the benefits can be enjoyed by the “functional” projects out at the edge.
- This works unless you have a specific need to purchase a commitment in a “functional” project, in which case you would not want to have “Billing Account scoped” selected.
- By default, each commitment will be applied only in the project in which it is purchased (aka “Project scoped”).
- Note: Once a commitment has been set to “shared”, it can’t be converted back to “non-shared”.
- If you enable sharing, you need to select proportional or prioritized attribution.
- Proportional attribution is where the discount is automatically applied to projects based on their proportion of your entire spend.
- For example, if project A consumed $75 worth of usage and project B consumed $25, project A would be covered by up to 75% of available credit and project B would be covered by up to 25% (https://cloud.google.com/docs/cuds-attribution#type-proportional)
- Prioritized attribution allows you to specify how much of your commitment is applied to specific projects and then the remainder of the commitment gets applied on a proportional basis, starting with the next largest, uncovered project by spend. (https://cloud.google.com/docs/cuds-attribution#type-prioritized)
- For those just starting out, selecting proportional attribution is the easiest way to “set it and forget it”. For more mature organizations that want to have more control over where commitment discounts are applied, Prioritized Attribution may be more appropriate.
- Spend-based commitments can only be scoped to the billing account they’re purchased in and will apply to eligible usage in any projects paid for by that billing account.
- Consider any recommendations from the FinOps Hub
- IAM Permissions
- To view any existing commitments, Billing Account Administrator or Billing Account Viewer permission must be enabled.
- To purchase/make changes to any commitments, Billing Account Administrator permission must be enabled. See following Google documentation.
- View Recommendations
- Modify Recommendations
- Purchasing CUDs
- Understand the nuances and specifics of the different commitment options (below & Additional Details section).
Commitment Types in GCP
Below is a summary of different commitment types available in GCP. We strongly encourage checking out our Additional Details section for a more detailed comparison in addition to Google documentation.
|
Committed Use Discounts (CUDs) |
Sustained Use Discounts (SUDs) |
Reservations |
Slot Commitments |
Spend-Based CUDs |
Resource-Based CUDs |
Traditional CUDs |
Flex CUDs |
In Scope? |
Yes |
Yes |
Yes |
No |
No |
Yes |
Discount % Range |
17-52% |
28-46% |
57-70% |
≤30% |
N/A |
20-31% |
Reserve Capacity? |
No |
No |
No |
No |
Yes |
No |
Services Covered |
Google Documentation |
Compute Engine |
Virtual Machines |
Compute Engine |
Virtual Machines, BigQuery |
BigQuery |
What are you committing to? |
$ per hour |
$ per hour |
The monetary value of CPU & RAM usage |
N/A |
GPUs and Local SSDs, # of Slots |
The monetary value of slot usage |
Tools, Utilities & Templates
- Google Cloud FinOps Hub: A web-based resource linking to your Google Cloud console providing the ability to purchase, manage and monitor GCP commitment discounts.
- Google Cloud Command Line Interface (gcloud CLI): Purchase and manage Google Cloud Compute Engine committed use discounts directly on the command line or via scripts using the Google Cloud CLI
- Google Cloud REST API: Purchase and manage Google Cloud Compute Engine committed use discounts directly on the command line or via scripts using the Google Cloud REST API
- Email Template – FinOps commitment discount Purchase Request: A template with suggestions on what information to include when asking for approval of commitment discount purchases. Ultimately, your point-of-contact for approval will be the best source of what information to provide for them to feel comfortable in granting approval.
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 GCP specific content which follows. 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 %)
Instructions for Running This Play
This document will guide you through the process of purchasing commitment discounts in GCP. 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 Google rolls out new features and capabilities but the lifecycle phases, concepts and general steps should not. We’ve tried to link out to relevant Google documentation where possible to help this document stay relevant over time. When performing analysis to understand what should be purchased, most of it will take place within the Google Console, especially when at the Crawl phase of commitment discounts.
Play Instructions: Spend-Based CUDs
Phase 1: Analyze commitment discount purchase opportunities & make a decision to purchase
Understand Spend-Based Committed Use Discounts.
Details can be found here.
Understand current commitment discount recommendations and utilization
View commitment discount Inventory:
- Log into the Google Cloud Portal.
- Navigate to the Billing product page.
- Select Commitment Use Discounts (CUDs).
- A table will be populated with all commitment use discounts associated with your billing account.
View commitment discount utilization:
- Log into the Google Cloud Portal.
- Navigate to the Billing product page.
- Select CUD Analysis.
- Select the commitment type you would like to see utilization for.
- Filter on the right by:
- Granularity: Daily or Hourly
- Date: 3-year lookback period
- Repeat for all commitment types you want to analyze.
View commitment discount recommendations:
Google provides a list of recommendations based on an organization’s unique usage of the platform. These recommendations can be actioned (or not) after being reviewed by those who are capable of assessing the recommendations potential impact. Specifically, Google will recommend commitment use discounts based on your organization’s usage.
- Log into the Google Cloud Portal and navigate to Recommendations.
- If shown, select the option to view CUD recommendations.
- At the time of publication, this was done by selecting View All under Save with Committed Used Discounts.
- If no option is shown, that may mean there are no current recommendations.
- This will take you to a page that shows all recommendations based on your organization’s usage.
- If desired, you can adjust what types of recommendations you see using Configure recommendations in the upper half of the page.
- Usage to be covered by CUD: 1% to 100%
- This can be set based on your organization’s KPIs.
- Select preferred CUD duration: 1-year commitment or 3-year commitment.
- This selection should be informed by your organization’s risk appetite. See the whitepaper for additional context on this decision.
- These recommendations can be filtered by any table value by clicking Filter above the table. Type in the value you would like to filter by then enter on your keyboard.
- For example, to see only new recommendations, filter by “New commitment.”
- To learn more about a recommendation, click on the underlined text in the row.
- A new page will pop-up with details on why it’s recommended, spend history, and the ability to filter.
- If not done in step 4, here you can filter by commitment term or coverage preferences.
- If a recommendation is not actionable, you can opt to Dismiss it.
- This is helpful if you know an infrastructure change is coming and you don’t want to commit to it or if you know that you won’t be able to act on it.
- If something gets dismissed accidentally, you can restore it by going to the History tab in the upper right-hand corner.
Whilst these data recommendations are useful, only you and your organization can really know whether the usage will remain for long enough to make the commitment worthwhile. Please remember that there is no option to exchange/cancel a GCP CUD.
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: How to make a purchase once a decision has been reached to commit
Purchases of commitments can be made via the Google Cloud Console, gCloud CLI, or the API. For the purposes of this playbook, we are focusing on the Google Cloud Console.
- Log into the Google Cloud Portal and navigate to the CUD Analysis page from the Billing product page.
- Navigate to the CUD analysis section in the GCP console and initiate the purchase process (you may need to click Purchase at the top of the page to do so)
- Select the Product you want to commit to.
- Note: If you want to purchase a Flex CUD, select Compute Engine Flexible Committed Use Discounts. All other products will be a traditional CUD.
- If prompted, select the billing account you would like to make the commitment in.
- Enter a name for your commitment.
- Choose a commitment term of 1 or 3 years, the duration for which you are charged for the commitment.
- If prompted, select the region you want the commitment to be in.
- Only usage and spend in that region will be able to be covered by the CUD.
- Enter your hourly commitment amount, in terms of equivalent on-demand spend. This can only be two decimals long and must be at least $0.01 per hour.
- This is typically informed by the recommendations provided by GCP.
- Preview your purchase.
- Note: At the time of publication you must click the Purchase button. This does not process the actual purchase, but rather prepares a summary for you to review before finalizing.
- Submit your purchase if desired.
- Note: At the time of publication you can submit your purchase by clicking Purchase again.
Phase 4: How to check performance versus goals
We can use many methods to check the utilization of our commitments
Billing Account
From the billing account, we can get a better understanding of all the commitment discounts from an organizational level:
- In the console, go to the billing account and navigate to the Committed Use Discounts.
- This will open a page with the list of all committed use discounts in the organization.
- From here, navigate to the CUD analysis view
- This may require you clicking on,”View Analysis” on the far right.
- This gives us a more granular level analysis from different dimensions like % of coverage, % of commitments utilized and % of non-utilized CUDs. Leverage filters such as project, region, time and commitment type.
Compute Engine Console
- In the console, go to Compute Engine and select the project you would like to see.
- Opt to view the Committed Use Discounts or Reservations pages.
- This allows you to be able to see the whole inventory of the CUDs and Reservations for this specific project.
- Click on a specific Reservation or CUD to get the details for the linked Reservations and resources.
- In Reservations we can also view how many VMs have been reserved and how many have been utilized.
At the time of publication, there is no ability to enable alerting for low utilization on any type of commitment. Please check current Google Cloud documentation for the latest information.
How to remedy poor utilization situations
GCP does not offer the ability to exchange, cancel, or ask for a refund. If you need to take action on an underutilized CUD due to an accidental purchase or changes to infrastructure, reach out to your organization’s technical account manager and/or file a support ticket with Google.
Play Instructions: Resource-based CUDs
Phase 1: Analyze commitment discount purchase opportunities & make a decision to purchase
Understand Spend-Based Committed Use Discounts.
Details can be found here.
Understand current commitment discount recommendations and utilization
View commitment discount Inventory:
- Log into the Google Cloud Portal and navigate to Commitment Use Discounts (CUDs) from the Billing product page.
- A table will be populated with all commitment use discounts associated with your billing account.
View commitment discount Utilization:
- Log into the Google Cloud Portal and navigate to CUD Analysis from the Billing product page
- Navigate to view resource-based commitments.
- At the time of publication, this was done by selecting Resource-based commitments under the commitment type dropdown.
- Once the page loads, select the resource type you would like to see utilization for.
- Filter on the right by:
- Granularity: Daily or Hourly
- Date: 3-year lookback period
- Repeat for all commitment types you want to analyze.
View commitment discount Recommendations:
- Log into the Google Cloud Portal and navigate to Commitment Use Discounts (CUDs) from the Billing product page.
- Select Recommendations.
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: How to make a purchase once a decision has been reached to commit
- Log into the Google Cloud Portal and navigate to CUD Analysis from the Billing product page
- From here, navigate to the Resource based commitments.
- At the time of publication, you could do so by clicking Resource based commitments found under Commitment Types at the top of the page.
- Select the resource you wish to reserve, e.g., N1 instances.
- Here you can filter historical usage to understand what is being charged on demand and therefore where opportunity may be for a commitment.
- Filters include:
- Aggregate: View all usage associated with this resource type across the organization.
- By region: View all usage associated with this resource type across the organization by region.
- Recommended to filter by region at this stage because a region is required to be selected when making this type of commitment later in the playbook.
- Sort by: Organize the visuals based on the following:
- Commitment level (existing)
- Usage (historical for time range selected below)
- Alphabetical (A → Z)
- Time range: Presets available or create a Custom range.
- Region
- Project
- Option: If shown, click “View Recommendations” on the screen to see recommendations from Google for this resource type.
- Proceed to the next step.
- Choose the appropriate project for the purchase.
- Choose if you want to make a hardware commitment or a license commitment.
- Hardware commitments relate to storage and compute commitments.
- Although the fields are present on the Hardware page, GPUs and SSDs do not need to be added in order to process this commitment. These are related to the reservations mentioned above.
- Fill in details like commitment name, region, duration (1-year or 3-year) for the commitment discount.
- These fields may be auto-populated based on the recommendation you clicked on to get here.
- License commitments relate to software license commitments for virtual machines. These are good for stable workloads where you cannot bring your own license.
- Fill in details like commitment name, region, duration (1-year or 3-year), license family, type of license, and number of licenses for the commitment discount.
- These fields may be auto-populated based on the recommendation you clicked on to get here.
- Submit your purchase if desired.
- Note: At the time of publication you can submit your purchase by clicking Purchase again.
- After purchasing, a new commitment will initially be in a pending status, taking about 24 hours to transition to an active status.
Keep in mind that this is not reserving capacity for the underlying usage. To do that, you must also make a reservation. Google documentation.
Phase 4: How to check performance versus goals
We can use many methods to check the utilization of our commitments
Billing Account
From the billing account, we can get a better understanding of all the commitment discounts from an organizational level:
- In the console, go to the billing account and navigate to Committed Use Discounts.
- This will open a page with the list of all committed use discounts in the organization.
- From here, navigate to the CUD analysis view
- This may require you clicking on,”View Analysis” on the far right.
- This gives us a more granular level analysis from different dimensions like % of coverage, % of commitments utilized and % of non-utilized CUDs. Leverage filters such as project, region, time and commitment type.
Compute Engine Console
- In the console, go to Compute Engine and select the project you would like to see.
- Opt to view the Committed Use Discounts or Reservations pages.
- This allows you to be able to see the whole inventory of the CUDs and Reservations for this specific project.
- Click on a specific Reservation or CUD to get the details for the linked Reservations and resources.
- In Reservations we can also view how many VMs have been reserved and how many have been utilized.
At the time of publication, there is no ability to enable alerting for low utilization on any type of commitment. Please check current Google Cloud documentation for the latest information.
How to remedy poor utilization situations
GCP does not offer the ability to exchange, cancel, or ask for a refund. If you need to take action on an underutilized CUD due to an accidental purchase or changes to infrastructure, reach out to your organization’s technical account manager and/or file a support ticket with Google.
BigQuery
Given that BigQuery is often a big draw for organizations to use GCP in the first place, we felt that this document warranted a specific section on it and the available commitment options. However, due to limited first-hand knowledge of purchasing and managing Slot Commitments within this working group, we are recommending you leverage Google documentation linked below for estimating, purchasing, and managing Slot Commitments. Additionally, we offer some quick information and guidance on this topic.
Slot Commitments Information
- BigQuery slot commitments can be purchased in 100 slot increments (100 slot minimum purchase) for a 1- or 3-year term.
- You pay a predictable fee per hour for the slots you have committed to, regardless of usage.
- They are region specific.
- Commitments in one region or multi-region cannot be used in another region or multi-region and cannot be moved.
- Slot Commitments are automatically renewed unless set to cancel at the end of the period. They can be set to renew for another 1- or 3-year term. For example, an original 3-year commitment could be set to renew for a 1 year period and vice versa.
- Similar to the resource-based commitments discussed above, you can purchase the commitment to pay a lower rate than on demand but you can also make a reservation to reserve the infrastructure for a set amount of time.
- BigQuery is backed by a shared pool of resources that runs the query jobs and they have fair usage rules which prevent customers from hogging the shared, on-demand resources. As a result of this, Google’s BigQuery service allows a maximum of 2,000 concurrent slots for on-demand pricing per project.
- Therefore, if you know you will need to use more than 2,000 slots in a given GCP project, it would likely make sense to have a commitment in place so you can exceed the 2,000 slot limit.
- For the management/administration of slot commitments, Google recommends creating an administration/purchase project, this allows you to control the purchase of the commitments (through IAM Controls) and the allocation of slots to projects. This is similar to the optional concept discussed in the prerequisites.
Google documentation links:
- Phase 1
- Phases 2 & 3:
- Phase 4: How to remedy poorly performing commitments
- Slot commitments cannot be deleted while they are active.
- If you made a purchase in error or had a change in infrastructure needs, reach out to your Technical Account Manager (TAM) or open a case with Google.
- Making Slot Reservations
If you have experience with these and want to contribute, get in contact with us via the make a suggestion button or send us your contributions by emailing hello@finops.org – we’d love to hear from you!
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 Discount Waste (%) = The percentage of commitments not applied to on-demand spend = Cost of Commitment-Based Discount unused / total cost Commitment-Based Discount
- Commitment 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.
Additional Details
CUDs
Compared to AWS and Azure, GCP has a slightly different naming convention for its commitment discount offerings, they are called Committed Use Discounts (CUDs). There are principally three types of CUDs: Resource Based, Spend Based and Compute Engine Flex CUDs (which are a type of Spend Based commitment).
Some of the key facts for CUDs, that will help you navigate the differences are as follows (as of the time of this writing):
- CUDs cannot be canceled or sold (there is no exchange or marketplace available).
- Some CUDs can be set to auto-renew, removing administrative burden on renewals for stable workloads with a known, agreed commitment plan.
- There are no upfront or partial upfront payment offerings, all payments will be monthly.
- CUD contracts can mean that price changes do not impact services that are covered during the duration of the CUD.
- For example, if the cost of a VM decreases during the commitment period, you will remain paying the higher rate until the commitment expires.
Spend-based CUDs
Spend-based CUDs are most like Savings Plans offered by other vendors because they cover a wide range of services and offer discounts based on a specific hourly dollar spend committed over a one or three year period.
- Offer from 17% discount up to 52% discount depending on service and term.
- Services covered can be found here
- Cross region and project (any under the same billing account)
- They are applied after resource-based CUDs but before Compute Engine Flex-CUDs.
- They are purely a financial commitment and do not reserve capacity or resources. Resource-based reservations are required to reserve capacity.
Compute Engine Flex CUDs
Somewhere between resource-based and spend-based CUDs you find Compute Engine Flex CUDs, which are spend based, but only for Compute Engine (GCE). They are akin to Savings Plans from the other vendors in the sense that an hourly spend commitment is made with a vendor in exchange for a discount, but they are specific to a single service. The key differences from resource-based CUDs are as follows:
- Spend based (hourly $ value post-discount)
- Offer a stable known discount of 28% for 1-year commitment and 46% for a 2-year commitment.
- Does not include memory-optimized.
- Cross region.
- Cross project under the same billing account.
- They are applied last after other types of CUDs.
The deepest discount is found with resource-based CUDs which are the least flexible and most specific type of commitment. However, they are comparatively quite flexible compared to other cloud service providers commitment discounts. For the most part, you are committing to an amount of CPU and RAM which can be used across most VM families/types. A notable exception is memory-optimized which has its own CUD (Compute Engine Flex CUD) that offers a deeper discount than standard. There are some other noteworthy points to consider for resource-based CUDS:
- Offer up to 57% discount for standard and 70% discount for memory-optimized.
- They are project specific (unless sharing is enabled).
- They are region specific.
- When sharing, you can apply different attributions – proportional or prioritized for how they are shared. See prerequisites for explanation.
- You can purchase commitments for licenses (SUSE and Redhat) which can be quite substantial.
- You can commit to GPUs and Local SSDs too, but these require resource reservations. Reservations are out of scope of this playbook.
BigQuery is Google’s data warehousing solution, where you pay for both the storage and the processing/analyzing of data. It is the processing/analyzing portion of the spend that can be optimized through a commitment.
If you strip back the abstraction layers that are put in place (for good reason) by Cloud Service Providers (to reduce infrastructure management overhead) all serverless capabilities are running on some compute somewhere. BigQuery is no different in that your queries are run as jobs using a pool of machines. These units of compute that jobs use are called “Slots” by Google which you can commit to hourly.
Similar to Virtual Machines, you can pay for your capacity at the On-Demand rate, giving you flexibility for a higher price, or you can reserve capacity/slots and commit to pay a cheaper rate. The same principles apply, but we appreciate it can be confusing when we use different terminology (jobs/slots etc.)
The similarities with Reservations/CUDs continue because BigQuery slot commitments are perfect for steady-state, predictable workloads such as daily queries to process financial data. On Demand/Pay as you go pricing for analysis in BigQuery is still best suited to jobs that run infrequently or don’t require much time to complete.
The On-Demand/PAYG model can be used in combination with the commitment model much like Virtual Machines, depending on your specific needs.
SUDs
As well as CUDs, GCP also offers Sustained Use Discounts (SUDs) which are a unique rate optimization offering which applies discounts based on how much of the month a virtual machine is utilized. There is no commitment required to benefit from this discounting model, however pricing varies depending on family and duration. Because SUDs do not require any commitment, they are not included in the list below but you can read more about SUDs here.
Reservations
Reservations allow you to reserve capacity so it is available for your use but without a commitment. Whilst Reservations are beyond the scope of this document (as they don’t come with a commitment), we felt it was important to mention here for completeness and also because they sound very similar to the commitment instruments available from other CSPs.
For example, you know you have a need for 10 x N2 Virtual Machines for a planned, important workload, expected to last a month, you wouldn’t commit for 1 or 3 years (unless they could be used elsewhere). By creating a reservation you can be safe in the knowledge that, if approved, your reserved capacity will be available. This can be especially useful for scarce resource types or in popular/new regions within GCP.
Reservations can be “On-Demand” meaning the reservation is created at the time you request it, or “future”, which means you can specify the date that you need the capacity to be there.
Note: You will pay for the capacity you reserve whether you use the capacity or not, for as long as the reservation is active.
When making a reservation you will need to specify the Region, Zone, Machine type as well as defining whether the reservation is shared.
You can also specify the “Auto-delete” option within the reservation to ensure the reservation stops when expected and you don’t continue paying for capacity you don’t need
Related FinOps Resources and Framework Capabilities
Acknowledgements
We’d like to thank the following people for their work on this Playbook:
We’d also like to thank our Supporters: Amit Doshi, Marianne Stone, Dusty Bowling, Alison McIntyre, Brian Robbins, Frank Contrepois, and Sierra Juneau.