Skip to content

zyx/ec2price

 
 

Repository files navigation

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

About

Web app that collects and graphs EC2 Spot Prices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 96.8%
  • CSS 2.2%
  • Shell 1.0%