AWS EC2 On-Demand is notoriously pricey, and AWS offers many ways to cut down on hosting costs. Savings Plans is the newest pricing model, which is easiest to get started with and offers a flexible way to save money.
Reserved Instance Savings, Without Instance Commitment
The two main savings models AWS offers—Reserved Instances and Spot instances—both still have their uses. Reserved Instances are long term contracts for specific instances. If you know that you’re going to need to run 4
c5.xlarge instances for over a year, you can purchase a RI contract (and optionally pay some upfront) to save up to around 60% on hosting costs. If you know your exact needs, you’ll find the lowest price using RI.
Spot Instances are short term instances that are used for applications with flexible start and end times. They essentially allow you to buy excess compute capacity from AWS for bargain prices. If you’re running an application that doesn’t care about an interruption in service of one of the machines in a fleet, such as a highly scalable web server workload, you can run your application using these to save as much or even more than reserved instances. Savings Plans won’t replace these, and if your workload allows it, they can be used alongside RIs or Savings Plans to cover spikes in application usage.
Savings Plan is the new savings model, announced early last November. It presents a flexible alternative to Reserved Instances that don’t lock you into a specific instance. AWS already has Convertible RI, which achieves the same affect, but it’s clunky and requires you to sell off your instance contract and buy into another.
Rather than signing a contract making a commitment to use a specific EC2 instance for a year, Savings Plan has you sign a contract making a commitment to spend a specific amount of money on EC2. This way, you’re not locked into a specific instance, or have to deal with switching convertible plans—as long as you’re spending money on EC2, you’ll be saving money. The commitment is measured in dollars per hour, so if you’re spending $2
Of course, this is still a commitment, and you’re still required to spend as much as you commit to. However, if you wanted to switch to a different instance, you’ll be able to without worrying about how it will affect your savings model. The best part is, even if you eventually need twice as much compute capacity as you planned for, you can easily increase
Savings Plans have two options—Compute, and EC2. Compute Savings Plans are the most flexible, and allow you to switch from any EC2 family or region to another at will. They offer savings “up to 66%,” just like convertible RIs. Compute also applies to Lambda and Fargate usage. EC2 Savings Plans lock you into a specific instance family (e.g.,
t3) and region, with the benefit of being slightly cheaper (“up to 72%”). While this is more locked down, it’s still better than RIs, and you are free to spin up new instances and switch instance types while continuing to see the same savings.
Really, if you plan on using EC2 for at least a year, and you don’t want to lock yourself into a specific instance or deal with convertible RIs, there’s no reason not to sign up for Compute Savings Plans, especially if it’ll be cutting your bill in half.
How To Sign Up
Signing up is pretty straightforward. From the AWS Management Console, open up the Cost Explorer under Services, and select “Purchase Savings Plans.”
From here, you can choose Compute or EC2 Savings Plans, as well as the length of the contract term. If you choose EC2, you’ll have to select the instance family and region.
Next, you’ll enter in how much you plan to use. You can pay all upfront, some upfront, or simply stick to the monthly payments. You’ll be charged monthly for the price you set, regardless of how much you use EC2. You’ll get discounts up to a certain price, and any usage beyond that will be charged the usual On-Demand rates. However, you’re always free to commit to a bigger Savings Plans if your needs change.
If you want to estimate your cost savings, you can use AWS’s Pricing Calculator to do so.