AWS Cost Optimization Strategies
Learn more about the best practices, processes, and tools you need to implement a strong cost management practice on AWS.
This is a guest blog post by Randy Hamilton (@RandyHamilton) who is a technology marketing consultant for Mission.
When managed properly, Amazon Web Services (AWS) Reserved Instances can be the most significant cost savings tool Amazon provides, with discounts of up to 75% off of on-demand instance pricing. Amazon EC2 computing capacity can be reserved for 1 or 3 years in a specific region and availability zone for a specific platform– the longer the commitment, the greater the cost savings. Amazon does however require you to pay a monthly charge over the term of the reserved instances, whether you use the instance or not. But keep in mind– if your reserved instances are il-managed, you might just end up wasting money on unused reserved instances.
The following is a list of 10 invaluable tips and tricks that can help you not only optimize your purchase of reserved instances, but will help you avoid making costly mistakes.
Don’t purchase reservations until you get some solid data on your instance utilization. You’ll need to analyze your past and present cloud usage which usually takes 2-3 months to collect. Use the data to make sure to purchase reservations that fit your actual needs– not instances that you will have to resize later. Also be certain that whatever instances you end up reserving or purchasing can be used for the entire year.
Don’t rush into this. You should have a larger strategy.
2. Review Utilization vs. Instance Size
In order to optimize your AWS utilization you will need to keep a close eye on both your CPU and RAM utilization of your instances. Over time, system utilization can change due to changes in your workload. Be sure to check instance utilization at least quarterly and make any necessary changes.
3. Buy big
When purchasing reservations it’s better to purchase larger reservations and split them into smaller ones rather than purchasing smaller reservations on an as-needed basis.
For example, if you need four c3.large reservations, you should purchase one c3.2xlarge instance and then break it up into four c3.large instances. This will give you the flexibility to combine them again if necessary. If instead you purchase four c3.large instances at different times, you will not be able to combine them later.
*Applies only to Linux/UNIX. Other OS types like RHEL and Windows cannot be resized.
4. Favor a specific region
While it’s not always the case, reservations are generally not transferable across regions. You’ll typically have more options if you stay in one region when moving reservations around.
5. Not all reservations are the same
When purchasing reservations, it’s important to know that not all reservations are the same. It is important to know which reservations have a higher ROI than others.
For example, Linux reservations have a higher ROI and provide greater configuration options, therefore one should purchase LINUX/UNIX reservations first and then Windows and then RHEL in that order. The recommended order when purchasing reservations is R3, M4, C3, M3 and then C4.
6. Cash, partial or no upfront?
For most instance types, partial upfronts are the way to go as they provide the best balance between cash up front and a pricing discount. Partial upfronts are also more readily available on the AWS Marketplace should your usage needs change.
For t2 instance types it is best to purchase ‘no upfront’ reservations. The cash up front for a partial upfront reservation doesn’t justify the overall savings. For example, with a t2.medium, you don’t actually start saving any money until day 285 of your reservation. Also, t2 reserved instances are not easily sold on the AWS Marketplace.
7. Know thy marketplace
It’s important to thoroughly understand the ins and outs of the AWS Marketplace. For example, Red Hat Enterprise Linux (RHEL) Reserved Instances provide the smallest discount and are extremely difficult to resell in the AWS Marketplace. It’s also helpful to know that reservations with no upfront can be more difficult to sell on the AWS Marketplace if Amazon decides to reduce the on-demand pricing. Why would someone purchase your no upfront from the Marketplace if they can purchase it at a lower on-demand price?
8. Not all regions are the same
Discounts for reservations may vary across regions making it more cost-effective to purchase different reservation types based on which region that instance is in. Companies that operate across multiple regions may find it advantageous to favor a particular region with their reservation budget.
9. Upgrade before you buy
Newer Amazon instance generations are generally cheaper than older generations. It’s a good practice to always upgrade your instances to newer generations before purchasing those reservations.
For example, an m1.large partial upfront reservation in US-East-1 will cost you $493 with an effective hourly rate of $0.097, whereas an m3.large partial upfront reservation in US-East-1 will cost you $421 with an effective hourly rate of $0.083. Why would you purchase an m1.large reservation when you can upgrade to a faster server for less?
Keep in mind that when renewing existing reservations on older generation instances it may make sense to upgrade those instances to the latest instance and then purchase reservations for them.
10. Create a monthly budget
Setting a monthly Reserved Instance budget and purchasing Reserved Instances by discount priority is the key to long term cost savings. Think ‘dollar cost averaging (DCA).’ DCA is an investment technique where a buyer purchases more of something when prices are low and less when prices are high. By using this method you can avoid making large cash outlays, effectively lowering your average share cost over time and increasing your opportunity to profit. Keep in mind that AWS pricing changes frequently. Spreading your budget over a longer time period will mean that you may be able to take advantage of periodic discounts.
Mission is providing all Amazon Web Services pricing information in a convenient Excel spreadsheet free of charge. Curious about Amazon EC2 and RDS pricing for every Region? Download our AWS pricing spreadsheet calculator to model, forecast and optimize your AWS expenditure and budgets!