Buying AWS Savings Plans - alphagov/notifications-manuals GitHub Wiki
This page will talk you through how to buy Savings Plans (SPs) on AWS. It will focus on Compute Savings Plans (CSPs), but the steps are applicable to most SPs offered by AWS. It is assumed you understand the various types of SPs and which applies to your use-case.
This page will also talk you through the GDS-specific steps required to purchase a SP. There is some administrative overhead; certain steps will ask you take take screen grabs / make notes of info that will be required when requesting your spend.
You should only buy SPs for resources you expect to use throughout the whole period your SP covers i.e. if you currently have 15 instances, but only expect to use 10 of them for the whole year and the other 5 for the next month, then your SP should only cover the 10 instances.
NOTE: All savings plans must be bought for 1 year only (despite 3 years having a cheaper cost) and should be paid upfront to maximise savings.
- Identify the applicable compute resources you want to purchase the CSP for e.g.
- 10
r7i.large - 4
t3a.largeinstances
- Identify the cost using AWS' CSP cost calc
Set:
-
Regionto the one you will purchase the plans in. -
Term lengthto 1 year -
Payment optionstoAll Upfront -
Operating systemandTenancyto your use case.
Find the Savings Plans rate for the instance types you will use e.g. r7i.large
r7i.large costs $0.10011 per hour usage, we have 10 instances, so 0.10011 * 10 = $1.0011
t3a.large costs $0.0624 per hour usage, we have 4 instances, so $0.0624 * 4 = $0.2496
Totalling $1.2507 per hour usage
Calculate the cost for the year:
1.2507 * 24 = 30.0168 (1 day)
30.0168 * 365 = 10,956.132 (1 year)
Make a note of this calculation.
Once you have your expected spend for the year.
-
Go to AWS console > Billing > Cost and Usage Analysis > Cost Explorer
-
Filter the report to the relevant AWS services, region and the
Date rangeto an appropriate length so that your usage is in that date range accurately reflects what your usage for the next year will be.
i.e. in this image the following year will not look like the previous year, so you should not base the following year's EC2-instances costs on the previous year's. In this case, more instances were added and we moved away from spot instances.
The Oct-Nov-Dec period does reflect what the following year's EC2-instances spend will look like, so we should extrapolate the cost from those months. The spend for these three months was $5093.59.
Extrapolated for the whole year this is $5093.59 * 4 = $20,374.36.
Make a note of this figure and take a screen grab.
-
Go to AWS console > Billing > Savings Plans > Purchase Savings Plans
-
Enter your details for the SP you want to purchase, with
Payment optionset toAll upfront.
-
Select
Analyse Savings Planin the bottom right. -
The
Hourly commitment,TermandPayment optionshould already be set appropriately for you.
Set the Lookback period (max allowed 60 days) to an appropriate length so that your usage is in that lookback period accurately reflects what your usage for the next year will be.
Click Run analyze.
- Once analysis is complete, you should see a graph comparing your SP to your expected on-demand spend. You want the
Custom Savings Plan(lilac colour) to be just below (within $0.2 per hour spend) below theEstimated On-Demand cost after Savings Plan purchase(rust colour) i.e. it should look more like the left of the graph, than the right.
Make a note of the estimated savings and take a screengrab of this chart.
- Request this spend from relevant parties. A template email can be found at the bottom of this page.
Send an email to [email protected], [email protected], [email protected], [email protected], the tech lead and DM in your team.
You will likely have to submit the P&S spend request form
You must clearly, in non-technical language:
- Explain your request to purchase a SP and for which AWS account it is for and a brief overview of what the SP
- Show how you have come to the amount your are requesting to spend for the year.
- Mention any costs you provide are exclusive of VAT.
- State whether this purchase is instead of, or as well as your current monthly spend.
- State the % cost saving that this will provider
- State the current annual spend without the SPs
- Explain that this request is for resources you are already using and paying for and that this SP will reduce the cost of an existing spend.
- Explain how this meets business needs (e.g. these instances are used to run Concourse, our CI system which allows us to deploy code to end users.)
- Mention that this will be billed as part of the normal monthly bill.
NOTE: For more complex or expensive SPs setting out your ask in a supporting document will be easier and will required to be laid out in more explicit terms. For an example of this ask EE to share a link to the
PaaS - Savings Plan RecommendationsGoogle doc.
- Once the spend has been approved your can then purchase this plan. You must have a 2nd pair of eyes while you make this purchase.
Repeat steps 3 and 4 of this section and select Add to basket and Confirm add to basket
- You will see SP in your basket. If you're happy click
Submit order.
- Your SP has now been purchased.
Good morning,
I'm an SRE on the Notify team and we're looking to buy some Savings plans (SPs), for 1 year, which we want to pay all upfront. This is for the ACCOUNT-NAME AWS account ACCOUNT-ID.
BRIEF OVERVIEW OF WHICH SP THIS IS FOR CSP / RI / Database SP etc.
MENTION IF YOU'VE DONE ANY RIGHTSIZING
MENTION WHEN YOU WANT THE SP TO START
We want to commit to spending $x per hour for the year. This comes out to be:
$x * 24 (hours) = $y (per day)
$y$ * 365 = $z(for the year)
This number is calculated as the Savings Plans rate price, as based on AWS' calculator (https://aws.amazon.com/savingsplans/compute-pricing/) for each of the instances in this AWS account. The breakdown can be seen below.
BREAK DOWN COMPONENTS OF SAVINGS PLAN OR LINK TO DOCUMENT EXPLAINING BREAKDOWN
Where it's used. Resource type / family Savings plan rate per hour (number of this same resource where applicable) e.g.
- Concourse team (dev-*), instance type (r7i.large), $0.10496 * 7 = $0.73472
- Concourse team (aws-pr), instance type (t3a.large), $0.0644
Total cost = $0.79912 per hour spend.
The expected cost for the year without this SP would be AMOUNT HERE, purchasing this plan would save around PERCENTAGE AMOUNT HERE.
This SP is AS WELL AS / INSTEAD OF our current monthly spend for these resources.
IF APPLICABLE This SP is for resources we already use and purchasing it will reduce the amount we already spend for these resources.
Purchasing this SP supports business needs by REASON HERE.
This SP purchase will be billed as part of the normal monthly AWS billing.
Please note these figures are exclusive of VAT.
Please let me know if a P&S spend request form is required to be filled out.
Thank you.