AWS Cost Saving Steps

Complete FinOps Guide
calendar September 3, 2021
Chapter 3.2 AWS Cost Saving Steps

When it comes to cost saving steps, discounts are one of the first tools people look for—and while they are a great way to save on your cloud resource consumption, they come at a cost: the commitment to purchasing a certain amount of resources over a certain period of time. This caveat poses its own unique challenge of maximizing the value of your discount commitments to ensure they aren’t wasted.

In this article, we’ll do a quick overview of cloud saving concepts, followed by our list of the top 8 best practices for cloud cost savings focused on AWS as an example. This article is great for FinOps practitioners looking to avoid (or mitigate) any wasteful cloud-purchasing mistakes that can occur while chasing cost optimization through discounts.

Types of Cost Saving Discounts

There are four main approaches to negotiate a cloud resource discount:

  1. Committing to a specific service volume usage over time
  2. Agreeing to less flexibility in your service commitment
  3. Consenting to price and availability fluctuations of a spot market
  4. Signing up for an aggregated spending amount over time

All cloud providers offer discounts in exchange for your commitment to using a specific type of service over one or three years. For example, AWS discounts up to 72% in exchange for commitments in the form of a reservation contract or a savings plan contract (which is newer and offers more flexibility in the service configuration).

The offered discounts can increase when you are willing to agree to a more specific resource commitment, such as a specific:

Configuration
e.g., an EC2 of the type and size C4.large
Operating System
Linux vs. Windows
Region
e.g., Virginia vs. Ohio
Availability Zone
e.g., one of the AWS data centers in a region

AWS also negotiates Private Pricing Agreements (PPA) to obtain discounts in exchange for a commitment to transferring a certain amount of data between regions or to the internet each month over the course of a year.

In lieu of committing to a time and volume, AWS customers can get up to 90% in discounts by purchasing EC2s on the AWS spot market. Spot instances are reserved capacity by other customers but unused at the moment. However, they can be taken away with a 2-minute notice and go to a higher bidder.

Finally, cloud providers offer discounts in exchange for a commitment to a dollar-value in annual spending known as the Enterprise Discount Program (EDP). This is the simplest form of discount typically offered to customers who spend at least hundreds of thousands of dollars each year.

Machine learning for cloud resource optimization

LEARN MORE
S3 icon
Use machine-learning algorithms to configure cloud resources based on workload patterns
S3 icon
Let algorithms select the optimal cloud configuration from thousands of catalog options
S3 icon
Integrate to ITSM and CI/CD pipelines to provide transparency and automation

Best Practices for Cost Savings via Purchasing Discounts

Below is our list of the top 8 recommended FinOps best practices for purchasing discounts without being exposed to financial risks that would cost you more than you save:

  1. Optimize your capacity usage before committing to a volume
  2. Don’t target a 100% reservation coverage
  3. Use Savings Plan instead of reservations
  4. Buy staggering contracts
  5. Don’t rule out spot instances for cost savings
  6. Cost Saving is Available for RDS, Elasticache, Redshift, and DynamoDB
  7. Commit to a minimum level of data transfer
  8. Discuss an EDP with your account manager

1. Optimize Existing Capacity Usage Before Committing to a Volume

A typical cloud environment contains both unused and underutilized resources. If gone unchecked, these resources accumulate over weeks and months. For example, your engineering team may have oversized EC2s (in terms of CPU, memory, or I/O usage), unattached and unused storage systems, or simply resources that were not terminated when a certain project ended.

FinOps practitioners should task engineering teams with creating a list of over-provisioned and idle resources, at least six months before purchasing either reservation or savings plan contracts. Only after the excess capacity waste has been eliminated is the inventory ready for a proper analysis of annual purchase commitment needs.

2. Don’t Aim for 100% Reservation Coverage

Reservation coverage is a measurement calculated by determining what percentage of resources across your entire cloud environment are benefitting from discounts. And with up to 72% discounts on the table, it’s tempting to try and push that metric to 100%. After all, any remaining “uncovered” resources would be charged on-demand, based on the cloud provider’s standard retail pricing. However, such a high rate of coverage (especially early on) can backfire if business needs dramatically change or existing resource consumption is poorly understood.

Instead, aim for a reservation coverage of 60% to 80% to give you enough flexibility to address any future changes or revelations regarding your application infrastructure and cloud resource portfolio.

Pick the ideal instance type for your workload using an ML-powered visual catalog map

See how it works

3. Use Savings Plans Instead of Reservations

Savings plans were introduced by AWS in November 2019 and are available in two types:

Compute
Applies to EC2 as well as both Lambda and Fargate, for up to 66% discount
EC2
Applies to EC2s, with up to 72% discount. This purchasing option allows flexible usage across different AWS services (e.g., EC2 or Lambda), families (e.g., storage-intensive vs. memory-intensive), types (e.g., c4 vs. m5), sizes (e.g., c4.medium vs. c4.large), operating systems (e.g., Linux vs. Windows), and regions (e.g., Oregon vs. Ireland)

We have dedicated a chapter in this guide to AWS savings plans and how they compare to reserved instances (RIs). We recommend that you read it to understand the tradeoffs between the flexibility and discounts.

Savings plans were created to address customer complaints about the logistical complexity of exchanging Convertible Reserved Instances (RIs) across types, sizes, or regions. Convertible RIs require a person to invest time reconciling, planning and manually executing the RI exchange which is timing consuming and a major hindrance at scale. The conversion also incurs additional transaction costs which are not appreciated. Even though convertible RIs were a step in the right direction, they resulted in a step in the evolution of the AWS pricing model.

When it comes to balancing savings opportunities with flexibility, Savings Plans are the best choice—especially since application architectures are shifting rapidly from being EC2-based to being container-based (as offered by the AWS EKS service) and serverless (Lambda).

Free Proof of Concept implementation if you run more than 5,000 containers

REQUEST SESSION

4. Buy Staggering Contracts

One to three years is a long time to be committed to a cloud provider, even with the flexibility of Savings Plans.

To protect against the unforeseen, stagger your purchasing commitments. For example, instead of committing to 80% of your inventory at one time, purchase 25% each quarter. This allows you to respond to changes as they arise by adjusting your commitments more frequently instead of having to wait an entire year to course-correct.

This portfolio strategy is not new. In fact, this strategy is used in finance for purchasing government or corporate bonds. The diagram below shows the concept of bond laddering, where bonds with different maturity durations are purchased over time to protect against an unforeseen change in interest rates.

Stagger your AWS contracts like you would use a bond ladder
Stagger your AWS contracts similar to how you would manage a bond ladder

5. Don’t Rule Out Spot Instances for Cost Saving

Committing to a usage volume is not the only way to obtain cloud cost saving; the spot instances offer excess reservations by other clients at discounts up to 90%. In 2018, AWS introduced more stable spot pricing thereby avoiding the extreme price fluctuations that occurred occasionally in prior years. The only major remaining downside being that your instance may be terminated after a 2-minute notice. Even though AWS offers various strategies to counter this risk, including an extended interruption notification period when possible, spot instances should be avoided for mission-critical applications. Instead, use them for your development or testing environments so you can save big without taking on any risk of disrupting production applications and services. Once you gain experience with spot instances and learn to avoid the element of surprise, you may find use for them in production environments.

6. Cost Saving is Available for RDS, Elasticache, Redshift, and DynamoDB

The term Reserved Instance (or RI for short) is almost always used when referring to an EC2 instance. However, reservations are also available as a purchasing method for relational databases RDS, Elasticache (an in-memory store that helps accelerate application performance), Redshift (a data warehouse service), and DynamoDB (a popular NoSQL database service).

In a typical application architecture the compute resources are the lion’s share of spending (which is why they get most of the attention). However, the other services mentioned above together can add up to significant spending in your environment.

To gain a better understanding of their collective cost, you should review your last month’s cloud bill, grouped by service, to gauge whether pursuing an enhanced purchasing method for those services makes sense for your organization.

7. Commit to a Minimum Level of Data Transfer

Data transfer costs are incurred when data leaves one availability zone and is sent to another zone, region, or the internet. End-users may drive high data transfers by accessing data-intensive content in your application (such as images, videos, or simply a very high volume of text or numerical data). Another common driver of data transfer is data replication across databases to protect against system outages or disasters that may wipe out a data center.

AWS data transfer costs between regions and zones
Data transfer costs when crossing boundaries of regions and availability zones

Data transfer charges are not as straightforward as some of the other line items in your cloud billing statement. This is because data transfer charges are not a high-level line item; instead they get buried in sub-categories associated with various cloud services like EC2, RDS, or DynamoDB.

For most environments, data transfer charges often make up a significant percentage of spend—taking the time to fully understand their costs is worth the extra effort. To get started, ask your engineering team to isolate and add up your total data transfer costs by region. Then meet with your cloud account manager to discuss saving against an annual commitment to a usage level.

Although AWS offers Private Pricing Agreements (PPA) for data transfer that are negotiated on a case-by-case basis, you won’t find much information about them on the internet due to how customized they are for each cloud customer. The PPAs are the best source of cost savings for data transfers.

8. Discuss an EDP with your account manager

As with other cloud providers, AWS offers an Enterprise Discount Program (EDP) which offers a negotiated discount typically in the range of 5-10% in exchange for committing to an aggregate level of annual spending starting in the hundreds of thousands.

This cost saving technique is best saved for last, after successfully implementing all other tools in this list—otherwise, you could end up playing to your cloud provider’s advantage. This is because each of the other seven purchase planning best practices in this article forces you and your colleagues to identify waste in your existing spend. Without going through such an exercise, you could wind up committing to an EDP you simply don’t need or cannot fully utilize. EDP plays an important role in an overall discount strategy, but it should not be used as an easy way to save.

Learn modern automated capacity operations FinOps techniques

Watch Free Video

Conclusion

There are many ways to capture cloud cost savings, however it is important to pursue discounts strategically. Identifying existing waste should always be the first step, followed by implementing a staggered commitment purchasing cadence to ensure future flexibility. After that, look beyond your compute services and analyze spending for database services, transfer costs, etc. Where possible, use spot instances.. Finally, when it makes sense, sit down with your cloud account manager to see if you can get some extra enterprise discounts by committing to a well-planned spend level.

Like this article?

Subscribe to our LinkedIn Newsletter to receive more educational content

Subscribe now

Discover the benefits of optimized cloud & container resources. Try Densify today!

Request a Demo