/ec2price

Web app that collects and graphs EC2 Spot Prices

Primary LanguagePythonThe UnlicenseUnlicense

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