Amazon Web Services recently launched an AWS Savings Plan for EC2 instances and the Fargate container service. Due to their ease of management and flexibility, many businesses are excited to take advantage of them; and, even if you have Reservations today, you can still add Savings Plans into the mix to boost savings.
The new discount program is slightly different to AWS Reserved Instances inasmuch as businesses make a commitment to how much they will spend per hour rather than how much they utilize. However, like Reserved Instances, the commitment can be for a one-year or three-year term, and paid all upfront, partially upfront - with monthly payments making up the difference - or with no upfront payment.
AWS´ new Savings Plan is not intended to replace Reserved Instances, and it is important to note the two discount programs cannot be applied to the same usage simultaneously - i.e. if your business has an existing fleet of Reserved Instances, and it commits to an AWS Savings Plan for EC2 instances, the discount from the Savings Plan only applies to instances still running on On Demand rates.
More Flexibility with the AWS Savings Plan for EC2 Instances
Although there is a certain degree of flexibility with Standard Reserved Instances - and a few degrees more with Convertible Reserved Instances - with the AWS Savings Plan for EC2 instances you get much more flexibility. For example, EC2 Instance Savings Plans automatically apply to any instance size within an instance family, to any tenancy, and to any operating system.
If you opt for the Compute Savings Plan, it also applies to any instance family or Fargate usage in any AWS Region (see image below). Even if this degree of flexibility is not important to you, it is worth noting that when you convert, modify, or exchange Convertible Reserved Instances, the process is manual; whereas with the AWS Savings Plan for EC2 instances, discounts are applied automatically.
Taking Advantage of Savings Plans before RIs Expire
Most businesses - especially those using CloudHealth - will purchase the optimal amount of Reservations to cover their On Demand usage. A very simple demonstration of such a balance appears in the graph below, in which the daily utilization of a business´s m5.4xlarge instances peaks at 100 instances early in the week, but falls to 72 instances on Sundays.
The blue area of the graph represents usage covered by an all upfront, three-year Standard Reserved Instance with three months left to run (10,080 hours per week). The remaining usage (4,824 hours per week) is charged at the On Demand rate of $0.768 per hour. Assuming utilization of the instances is constant throughout each day (*), over the next three months the business will pay:
· 4,824 hours x $0.768 per hour = $3,704 per week for On Demand utilization.
· $3,704 per week x 13 weeks (the length of time before the RIs expire) = $48,512.
The business could wait until the reservations expire before considering a Savings Plan. However, this would potentially give them a gap in coverage during which it will be charged all On Demand rates. If the business knows utilization will continue at the same rate or higher, a better option is to purchase an AWS Savings Plan for EC2 instances now to cover 480 hours per day of the excess inventory (20 instances x 24 hours).
The cost of a one year, all upfront AWS Savings Plan for EC2 instances for 480 hours per day coverage is $80,240 (a three year plan would save more but requires a larger upfront payment). The amortized cost of this upfront payment for the next three months is $20,060. The business will still be charged On Demand rates above the commitment level and the Savings Plan could potentially be underused on Sundays (although in a real world environment where more than one workload is running, the Savings Plan could float to cover other compute usage in other accounts), but the savings will be significant.
Now the business is running m5.4xlarge instances for 14,904 hours per week, with 10,080 hours covered by Reserved Instances, 3,360 hours covered by the AWS Savings Plan for EC2 instances (480 hours per day x 7), and the remaining 1,656 hours charged at On Demand rates. The Reserved Instances were already paid for, so the new cost of running m5.4xlarge EC2 instances for the next three months works out at:
· 1,656 x $0.768 per hour = $1,271 per week for what remains of the On Demand utilization.
· $1,271 per week x 13 weeks = $16,523, plus $20,060 (the amortized cost of the Savings Plan) = $36,583.
Therefore, by investing in a Savings Plan now, rather than waiting until existing RIs have expired, the business will save $11,929 in three months ($48,512 - $36,583) - and possibly more if the unused discounts on Sundays can be applied to other instances. Once the existing RIs have expired, the business can decide whether they will repurchase the same Reservations or replace them with another EC2 Instance Savings Plan.
However, before investing in an AWS Savings Plan for EC2 instances, please take the following into account:
(*) An EC2 Instances Savings Plan is charged on the amount committed to per hour. In our example we have assumed demand is constant throughout the day; but it may vary considerably, leading to underused Savings Plan discounts. It is likely businesses will require far more granular metrics than provided above in order to calculate the appropriate dollar per hour commitment. Fortunately, this level of information is easily accessible via the CloudHealth cloud management platform.