AWS Reservations, Savings Plans, and Spot Instances

AWS Reservations, Savings Plans, and Spot Instances

AWS / Azure / GCP Published on 6 mins Last updated

AWS can be expensive, but it sure doesn't have to be!

When discussing cloud environments with customers, I often hear that AWS seems expensive. In most cases, this is because they’re not fully aware of the cost-saving best practices they should follow. Amazon offers many tools to help keep costs down and is always working to improve on these. One such recent improvement is the new "AWS Savings Plans", but more on that later.

Free Usage Tier

For those new to AWS, Amazon offers the "Free usage tier" to allow a certain amount of experimentation within its cloud.

This is great! It allows 750 hours of "t2.micro" usage, among other things, allowing you to get to grips with how AWS works.

https://aws.amazon.com/free/

This feature can even help when you want to test out some products from the marketplace, such as our Loadbalancer.org Enterprise appliance.

https://aws.amazon.com/marketplace/

For example, you can deploy our BYOL image from the marketplace, which allows 30 days of unlimited usage of our software. Because it can be deployed onto a "t2.micro", you can get the instance cost for free giving you 30 days to learn how to deploy and support our product in AWS at no charge.

Reserved Instances (RIs)

Reserved instances can offer up to 75% off your instance costs compared to on-demand instances. They come in three flavors but we will only discuss the two main ones here: “Standard” and “Convertible”. Standard allows you to reserve a specific instance over a term of 1 to 3 years - best suited when you have a solid idea of what you need to use over that period.

https://aws.amazon.com/ec2/pricing/reserved-instances/

The downside of a standard reserved instance is that it cannot be scaled up or down, so if you find it’s no longer required then you would need to consider selling it on using the marketplace. That’s not ideal, which is why Amazon also offers Convertible. While they can’t be scaled down, Convertible instances can be scaled up should you outgrow their usage. This offers fewer savings (typically around 54%) but offers added flexibility.

It is very important to consider which instance types are supported by your marketplace purchases. Check out the tables provided in the marketplace and make sure that they match your RI choices.

Example from the Loadbalancer.org Ent Max appliance:

https://aws.amazon.com/marketplace/pp/B00S05UW50

EC2 Instance type CPU/Memory Software/hr EC2/hr Total/hr
t2.micro 1 vCPUs (2h 24m burst)/1.0GiB $0.15 $0.012 $0.162
t2.small 1 vCPUs (4h 48m burst)/2.0GiB $0.15 $0.023 $0.173
t2.medium Vendor Recommended 2 vCPUs (4h 48m burst)/4.0GiB $0.55 $0.046 $0.596
t3.medium 2 vCPUs (4h 48m burst)/4.0GiB $0.55 $0.042 $0.592
m3.medium 1 vCPUs/3.75GiB $0.55 $0.067 $0.617
m5.large 2 vCPUs/8.0GiB $0.55 $0.096 $0.646
c4.large 2 vCPUs/3.75GiB $0.55 $0.10 $0.65
c4.xlarge 4 vCPUs/7.5GiB $0.55 $0.199 $0.749
c4.2xlarge 8 vCPUs/15.0GiB $0.55 $0.398 $0.948
c4.8xlarge 36 vCPUs/60.0GiB $0.55 $1.591 $2.141
c5.large 2 vCPUs/4.0GiB $0.55 $0.085 $0.635
c5.xlarge 4 vCPUs/8.0GiB $0.55 $0.17 $0.72
c5.2xlarge 8 vCPUs/16.0GiB $0.55 $0.34 $0.89
c5.9xlarge 36 vCPUs/72.0GiB $0.55 $1.53 $2.08
c5.18xlarge 72 vCPUs/144.0GiB $0.55 $3.06 $3.61

Big News: the new AWS savings plans!

I think anyone using AWS in earnest will be glad to see the new savings plan feature. It’s much more flexible than only using traditional reserved instances but offers many of the same benefits, and, more importantly, savings. So how much can we save with this method? Up to 72%(!!), which is fantastic. This new method is flexible, offers great savings, and is relatively simple to understand when used with the cost explorer.

https://www.aws.amazon.com/savingsplans/

Simplicity is key here; commit to a consistent spend, say $10 an hour, and then receive discounts up to that amount. Savings will be automatically applied as your usage grows, making it so much easier to get the best savings all of the time. Once you go beyond your savings plan you’ll simply go back to being charged at the default rate for that additional usage. Thank you Amazon!

EC2 Instance Savings Plan

  • Up to 72% off (similar discount to standard RIs) on a selected instance family (e.g. C5 or M5) in a specific AWS region.
  • Flexible size (e.g. move from m5.xl to m5.4xl),
  • Flexible OS (change between Linux and Windows)
  • Flexible tenancy (default or dedicated)

Compute Savings Plan

  • Up to 66% (similar discount to convertible RIs) and flexible between family (move between C5 and M5)
  • Move between regions (change from EU (Ireland) to EU (London))
  • Flexible size (e.g. move from m5.xl to m5.4xl)
  • Flexible OS (change between Linux and Windows)
  • Flexible tenancy (default or dedicated)
  • Applies to both EC2 and Fargate!

More on this by the awesome Cloudonauts available here:

https://cloudonaut.io/reduce-your-aws-bill-with-savings-plans/

Spot instances

Spot instances are fantastic, a little scary to a traditional IT guy like myself, but I can certainly see the benefits. The idea is to make use of unused AWS infrastructure to be able to offer compute resources that are currently not in use at a massively reduced cost. For example, let’s say we have a workload that can run out of normal hours once a week. Maybe it's a data crunching or image resizing application, for example. Spot instances can help you perform occasional tasks like these while offering up to 90% savings over on-demand instances.

https://aws.amazon.com/ec2/spot/

So, where’s the catch? Well, instances can be terminated when they are required for other tasks that can earn more money, such as someone requesting an on-demand EC2 instance. As such, you would not want to be handling your critical workloads here, such as services that have SLA's or tasks that cannot handle an instance being terminated without warning.

Relational Database Service (RDS)

RDS is another place where you need to understand the difference between offerings and their associated costs. Amazon's Aurora is AMAZING! But it’s anywhere from 20% to 100% more expensive than using a simpler MySQL/PostgreSQL RDS instance. It offers better performance and a distributed approach, so you certainly get a lot for that extra cost, but do you need it?

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html

Other notable areas to mention…

New T3 and T3a instances

Let’s look at the relatively new T3 based instances. I think these are pretty great! They’re just enough better than the previous generation to make it worth the upgrade. Also, the new AMD option (T3a) is an interesting offering: it’s a slightly cheaper price point without any noticeable loss in performance.

https://aws.amazon.com/ec2/instance-types/t3/

However, the biggest change we should be aware of is that the “Unlimited” mode is enabled by default on all T3 instances, while it was just an option for T2 instances. So what is unlimited mode… Well, normally with “Burst” mode instances we have CPU credits. Each credit allows 1 minute of 100% CPU usage. Instances that use burstable CPUs will give you an example of the length of time that the CPU can be fully utilized. For example, our trusty “t2.medium” mentioned in the table above offers “4h 48m” of burstable usage at 100% utilization. The unlimited mode will allow it to go above the instance included supply of CPU credits with the hope that this will level out later. However, if it doesn’t level out it will charge you. Some people will prefer this behavior, but if keeping a close eye on the AWS budget is your thing then maybe you’d be better off selecting more appropriately sized instances, especially if you find that you keep dipping into the Unlimited CPU credits too often.    

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode.html          

It is worth noting that while the t3.nano instance could end up costing you as much as 18 times it’s normal hourly rate! Although most of the instance types have a more sober maximum of 2 to 3 times their typical hourly rate. For a good read on that subject with a proper breakdown check out the following article:

https://cloudsoft.io/the-ultimate-guide-to-aws-t3-instances-pricing/                        

Lightsail

Lightsail gets a mention here because it offers a "fixed" rate VPS service, which is very open about costs upfront. What I like about this is that you will know exactly what it will cost you, as opposed to EC2 where I'll need to calculate costs based on usage.

https://aws.amazon.com/s/lp/lightsail-vs-ec2/

Buckets for hosting

Do you need an EC2 instance? You can actually use S3 storage for web hosting! In conjunction with Cloudfront, this is extremely useful and massively cost effective! It’s great if you only have a static HTML 5 website, for example.

https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html

Conclusion

I think the addition of the new savings plans shows a commitment from Amazon to listen to and help their customers to get the most out of AWS without breaking the bank. This is great for projects that don't benefit quite as much from the existing Reserved Instance options. RI can also be very confusing and a pig to manage, so I genuinely think savings plans will help.

The other thing to consider is that, with Amazon offering savings potentially reaching 90% when compared to on-demand instances, AWS doesn't need to be expensive if you manage your account properly.