layout | title | permalink |
---|---|---|
default |
EC2 Instances List |
/ |
This was a cool project until we found out about ec2instances.info : ) That's one night of our lives we'll never get back. Thanks @Savant : )
Trying to find the optimal EC2 instance types for workloads doesn't automatically mean get the latest/biggest box. You might be able to squeeze more performance out of your dollar if you deploy a multitude of smaller boxes.
Machines that perform 20% slower are for instance priced 40% cheaper. Assuming your budget is finite and your platform scalable, you might be able to gain a higher total performance by using older machines.
At Transloadit we're considering this life-hack, but with information about Amazon EC2 instances scattered across different pages and different tables within those pages, it's not exactly easy to compare and discover what (for starters, on paper) offers the best bang for our buck.
So we decided to collect the metrics, add some of our own (like monthly costs or net ephemeral storage) and put them in a community maintained CSV file on GitHub.
With the CSV we can generate a Markdown table, and can then present this sortable HTML table for quick comparisions.
If you want to do deeper analysis, you can import the CSV into your database or favorite spreadsheet editor.
- Pricing based on Hosting on Linux in North Virginia (eu-west-1)
- Spot Pricing fluctuates heavily and so should be seen as an indication at most for now
- Since used micro type ECUs are variable, we set 0.1, 0.2, 0.3, to still allow somewhat sensible sorting. Welcoming better ideas here.
Networking speed is a megabit estimation based on Amazon's rather vague "low to moderate" properties. We will need to refine this later, but for now we're settling for:
- "very low":
10
- "low":
50
- "low to moderate":
75
- "moderate":
100
- "high":
1000
- "10 gigabit":
10000
- Get love by someone who knows how to front-end
- List completeness
- Automatically update pricing
- More accurate network speed estimations
- Use Travis to update the page automatically (as Github Pages won't do the csv->md translation)
- Add Reserved Instance prices
- Add a separate list for EBS volumes?
- Investigate if we can automatically update this We can, partly
If you have improvements you can directly hack on ./ec2-instances-list.csv
At the expense of some extra typing, we prefer a denormalized CSV so it's easy to distribute and does not require additional dependencies or formulas.
If you prefer hacking locally in SublimeText, the Advanced CSV plugin can be used for sorting and tidying things up (disable Word Wrap).
Our repository's README.md is turned into this webpage, sourcing ./ec2-instances-list.md
for the table. Overriding CSS can be done in ./stylesheets/app.css
and the layout is in ./_layouts/default.html
.
If you have Jekyll installed, you can preview changes locally via make preview
and navigating to http://127.0.0.1:4000.
Once changes are pushed to the repo, the site will update automatically thanks to GitHub pages. Data changes need a manual make deploy
from anyone with push access, so that the csv
->md
conversion will be done first.
A shoutout to tristen for an excellent tablesort, and also the contributors so far: