This playbook is a resource designed for FinOps practitioners who are new to purchasing Commitment Discounts in Azure. 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 Azure rolls out new features and capabilities but the lifecycle phases, concepts and general steps should not. We tried to link out to relevant Azure 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 Azure Savings Plans) and resource-based commitment discounts (like Azure Reservations) are applicable to different Azure services. Therefore you need to ensure that you are selecting the right commitment for the usage that you have. Please reference spend-based commitments vs. resource-based commitments to understand the nuances between the two commitment 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 Azure. 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 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
- Ensure the FinOps persona has the correct permissions. It is recommended to have billing admin permission and owner permission in at least one subscription.
- Shared: Must have owner permissions on at least 1 subscription in the tenant
- Single Sub: Must have owner permissions to the target sub
- Single Resource Group (RG): Must have either owner permission to the subscription which the RG is in or to the RG itself
- Add the following blades in Azure portal:
- Cost Management and Billing and Reservations.
- If more than one person will purchase commitment discounts, use the Cost Management and Billing blade.
- If only one person will purchase commitment discounts, they can use the Reservation blade.
- Azure AD Privileged Identity Management
- This is needed if your organization requires elevated privilege to take owner rights and or execute RI purchases.
- Consult with your TAM or Azure development team to understand if this is needed.
- Have access to billing data. The recommended approach when starting out is to either connect to the data via PowerBI (Azure documentation) or to enable billing exports (Azure documentation).
- Billing export considerations:
- This export may result in a small cost however the benefit associated with getting this level of granularity far outweighs the cost associated with the export.
- When the export function is set up, you will not be able to get data prior to the date the export was created, but historical data is available via the Cost Analysis console.
- There is much more visibility into utilization and spend long-term with the export than solely using the Azure portal.
- When doing analysis for either Reservations or Savings Plans, keep the following in mind:
- Azure does not know when an application will be retired, rightsized, or shutdown.
- Discounts for commitments will vary. Please reference the Compute Max Discount row in the CSP commitment discount Matrix to benchmark potential savings.
- Work with your procurement and finance teams to understand the terms of your enterprise agreement(s) with Azure and how to best maximize any discounts available.
- Keep in mind that for most commitments, you cannot make a commitment for a specific instance. Understand the options for the granularity of commitment discount purchase. All purchases will be done at the level you choose. Impact of level selection for commitment:
- Management Group & Shared:
- Good for general, portfolio purchases as commitment can be used by any resource in your organization. This also means, however, that savings are unpredictable at a business unit or application level.
- Easy for first-time purchases and will involve less overhead to manage than other levels.
- Single Subscription:
- Allows for predictable savings at a business unit level depending on how subscriptions are set up and organized in your organization.
- Requires more overhead than shared Reservations in terms of permissions and utilization monitoring.
- Single Resource Group:
- Recommended for large, stable workloads running (for example, SAP workloads).
- Depending on the size or growth trajectory of your organization, purchasing and managing commitments at the resource group level may not be a sustainable approach.
- The only level at which you can theoretically make a commitment for a specific instance. This is the case if only one instance exists in a resource group where you purchase the reservation.
- Please reference Azure documentation for the current policies for cancellations, exchanges and refunds. (see Microsoft’s announcement and more details here). Keep this in mind when evaluating the risk of a commitment discount purchase.
- If applicable, understand your enterprise discount and how it interacts with reservation or savings plan discounts.
- Microsoft Cost Management & Billing: A web-based console providing the ability to purchase, manage and monitor Azure commitment discounts.
- Azure Command Line Interface (CLI): The Azure command-line interface (Azure CLI) is a set of commands used to create and manage Azure commitment discounts
- Azure Reserved Virtual Machine Instances REST API: The Azure application programming interface (API) is a set of commands used to purchase and manage Azure VM commitment discounts.
- Azure CPU Coverage with Commitment Discounts: A Microsoft Excel (.xlsx) formatted template that enables you to understand how many daily CPU hours are currently covered with Reservations and how any potential commitment discounts will affect that coverage, including if you are over-committing in terms of CPU hours.
- Guide for Building an Azure Savings Plans Utility: This guide walks through steps for creating a Microsoft Excel spreadsheet to identify the potential savings/waste before purchasing an Azure Savings Plan based on the recommendation from Azure Advisor.
- Azure Savings Plans Utility: A Microsoft Excel spreadsheet to identify the potential savings/waste before purchasing an Azure Savings Plan based on the recommendation from Azure Advisor.
- 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 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
Azure 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 the Azure portal, especially when at the Crawl phase of commitment discounts. Leverage fields such as usage quantity, usage date, pricing unit and more to understand what infrastructure is running 24×7.
Phase 1: Analyze commitment discount purchase opportunities and decide what to purchase
Obtain Reservation inventory and utilization information
- Log into the Azure portal.
- If applicable, select the proper directory by clicking the gear icon in the top bar of the page.
- Use the search bar to open the Cost Management and Billing Blade.
- If necessary, select the applicable Billing Scope / Account on the page.
- Under Products and Services, select Reservations + Hybrid Benefit.
- If Reservations have been purchased, a table will be populated with the following:
- Reservation name: Created at time of Reservation
- Status: Succeeded or Canceled
- Expiration Date
- Scope Details: Shared/Single Subscription/Shared Resource Group
- Type: The Azure service the Reservation is for (Virtual Machines, Synapse Analytics, etc.)
- Product: The instance type/size of the Azure service the Reservation is for.
- Region
- Renewal Status: Indicates if Reservation is scheduled for auto renewal upon expiration.
- Quantity: Number of Reservations
- Utilization: % of Reservation getting used
- If desired, download this data to save it in a CSV formatted file containing the inventory information.
Understand current commitment discount recommendations and utilization
To obtain commitment discount recommendations, do the following:
- Log into the Azure portal.
- Navigate to Azure Advisor.
- Additional details about Azure Advisor for reservation recommendations can be found here.
- View cost-related recommendations.
- Note: At the time of this writing, this was done by selecting Cost under the Recommendations menu.
- A table will populate with descriptions of recommendations, estimated savings if action is taken and the impact of the recommendations.
- Note: If nothing populates in the table, it can be for two reasons:
- There are no recommendations for your Azure footprint.
- There is a filter set on the page. It is recommended to set all filters to be for “All” to see the full scope of recommendations.
- If shown, click on any description that includes “reserved instance” in it.
- You can also filter to only show Reservation recommendations by doing the following:
- Towards the top of the page, select Add Filter.
- Filter = Recommendation Type
- Operator = equals
- Value = Search for “reserve” and select all applicable results, such as ‘Consider virtual machine reserved instance to save over your on-demand costs’.
- Click Apply.
- In the table, click on any description you would like to learn more about. This will bring you to a page with additional information about the recommendation(s).
- Click on any of the links under Recommended actions you would like to know more about. This will take you to a “shopping” screen. If you click the “See details” link under Recommended quantity you can look at usage over time.
In addition to using the Azure Advisor recommendations to see what Reservations are recommended to commit to, it may be a good idea to confirm that the Reservations you will commit to do not lead to overcommitment. This evaluation will depend on your organizational KPIs. If coverage is more important than utilization, then this analysis may not be needed. If utilization is more important than coverage, the CPU Coverage with Commitment Discounts template may be helpful in ensuring you minimize potential waste.
Reservation Considerations
- If a resource can be covered by multiple Reservations, Azure will first apply the most specifically-scoped Reservation.
- E.g., if a resource could be covered by a Reservation scoped to its resource group and a separate Reservation to its subscription, it will first use the Reservation scoped to the resource group since it is more specific.
- Note: This may result in suboptimal savings if you have more specific Reservations with lower discounts than the more generalized Reservations.
- Keep in mind that reservations will apply to infrastructure before savings plans are. Reference the CSP Commitment Discounts Offerings Matrix and/or Azure documentation.
- Virtual Machine (VM) Reservations
- VM Reservations apply to a specific VM series and are inherently more specifically-scoped than Savings Plans.
- Azure combines VMs using Windows licenses into a single SKU when they are used on-demand (without a Reservation). If they use a Reservation, the SKU for the machine is separated in the billing data and the Windows OS license is billed separately.
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
These instructions will focus on using the Azure Portal, specifically Azure Advisor, to purchase Reservations. For information on purchasing Reservations via API, see the Azure online documentation. Prior to performing the following steps, ensure you have proper company or business approval/review.
Adding Reservations to the cart based on Azure Advisor recommendations:
- Perform steps 1-7 of “Understand current commitment discount recommendations and utilization” and place the Reservations you would like to purchase into the cart. Prior to placing a Reservation in the cart, perform the following checks:
- Double check that the following are correct:
- Scope: Shared, Management Group, Single Subscription, Single Resource Group; found in upper left-hand corner of the shopping screen.
- Reference the Azure CSP Nuances section of the whitepaper to understand the pros and cons of each scope type.
- Billing frequency: Monthly or Upfront
- Term: One Year, Three Years, Five Years
- Note: The recommended quantity may change from the Azure Advisor page to the recommendation details page. We recommend considering using both sets of recommendations as guidance to inform your purchase decision.
- Optional: If you want to adjust the quantity to purchase, click on the value in the Recommended Quantity column in the table.
- A new page will open where you can look at utilization and savings for the recommended Reservations as well as anticipated savings.
- In the upper left-hand corner of this page, you can adjust the quantity of Reservations you would like to purchase.
- Add reservations to your cart.
- Review & return to the reservation recommendation screen. At the time of writing, this was done by selecting Close.
- Repeat steps 1-4 as many times as needed to have what you want to commit to in the cart.
Adding Reservations to the cart based on an ad hoc analysis:
Ad hoc analysis could include looking at your inventory, leveraging the Azure Usage + Charges Report to see what is running 24×7, or by an application team asking for a reservation.
- Log into the Azure portal.
- Use the search bar to search ‘Reservations’ in the search bar and open Reservations.
- Select the service for which you would like to purchase a Reservation.
- A new window will pop up where you have the option to specify the following through the filters towards the top of the page. Note – only the billing frequency and quantity can be changed after adding Reservations to the cart.
- Scope: Shared, Management Group, Single Subscription, Single Resource Group
- Billing subscription: This is the subscription that gets charged for the Reservation.
- Product
- Region
- Term: One Year, Three Years, Five Years
- Billing frequency: Monthly or Upfront
- Optional: If you want to adjust the quantity to purchase, click on the value in the Recommended Quantity column in the table.
- A new page will open where you can look at utilization and savings for the recommended Reservations as well as anticipated savings.
- In the upper left-hand corner of this page, you can adjust the quantity of Reservations you would like to purchase.
- Select the row you would like to purchase.
- Click Add to cart.
- Once done adding products, click Close.
Purchasing Reservations in the cart
- Go to the Reservation cart.
- You will now see a summary page of your purchases including the Reservation name, the product, scope, billing frequency, unit price, quantity and subtotal with the percentage discount.
- You can adjust the column headers as needed by sliding the title boxes of the table.
- If you want to modify the Reservation name, click the box of the name and edit the text.
- As of this writing, there is no additional discount if you purchase a Reservation using upfront payments or if you pay monthly. It is recommended to work with your finance and procurement teams to ensure you understand the cash flow and commitment burndown implications of the billing frequency you choose.
- Optional: If reserving Virtual Machines consider enabling instance size flexibility.
- Instance Flexibility allows you to apply Reservations to instances that are in the same family of the Reservation commitment, even if those instances have different CPU options. This is only available for Virtual Machines.
- For example, if you have a 2 CPU Reservation, it can be used by a 4 CPU VM and provide 50% compute benefit. Or, if you have a 16 CPU Reservation, it can be used by four, 4 CPU VMs and provide 100% compute benefit to all 4.
- Azure documentation.
- In the summary page from step 2, click the cog or gear wheel in a Reservation row.
- A pane will pop up. Ensure that Optimized for… Instance Size Flexibility is selected.
- When everything looks correct in the cart, review the purchase. At the time of writing, this was done by clicking Review + buy.
- A new confirmation page will open with a summary of your purchase.
- Review everything to confirm it is correct.
- If everything is correct, click Buy Now. Once this button has been clicked, the commitment has been made.
- Document the order(s) per your company’s policies.
Phase 4: How to check commitment discount performance vs. goals
- Log into the Azure portal.
- If applicable, select the proper directory by clicking the gear icon in the top bar of the page.
- Use the search bar to search for Cost Management + Billing and navigate to that service.
- Under Products and Services, select Reservations + Hybrid Benefit.
- This view will show the Reservations that have been previously purchased.
- Note: It may take up to 24 hours for Reservation utilization to appear here after being purchased.
- It is recommended to sort the table by lowest percentage of utilization to the highest to identify where waste may be occurring and where action may need to be taken.
- Option: you can filter for any utilization < 95% (or your organization’s threshold).
- To see more details about a given Reservation, click the Name of the Reservation. This will take you to a screen for that specific Reservation and provide much more detail including 7-Day, 1-Month, 3-Month, 1-year, 3-year and custom views.
- Option: Download as a CSV file by clicking Download in the upper right-hand corner of the screen.
Alerting on Underutilized Reservations
It is a best practice to enable notifications to monitor the utilization of Reservations. Documentation on how to create utilization notifications can be found here.
Insights for setting these alerts:
- If you set it to 100%, you will be notified for any reservation that is not fully utilized. It is recommended that you input your organization’s KPI for utilization.
- If doing this at the billing scope level, it is a good practice to put the emails of FinOps team members and/or a shared FinOps mailbox. If doing this reservation-by-reservation, you can input the stakeholders who benefit from or approved the commitment.
How to remedy poorly performing commitments
As of the time of this writing, Azure provides the flexibility for the cancellation, refund and/or exchange of purchased Reservations. Azure has set fees and limitations on the amount that may be refunded and does not allow exchanges between service types (for example, a Virtual Machine Reservation cannot be exchanged for a Cosmos DB Reservation).
NOTE: Exchanges will be unavailable for all Compute Reservations purchased on or after July 1, 2024. Please reference Azure documentation for the current policies for cancellations, exchanges and refunds.
(see Microsoft’s announcement and more details here)
Exchanging or Canceling a Reservation
Exchanging a Reservation allows you to change the scope, type, region, or term. Canceling a reservation allows you to cancel the commitment and get a refund. Please see Azure documentation for the most up-to-date instructions and policy change dates for exchanging or canceling reservations.
FinOps Insights:
- The default exchange is to do a simple family SKU exchange. In most use cases, this action will require users to select the new commitment attributes they want with the exchange.
- You are able to exchange a reservation for a savings plan. See Azure’s documentation for how to do that type of exchange here.
- When exchanging, the existing Reservation will need to be returned and then a new Reservation(s) will need to be purchased in the same or greater commitment amount that was refunded as part of the exchange.
Play Instructions: Savings Plans
Azure Savings Plans can be applied to Virtual Machines, Azure App Service, Functions Premium Plan, Container Instances, Dedicated Hosts and Container Apps. When performing analysis to understand what should be purchased, most of it will take place within the Azure portal, especially when at the Crawl phase of commitment discounts. At the time of this writing, Savings Plan recommendations are not yet available via the PowerBI connector.
Phase 1: Analyze commitment discount purchase opportunities & make a decision to purchase
Understand historical usage for the Azure service for which you want a Commitment Discount
Review the SP documentation for Azure to understand if commitment discounts are available for the Azure Service, the purchase options and application methodology.
- Determine what level of coverage you want based on historical utilization (note, this is the hardest part of the whole process and should be informed by your organizational KPIs).
- Now with access to all the cost and usage data, you can focus on the Azure service (like Virtual Machines) for which you would like to analyze a commitment discount purchase. Leverage fields such as usage quantity, usage date, pricing unit and more to understand what infrastructure is running 24×7.
Understand current commitment discount recommendations and utilization
- Log into the Azure portal.
- Use the search bar to open Advisor.
- From the Recommendations menu, select Cost.
- Click on any description that includes “savings plan” in it.
- You can also filter to just Reservation instances by doing the following:
- Towards the top of the page, select Add Filter.
- Filter = Recommendation Type
- Operator = equals
- Value = Search for “savings plan” and select all applicable results.
- Click Apply.
- Recommendations are generated based on the past 30 days of usage
- Click on any description you would like to learn more about. This will bring you to a “shopping” screen where you can look at usage over time.
Obtain Savings Plan inventory and utilization information
- Log into the Azure portal.
- If applicable, select the proper directory by clicking the gear icon in the top bar of the page.
- Use the search bar to open the Cost Management and Billing Blade.
- From the Products and Services menu, select Savings Plans.
- If Savings Plans have been purchased, a table will be populated with the following:
- Savings Plan name: Created at time of purchase
- Status: Succeeded or Canceled
- Expiration Date
- Purchase Date
- Term: One or Three Years
- Scope Details: Shared/Single Subscription/Shared Resource Group
- Product Name: Compute Savings Plan (this is the only available type of savings plan to purchase)
- Commitment/hour: The cost per hour committed to in the Savings Plan
- Last Day Utilization: % of Savings Plan used in previous billing day
- 7-day Utilization: % of Savings Plan used in the previous 7 billing days
- Click on the Savings Plan Name to view a graph of utilization and set custom dates to review utilization over time
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
These instructions will focus on using the Azure Portal, specifically Azure Advisor, to purchase Savings Plans. For information on purchasing Savings Plans via API, see the Azure online documentation. Prior to performing the following steps, ensure you have proper company or business approval/review.
- Perform steps 1-5 from Understand current commitment discount recommendations and utilizations.
- Adjust the recommendation as needed and fill out all required fields:
- Name – Enter a friendly name for the new Savings Plan.
- Billing subscription – Subscription used to pay for the Savings Plan.
- Scope: Shared, Management Group, Single Subscription, Single Resource Group
- Term: One Year or Three Years
- Hourly commitment – Dollar value being committed each hour for the lift of the Savings Plan.
- Billing frequency: Monthly or Upfront
- Set your commitment level based on your organization’s coverage target. It is generally recommended to commit up to 60% – 80% of your target. The commitment level can be obtained based on the engineering team’s input based on their usage. It is always good to understand if you can hit the break-even point.
- Review the form and complete the purchase
Phase 4: How to check performance versus goals
Using Cost Management + Billing
- Log into the Azure portal.
- Use the search bar to search for Cost Management + Billing and navigate to that service.
- From the Products and Services menu, select Savings Plans.
- This view will show the Savings Plans that have been previously purchased.
- Note: It may take up to 24 hours for Savings Plan utilization to appear here after being purchased.
- It is recommended to sort the table by lowest percentage of utilization to the highest to identify where waste may be occurring and where action may need to be taken.
- Option: you can filter for any utilization < 95% (or your organization’s threshold).
- To see more details about a given Savings Plan, click the Name of the Savings Plan. This will take you to a screen for that specific Savings Plan and provide much more detail including custom timeframe views.
- Option: Download as a CSV file by clicking Download in the upper right-hand corner of the screen.
Note: At the time of this writing, there is no ability to enable alerting for low utilization on Savings Plans. Please check current Azure documentation for the latest information.
Using Products + Services
- Log into the Azure portal.
- If applicable, select the proper directory by clicking the gear icon in the top bar of the page.
- Use the search bar to open the Cost Management and Billing Blade.
- From the Products and Services menu, select Savings Plans.
- If Savings Plans have been purchased, a table will be populated with the following:
- Savings Plan name: Created at time of purchase
- Status: Succeeded or Canceled
- Expiration Date
- Scope Details: Shared/Single Subscription/Shared Resource Group
- Renewal Status: Indicates if the Savings Plan is scheduled for auto renewal upon expiration.
- Hourly Commitment: The cost per hour committed to in the Savings Plan.
- Utilization: % of Savings Plan getting used
- Sort the table by lowest utilization to highest utilization.
How to remedy poorly performing commitments
Azure Savings Plans do not offer the ability to exchange, cancel, or ask for a refund. If you need to take action on an underutilized Savings Plan 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 Azure.
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 FinOps Resources and Framework Capabilities
Acknowledgments
Thanks to the following people for their help on this Playbook:
Thanks to our supporters for their help as well: Amit Doshi, Marianne Stone, Dusty Bowling, Alison McIntyre, Brian Robbins, Frank Contrepois, Sierra Juneau, and Kurt Alexander.