The AWS guide that will make you switch to Reserved EC2 Instances

5 mins read

AWS: On Demand vs Reserved EC2 instances

For every start up there comes a stage when you need to rethink hosting. Sometimes the decision is driven by growth, sometimes by downtime but quite often the consideration is ongoing cost.

When we started using AWS for our hosting requirements we were unsure whether to use On-demand or Reserved instances. The AWS site has documentation but it is hideously complicated.

If you are trying to decide whether to buy Reserved Instances or not the first question you ask is how much your actual savings will be. Since buying Reserved Instances is a significant investment, you want to make sure you have all the information to make an “informed” decision.

Some of the questions we had were:

  • What is a Reserved Instance and how long will I have to commit for?
  • How much will the Reserved Instances cost, compared to my On-Demand instance?
  • When do I have to pay?
  • Will I really save 60% if I use a Reserved Instances as claimed?
  • What if my computing requirements change?
  • How can I start using the Reserved Instances once I have purchased it?

Let’s take a look at our answers.

Is there a significant saving difference between On-Demand and Reserved Instances?

The short answer is yes.

Selecting the payment option depends on your investment strategy; the more you pay upfront, the higher your savings will be. Regardless of the payment option, you will have to commit to a 1 or 3 years period when purchasing a Reserved Instance.

At what point will you reach the upfront investment you made into purchasing the Reserved Instance?

For our own hosting requirements for we have been using an m3.medium instance. We host a few sites on the servers and the typical traffic load is between 60,000 – 90,000 page views a month. From a server sizing point of view, the average computation load on the server over the last two weeks is shown below.

On-Demand Vs Reserved Instance costs

As you can see from the figure above, at exactly 5,280 hours of instance usage or by month 7 we will have recovered our upfront investment. This means that if you are going to run your instance for 6+ months, then your decision to purchase a Reserved Instance will save you money compared to an On-Demand Instance. The exact amount is $233 to be exact on an m3.medium server.

Is there a tangible physical difference between On-Demand vs Reserved Instances

There really is no difference between On-demand and Reserved Instances other than billing.

As far as the configuration of the instances goes, you will have exactly the same options available i.e. server family types, OS, tenancies and instance sizes. Using an On-Demand instance vs a Reserved Instance is dependent on actually how long you will the need the server for. To make use of the billing discount provided by the Reserved Instances, you must ensure that the attributes of the instances you are using match the attributes of the purchased Reserved Instance.

When to select a Reserved Instances over and On-Demand?

Some criteria for selection of an On-Demand instance vs a Reserved Instance is given below:

On-Demand InstanceReserved Instance
BillingPay hourly rates for what you use.Pay reduced rates for a contract period of 1 year or 3 years depending on offering class of instance. All the hours in the contract period will be billed regardless of usage.
You have the following options:

* No Upfront (pay monthly)
* Partial Upfront (pay a fixed fee upfront and the rest monthly)
* All Upfront
Instance configuration (i.e. server family type, OS type, tenancy, instance size)Configuration changes to the instance can be made anytime. You can upgrade or downgrade as and when required.Configuration changes can only be made depending on the type of Reserved instance purchased (i.e. Standard or Convertible).
EnvironmentRecommended for Test / Development environments where usage is for a short period of time.Recommended for a production / live environment.
Reserve CapacityNoYes, with a Zonal Reserved Instance.

Reserved Instances

a.        Offering Classes

Reserved Instance come as either Standard or Convertible offering classes. This is an important criterion if you expect your computing requirements to change and will subsequently need to either modify or change your reserved instances. Since offering classes have restrictions on what can be modified, make sure you purchase the correct Reserved Instance as the instance applies to a single instance family, platform, scope, and tenancy over a term.

Following are the differences between Standard and Convertible offering classes.

Standard Reserved InstanceConvertible Reserved Instance
TermPurchase period is either for a 1 year or 3 yearsPurchase period is for 3 years only
ModificationsAllowed for following only during the term:
Network (EC2 Classic or VPC)
Scope (Availability Zone or Region)
Availability Zone
Instance size (server family type remains the same, only the size can be modified)
ExchangesNoYes – Can be exchanged during the term for another Convertible Reserved Instances of equal or greater value with new attributes such as instance family, instance size, OS, scope, or tenancy.
Reserved Instance MarketplaceCan be soldCannot be sold

b.        Scope

Standard and Convertible Reserved Instances purchased can be scoped to either an Availability Zone or a Region. What this basically means is that if you purchase a Reserved Instance in a specific Availability Zone, it provides a capacity reservation and is referred to as a Zonal Reserved Instance. If you purchase a Reserved Instance for a region, it’s referred to as a Regional Reserved Instance and does not provide a capacity reservation.

Though there is no price difference between zonal and regional Reserved Instances, but there are features and benefits tradeoffs. Regional Reserved Instances offer more flexibility with the following attributes:

  • Availability Zone flexibility: discount applies to an instance in any Availability Zone in the region.
  • Instance size flexibility: discount applies to instances regardless of size but must be within the same instance family. This is only available for Linux/Unix Reserved Instances with a default tenancy.

Reserved Instance Pricing

For the purposes of comparison, we will look at the pricing of an m3.medium instance sold by AWS (pricing valid for July 2017 as per the AWS website). The same instance we have been using for the last few years.

Payment Option Upfront Effective Hourly Rate** Hourly Rate Monthly Cost* Term Costs*** On-Demand Hourly Savings over On-Demand
No Upfront $0 $0.048 $0.048 $35.04 $420 $0.067 28%
Partial Upfront $211 $0.041 $0.017 $12.41 $360 39%
All Upfront $353 $0.040 $0.000 $0 $0 40%
Payment Option Upfront Effective Hourly Rate** Hourly Rate Monthly Cost* Term Costs*** On-Demand Hourly Savings over On-Demand
Partial Upfront $337 $0.028 $0.015 $10.95 $731 $0.067 59%
All Upfront $687 $0.026 $0.000 $0 $0 61%
Payment Option Upfront Effective Hourly Rate** Hourly Rate Monthly Cost* Term Costs*** On-Demand Hourly Savings over On-Demand
No Upfront $0 $0.043 $0.043 $31.54 $1130 $0.067 36%
Partial Upfront $570 $0.037 $0.015 $11.17 $964 45%
All Upfront $953 $0.036 $0.000 $0 $0 46%

* Monthly cost over the course of the Reserved Instance term (based on a 365-day year). For each month, the monthly payment will equal the number of hours in a month multiplied by the hourly rate.

**Effective hourly pricing shows the amortized hourly cost of the instance (including any upfront /partial payment spreads over each hour of the Reserved Instance term).

*** Total cost of a reserved instance (including any upfront / partial payments as well as the total monthly costs over the year).