Compute Savings Plans are a flexible approach to lowering your AWS bill by committing to an hourly spending. Finding the right commitment can however be tricky when we consider free tiers, varying workloads, available budgets and your plans for the next years. This article describes the available options for serverless workloads, how to pick the right plan and how to improve on existing plans.


This article applies to you, if you will spend at least $30 per month on AWS Lambda or Fargate for at least 1 year. Below this amount it is likely that you will overpay. AWS starts to give recommendations only once you exceed $0.10 per hour or $72 per month.

To use this guide effectively, you should have enabled the Cost Explorer for at least 2 months.

This article focuses on a single account. If you use AWS Organizations you can still apply what you learn here, but check the docs regarding multi account setups:

The Savings Plans will first apply to usage in the account that owns the plan, and then apply to usage in other accounts in the AWS Organization.

To simplify this article, I will ignore EC2 and DynamoDB. Have a look at DynamoDB Reserved Capacity and AWS’s Guide to Savings Plans if you’re curious about lower prices for DynamoDB and EC2.


Numbers in this article might be wrong, as they are based on my understanding of public documentation. Start with a small savings plan and later add additional ones to avoid overpay.

How do Savings Plans save money?

With a Savings Plan you pay for compute before you use it, and in exchange your rates for that purchase are lowered by up to 17% for Lambda and up to 52% for Fargate. In this chapter we will refer to hourly commitment as prepaid compute.

Once purchased, a Savings Plan gives you hourly packages of prepaid compute that compute services such as Lambda and Fargate can use. Any additional compute above the prepaid amount is priced at regular On-Demand rates.

Image for post

When the compute usage matches the prepaid amount, you don’t generate any additional spending beyond what you already paid for. Achieving this perfect fit is difficult as compute usage tends to vary in serverless environments.

Image for post

When your services use more compute than what you already prepaid for, additional compute will be charged at On-Demand rates. This happens automatically and there’s nothing more you need to do.

Image for post

When your services use less compute than what you prepaid for, the remaining amount is not transferred into the next hour, but discarded. You pay the commitment no matter if you use it or not. This may be the case if you have irregular workloads (e.g. nightly jobs) or the free tier covers a lot of your spending.

#serverless #software #aws #finops

How to pick the right Compute Savings Plan for Serverless Workloads on AWS
1.10 GEEK