AWS Cost Optimization Strategies
Learn more about the best practices, processes, and tools you need to implement a strong cost management practice on AWS.
Hey everyone, Eric Ethridge here from Mission Cloud. Today I’d like to hit the high points on the Savings Plan offering(s) from AWS. Overall this is a great way to have some forecastability in your monthly recurring compute expenses while cutting overall capital expenditures (for that same infrastructure). It’s really a win-win, with a few caveats. Without further ado, let’s dive right in.
This might sound slightly redundant: “it’s a plan that saves you money.” Which - it is, but there is more to it than just that. Coupons can save you money, this is more of a way to plan for the growth of your business.
A savings plan is a pricing model with inherent flexibility that is able to help reduce costs across a multitude of AWS compute usage (including Fargate, Lambda, and EC2). These plans offer significant cost-reduction vs the normal ‘on-demand’ pricing model in AWS compute services.
With AWS on-demand pricing, you pay only for what you use, not a second more or second less (or minute, depending on the computer platform). While this is great, it doesn’t offer a lot of economics for saving on steady-state workloads (think of your always-on customer-facing assets).
This is where the two types of AWS savings plans, the EC2 Instance Savings & (confusingly named) Compute Savings Plans come in. They provide reduced costs in exchange for commitment (per hour) of compute usage. For example, if you commit to $100 an hour of compute usage (such as EC2 M5) your compute usage, for the first $100 is charged at the savings plan rate you committed to. Anything over that $100 is charged at the on demand rate.
For example: You agree to $1 an hour of compute commitment. You are using (notionally) an instance type that costs $1 an hour to run at the discount rate (and $2 at the on demand rate). The entire month, you run 1 server. This server is charged at $1 an hour (so $24 a day or ~$720 a month). You have fulfilled your commitment.
But, for month two, somehow, your server gets shut off for 2 weeks by one of your less talented folks, and you only run it 360 hours (or $360 worth of time). Your bill will still be $720 since you committed to $1 an hour of compute usage.
Now, in month three, you go gangbusters, spin up a second compute asset and start just rolling in showers of internet dollars. Well, at the end of the month, you get a shock:
Server 1 - $720 (your agreed rate)
Server 2 - $1440 (the on demand rate)
Here we come to the second part of savings plans. The savings is only for capacity you commit to. If you use more you pay the additional at standard rates, if you use less - well you still pay for the entire pizza, as it were.
There are two types of compute savings plans: Compute Savings Plans and EC2 Instance Savings Plans.
The Compute Savings Plans are incredibly flexible - automatically applying savings to EC2 instance usage (regardless of family, size, AZ, region, OS, tenancy, creed, height, weight, - etc). You can shift between instance families (T to M) or OS’s (Linux to Windows), move a workload to a new region - or even move a workload to Fargate or Lambda (from EC2) and you will pay the savings plan price (a cost savings of up to 66%).
The EC2 Savings Plans are a little less flexible, but give you the most savings. You commit to the usage of individual instance families in a region (T3 in Ohio, for example) and regardless of instance size, AZ, OS, or tenancy you will pay the savings plan price. You cannot convert between regions or instance families (OH to VA or T3 to C5, ie.)
Both savings plans can offer more of a discount (closer to that “up to” number) the longer you are willing to commit to usage, and the more you are willing to pay up front. The options for commitment are 1 to 3 years, with some, all, or none up front.
For example: the ubiquitous AWS M5.Large instance (hourly)(linux) (EC2 Instance Plans)
As you can see, the removal of flexibility (to switch instance families, and regions, and services) carries with it a cost (in lost savings) but still is far more attractive than on-demand pricing.
AWS Savings Plans were designed to help users save on forecastable, steady-state workloads (not to repeat myself..) in exchange for commitment. I know no one likes commitment, but let’s look back at your production servers. Are they always humming along, ready to … produce things? Most likely, yes.
On the opposite side, are you a startup and know your bare minimums to run your platform on AWS? Savings plans can help you as well, as long as you are willing to commit to X usage. However, beyond the financial aspect, there is intrinsic value that comes with both the Compute and EC2 Instance savings plans.
These agreements let you have flexibility in usage (while maintaining your savings). Developers have more latitude to add new features while not fearing about hardware needs causing huge (unexpected) cost overruns. Managers can more accurately forecast expenditure growth year over year, and accountants can stop struggling to manage constant queries of “is this covered under our existing agreement” or “do we have a Regional Reserved Instance or standard?” You are saving time, which also saves money.
But, when laid bare - there are two core reasons behind “why savings plans”. First: everyone likes saving money. I like saving money, and I like helping Mission’s customer’s save money. If you don’t like saving money, I have several places I can recommend you to shop.
Now, while you're planning to save money (not cutting costs) you will come to my second point: you are NOT planning to fail in the next year. When it comes to long term spend, this is an important mindset because AWS offers up significant savings for committing to a certain amount of usage. If you are already running on AWS - you are likely not planning on migrating away (an expensive proposition) so savings plans make sense.
If you are launching on AWS or looking to move workloads there it is highly unlikely you will continuously migrate around cloud providers every two to three months. Again, committing to (your estimated) minimum usage makes sense financially. Even if it is to what you would consider the bare minimum to run your business month to month. That way your baseline always has savings tacked on to it.
Finally, when compared to Reserved Instances, Compute Savings plans are less legally restrictive and arduous to enact. The compute savings are just about as strong, and assets are far more flexible - which is what small and medium businesses need.
This wasn’t meant to be an end all on how AWS EC2 Instance and AWS Compute Savings Plans work. If you are curious about how these programs from AWS can help drive your cloud success (fiscal and otherwise) please contact Mission.
Take immediate action to lower AWS cost today with the Mission Instant Discount Program (IDP).