Are AWS Reserved Instances Better Than On-Demand?

As you may be aware, Amazon Web Services (AWS) recently changed its pricing structure for its Reserved Instances on its Elastic Compute Cloud (EC2). A Reserved Instance (RI) is an instance that you can rent for a fixed duration, at a lower per-hour cost than an On-Demand instance.

AWS’s previous RI pricing was in tiers, based upon the amount of usage: light, medium or heavy. Now, pricing is structured based upon how much you wish to pay up front, with three options: no upfront (pay monthly), partial upfront (pay a fixed fee upfront and the rest monthly), or all upfront. One-year contracts are available for all three payment options, and three-year contracts are available if you at least partially pay up front.  The pricing changes come in response to Google Compute Engine’s aggressive pricing, and compete with Google’s Sustained Use discounts.

What bothers me is that RIs seem to violate the philosophy of cloud, that you pay as you go. The new RI model makes cloud a CapEx (onetime expense) rather than an OpEx (monthly recurring expense). The beauty of On-Demand is that you truly do pay as you go. The problem is that On-Demand instances get quite expensive compared to RI.

So the question is, which should you choose: a Reserved Instance or On-Demand? A Reserved Instance, because it’s cheaper, right? Well, that’s what AWS would like you to think.

Let’s take a look at some pricing scenarios for the compute-optimized type instances, the c3.large. If you choose a c3.large RI and pay all upfront – the lowest total cost of the three RI payment options – you will pay $542. The same instance paid On-Demand for one year will cost $920.

In this scenario, AWS says that choosing RI delivers a 41% savings. Therefore, you would need to use your Reserved Instance for just over seven months of the year for it to realize a cost benefit.

However, this assumes fully utilized instances and that AWS will maintain the same On-Demand pricing for the entire year, which history tells us is not likely. Keep in mind that when AWS drops prices for On-Demand or Reserved Instances, you must continue to pay for previously purchased RIs at the rate from the date of your purchase, even if you’re paying monthly.

For the sake of comparison, what if AWS were to drop c3 instance prices by 30% in March, as they did in March 2014? Assuming this, the On-Demand price for one c3.large instance could go as low as $690. In that situation, your savings would only be 21%, not that 41% you thought you would get.

Let’s look at another possibility: what if you chose the RI but paid nothing upfront?

Using our c3.large example, you would pay $53 monthly, which provides a 30% savings over on-demand at the current prices. However, if AWS were to drop the on-demand prices by an average of 30% in March of that year, your savings compared to the new On-Demand price would be decimated to 7% for that year, since AWS will lock you in to the old monthly pricing.

While further price reductions are not guaranteed, the increasing commoditization of cloud computing and aggressive attempts by other cloud service providers to take market share from AWS are likely to continue to drive prices lower.

Let’s look at the three-year term for the same instance type. If you were to choose a three-year term for an RI, upfront, you would pay $1,020. In contrast, the On-Demand cost over three years, assuming the current pricing, would be $2,759. In this case, AWS says you should save save 63% by choosing an RI.

However, let’s assume that the price of On-Demand drops by an average of 30% at the beginning of March each year, as we assumed above. If this were the case, the total cost of a single c3.large instance paid On-Demand for three years would be $1,595. If you had paid the $1,020 upfront, your effective savings would be reduced from 63% to about 36%.

In contrast, if you had only partially paid the upfront cost for three years ($508) and then monthly, your savings would only be 32% versus the 61% that AWS predicts.

Note that none of this analysis factors in the cost-of-capital, which might improve your savings, but only slightly (an additional 1-2% in today’s dollars), depending on your organization’s cost-of-capital.

Obviously, AWS would love to get your money upfront, but do consider whether this makes the most sense for you before purchasing. Many Reserved Instances are underutilized, so you may find better value by choosing smaller instance sizes and via better scheduling of On-Demand instances. Scheduled runtime allows you to commit for just an hour at a time, without CapEx upfront.

A cloud management platform can help you with this optimization, using tools such as scheduled runtime and parking calendars to take advantage of the best prices for On-Demand instances. In this case, you can take advantage of AWS price cuts immediately, and maximize your compute value per dollar.

Disclaimer: This article was written by a guest contributor in his/her personal capacity. The opinions expressed in this article are the author’s own and do not necessarily reflect those of