Web app that collects and graphs EC2 Spot Prices
Branch: master
Clone or download
grosskur Add Dockerfile.ci and docker-compose.ci.yml
This provides a base image for CI systems to use.
Latest commit 583c665 Jul 31, 2015


EC2 Spot Price Tracker

This application collects and displays prices for EC2 spot instances over time. It's written in Python using the Tornado web framework.

  • The daemon ec2price collector grabs spot price data from the EC2 API using botocore and stores it in DynamoDB.

  • The web interface ec2price web displays graphs of the data using NVD3.js.

Instructions for running on Heroku

$ git clone https://github.com/grosskur/ec2price.git
$ cd ec2price
$ heroku create your-ec2price
$ heroku config:set TABLE_PREFIX=$(uuidgen | cut -c 1-8 | tr 'A-Z' 'a-z')
$ heroku config:set COOKIE_SECRET=$(head /dev/urandom | base64 | cut -c 1-40)
$ heroku config:set AWS_ACCESS_KEY_ID=...
$ heroku config:set AWS_SECRET_ACCESS_KEY=...
$ git push heroku master
$ heroku ps:scale web=1
$ heroku addons:add scheduler
$ heroku addons:open scheduler  # Add hourly job: "scripts/ec2price collector --once"

To do

  • Experiment with Rickshaw for graph drawing
  • Use D3 option interpolation: 'step-after' for staircase lines

See also