Selecting the most efficient AWS EC2 instance types using pareto front analysis


See original post on Bill’s Medium page.

At dataxu, we power a large part of our technology stack using Amazon Web Services (AWS). At any given time, we may be running thousands of AWS EC2 instances – or the virtual servers in Amazon’s Elastic Compute Cloud (EC2) that runs applications on the AWS infrastructure. For DataXu, the servers power data ingestion of hundreds of terabytes per day, elastic reporting, analytics, machine learning and consumer-facing web services.

As a CTO, I thoroughly enjoy working with the constantly changing elastic cloud services from AWS. There are so many enticing options and combinations to choose from that I feel like a kid in a candy store.

The downside of such a vast array of options is that evaluating the financial impact of choosing any one offer can be mind-numbingly complex. Due to the nature and scale of DataXu’s business, even small opportunities for improvement in our AWS cost affects our overall profitability. Understanding the different tradeoffs and cost impacts of EC2 instance choices in AWS is time-consuming and tricky.

This led me to search for an easier way to compare and contrast the various offerings of AWS. I needed to find the optimal choice for DataXu while also saving time and simplifying the process for future decision-making. I often employ a number of techniques and tools to help DataXu arrive at technical design decisions. Since I wanted to better understand the compute vs. memory cost tradeoff of the 76 different EC2 instances I used a method called an “efficient frontier” or “Pareto front” analysis to organize and understand the pricing information.

Analyzing the Efficient Frontier

Pareto front analysis of all EC2 instance types

This is a Pareto front analysis of all EC2 instance types in terms of two metrics:

  • Compute Cost Efficiency
  • Memory Cost Efficiency

The goal is to organize the set of point solutions (in this case, instance types) in terms of normalized metrics, then shrink the consideration set to a smaller set of the most efficient choices.

Interested in learning more? Read the rest on Bill’s Medium page and continue the conversation.