AWS have just announced Savings Plans for AWS Compute Services. Now that might leave you scratching your head, if you’re already familiar with AWS Reserved Instances, as these are already, in all but name, Savings Plans for EC2 compute services. The capacity reservations, which was presumably the original motivation for the term “Reserved Instances”, were unbundled long ago, and can now be purchased for on-demand usage.
So first, the move towards less confusing terminology is absolutely welcome. Further, the fact that these are being introduced alongside Reserved Instances, rather than immediately replacing them is also welcome, as it means that nothing should break. Whatever you are using now for cost management should keep working as normal.
So what is different about Savings Plans for AWS Compute Services compared to Reserved Instances? If they are actually the same, why not just announce a new name? Well, there are differences…there is more flexibility. In case you aren’t totally familiar with your history of AWS pricing models, let’s recap.
There are on-demand instances – this is the most expensive, but you can turn it off at a moment’s notice and stop paying. AWS won’t deliberately interrupt your use of on-demand.
There are also spot instances, known elsewhere as “preemptible”. These are what we would term “interruptible capacity”, because AWS reserve the right to turn off those instances – but give you a big discount to compensate for the potential inconvenience.
All the Reserved Instance types are pricing plans (or “savings plans if you will”) for on-demand instances, where you will not be interrupted.
The original Reserved Instance, later termed a “Medium Utilization” Reserved Instance, involved a prepayment to have the option to consume instances at a pre-agreed lower price. These options contracts are no longer available. Nor are the “Light Utilization” Reserved Instances that had the same structure but smaller prepayment for a small discount. When Light Utilization was introduced, AWS also introduced Heavy Utilization…this was not an option contract, but rather a forward contract. All Reserved Instances available today, and for the last few years, are Heavy Utilization, you are committing to use, or at least pay for, whatever the Reserved Instance applies to, for every hour during its term.
When Light and Medium Utilization were discontinued, AWS simultaneously introduced two additional payment profiles for Heavy Utilization Reserved Instances. The original payment profile became known as “Partial Upfront”, and “Nothing Upfront” and “All Upfront” were introduced, with deeper discounts the more you prepaid, but crucially the commitment was identical. Originally Nothing Upfront was only available for one year terms, but was later introduced for three year Reserved Instances (for almost everything).
All these Reserved Instances used to be highly specific. Originally, the Reserved Instance had to match the exact combination of Tenancy, Availability Zone, Operating System, Instance Family and Instance Size. Any mistakes in buying the wrong Reserved Instance, or in turning on the right On-Demand Instance resulted in paying once at the maximum on-demand rate, and a second time for an unused hour of Reserved Instance (albeit at a discounted rate). The specificity did have a reason, however – it helped AWS with their capacity planning, minimising the chances of too much idle capacity wasting money, electricity and associated carbon emissions.
Then the requirement to match Reserved Instance to the exact Availability Zone was dropped, just the right Region. This was called Regional Benefit, but a better term might have been “Availability Zone Flexibility”. There was no pricing adjustment for this, presumably as AWS had grown to a scale that managing capacity at a regional level remained hard, but not at a data-centre by data-centre level with an AWS Region.
Then a further level of specificity was removed – with “Instance Size Flexibility”, you had to match the Instance Family, but not the Size. This introduction was also very helpful, albeit thoroughly confusing. The confusion centred around the counterintuitive, but a very positive feature that you could buy m5.8xlarge Reserved Instances and use them to reduce the cost of m5.small instances, for example. I repeat my earlier point that by making the Reserved Instances less specific in how they match against usage, one would assume that this makes capacity planning harder – but not for this particular change, however, as I suspect AWS can handle the capacity management using its provisioning software. So this change, while confusing was absolutely positive change all round.
Next the Convertible Reserved Instance was introduced, and all the Reserved Instances described above were termed “Standard Reserved Instances”. Convertible Reserved Instances allowed you to convert Reserved Instances from one instance family / operating system to another, but still within a specific region. Unlike Availability Zone Flexibility and Size Flexibility, this had to be done consciously and manually by the owner of the Reserved Instance, so getting the most out of them involves “chasing the usage”. Convertible Reserved Instances are also priced at a significant premium to the Standard Reserved Instances, and are not allowed to be offered for sale in the Reserved Instance Marketplace (at least not at the time of writing).
So to summarise the 13 price structures to choose between as things stand before the introduction of Savings Plans, just for non-interruptible on-demand type instances, starting with (typically) the most expensive (and most flexible) and working down in price and flexibility.
- 1 Year Nothing Upfront Convertible Reserved Instances
- 1 Year Partial Upfront Convertible Reserved Instances
- 1 Year All Upfront Convertible Reserved Instances
- 1 Year Nothing Upfront Standard Reserved Instances
- 1 Year Partial Upfront Standard Reserved Instances
- 1 Year All Upfront Standard Reserved Instances
- 3 Year Nothing Upfront Convertible Reserved Instances
- 3 Year Partial Upfront Convertible Reserved Instances
- 3 Year All Upfront Convertible Reserved Instances
- 3 Year Nothing Upfront Standard Reserved Instances
- 3 Year Partial Upfront Standard Reserved Instances
- 3 Year All Upfront Standard Reserved Instances
Remember that the discounts between each of these 13 prices structures is different for every instance family, for every operating system, for every region, and those discounts do change from time to time (and not all at once, and not consistently).
So, this brings us up to date, and working out where Savings Plans for AWS Compute Services fit in. First we need to look at the specificity of the commitment. This is a dollar-per-hour commitment for EC2 instance usage (whether provisioned in EC2, or via EMR, ECS, EKS or Fargate), anywhere in the world (except China), for every hour of the usual one or three year terms. As with Reserved Instances, there is a choice of the usual three payment plans – Nothing Upfront, Partial Upfront or All Upfront.
The blog announcement says that Savings Plans offer the same discounts as Reserved Instances – which sounds great, but the same discounts as Convertible, or the same discounts as Standard? Well to address that, there are two types of Savings Plan – Compute Savings Plans and EC2 Instance Savings Plans. These map to whether your dollar-per-hour spend commitment is specific to an instance family or not. In other words, EC2 Instance Savings Plans are Standard Reserved Instances with Operating System Flexibility thrown in (apparently for free, so no price difference), and Compute Savings Plans are Convertible Reserved Instances with Regional Flexibility thrown in at the same price, but without the need to make the modifications to chase the usage.
Overall, we’re very excited to see how we can help our customers save more money on their cloud usage with these new updates. To find out more information about saving money on your cloud spend, speak to one of our experts today [email protected]