AWS EC2 instance pricing always goes down – or does it? Explaining EC2 pricing, and debunking cloud pricing myths.

EC2 instance pricing – A beginner’s guide (part 1)

AWS’ pioneering Elastic Compute Cloud, or EC2, has very complex pricing.  This EC2 instance pricing guide is intended to help cloud buyer’s make sense of the major topics.

Part 1

  • Interruptibility – On-demand “OD” vs Spot Instances
  • Instance Family – m3 vs r3 vs c3
  • Instance Size – m3.medium vs m3.large vs m3.xlarge

Part 2

  • Price Plans – On-demand vs Committed (i.e. Reserved Instances , or “RIs”)
  • Finance Choices – Nothing Upfront, Partial Upfront or All Upfront
  • Optionality – options to burst CPU (t2 family), options to switch instance family for an RI (convertible RIs)

Interruptibility: On Demand vs Spot Instances

On-demand Instance = Firm Capacity.

Spot Instance = Interruptible Capacity.

Before you even get started in the public cloud, it is crucial to realise that public cloud servers, and that includes AWS’ EC2 instances, may well require rebooting more often than a private cloud user might be used to.  That being said, AWS is not supposed to deliberately interrupt your usage of an “On-Demand” type instance.  It is what a commodity trader would call “firm capacity”.  The same is not true of Spot Instances, which are deliberately priced by Amazon at a large discount to on-demand, most of the time, because AWS retains the option to interrupt your usage.  i.e. it is “interruptible capacity”.  Spot instances require a lot more expertise to manage than on-demand instances, hence the need for the discount to encourage usage of what to AWS is a capacity planning capability.

The rest of this article assumes use of on-demand type instances, NOT spot instances.

Instance Family

Right-size instances to get the right instance family

Instances are a bundle of 3 underlying components: CPU, RAM and Storage (either HDD or SSD).  AWS bundles together these components in different proportions for each instance family.  The general purpose m1, m2, m3 and m4 instance families have fairly well-balanced proportions, whereas the CPU-intensive c1, c2, c3 and c4 family have lots of CPU.  Similarly, there are RAM-intensive instance families (r3, r4) and storage-intensive instance families (i2, i3). The numbering system for the instance family relates to the “instance generation” which is largely down to how recent the processors are in the CPU.

Pricing is wildly different for these different families, and AWS’ price drops are applied in a largely consistent, but not straightforward manner.  Price drops are only largely consistent, because there are periodically outlying anomalous prices, particularly when new instance types or families are introduced.  It is also worth noting that some instance families have never benefited from a price drop.

Strategic Blue’s “Cloud Experts” i.e. our certified AWS solutions architects, strongly recommend “right-sizing” instances prior to making any form of commitment.  Doing so leverages the immense benefit of the public cloud in that you can very easily spin up an instance, try it out for a few hours or days, and then turn it off, and only pay for what you use.  The chart below makes it pretty clear that provisioning an i2.xlarge if an m3.xlarge would suffice, is a costly mistake if left running persistently.

Instance Size

Right-size instances to get the right instance type

AWS’ instances come in “t-shirt sizes”. Within any given instance family, you can choose from a subset of nano, micro, small, medium, large, xlarge, 2xlarge, 4xlarge, 8xlarge, 9xlarge, 10xlarge, 12xlarge, 16xlarge, 18xlarge and even 32xlarge.  The amount of each of all 3 components (CPU, RAM and HDD/SDD) doubles (with some small deviations, which only matter for the smaller instances) as you go up the instance sizes, except for 9xlarge, 10xlarge, 12xlarge and 18xlarge which fit in between in the (fairly) obvious way.

Normally, the price also scales with size, however there are sometimes outlying anomalous prices, such as when the r3 family was introduced in April 2014, as shown below.  When the r3 family was introduced, r3 instances were introduced at a huge premium in comparison with other instance families.  This may have been a deliberate attempt to manage demand in all the new regions (US-East-1, US-West-1, US-West-2, EU-West-1, AP-Southeast-1, AP-Southeast-2 and AP-Northeast-1).  However the fact that On-Demand pricing did not double with doubled CPU, RAM and SSD at introduction, but did afterwards, and did for both 1 year and 3 year Reserved Instance pricing, indicates that something was clearly amiss!

As for the instance family, Strategic Blue’s “Cloud Experts” i.e. our certified AWS solutions architects, strongly recommend “right-sizing” instances, both family AND size, prior to making any form of commitment, except where size flexibility applies (see below).  Doing so leverages the immense benefit of the public cloud in that you can very easily spin up an instance, try it out for a few hours or days, and then turn it off, and only pay for what you use.  It can be far more cost effective to run a large number of smaller instances than a small number of large instances, so long as you provision instances with code, not manually.

In this Part 1 of our Beginner’s Guide to EC2 pricing, we’ve covered:

  • Interruptibility – On-demand “OD” vs Spot Instances
  • Instance Family – m3 vs r3 vs c3
  • Instance Size – m3.medium vs m3.large vs m3.xlarge

In Part 2, we will cover:

  • Price Plans – On-demand vs Committed (i.e. Reserved Instances , or “RIs”)
  • Finance Choices – Nothing Upfront, Partial Upfront or All Upfront
  • Optionality – options to burst CPU (t2 family), options to switch instance family for an RI (convertible RIs)

If you’d like access to our historical AWS pricing, please get in touch.