3. Common Use Cases
• Launching and scaling apps without IT/server scripting
• Deploying MVPs
• Situational/Internal Apps
• Mobile API/Backend
4. How It Works
1. Provision Application w/ Heroku
2. Heroku creates a hosted Git Repository
3. Provision Services and Options (“Add-ons”)
4. Configure your application using ENV vars
5. Push to your application’s Git repository to Heroku
5.
6. Dynos
• Dyno == 1 Process (one free Dyno per app per month)
• Support Ruby, Java/JVM, Node.js, Python, others
• Additional Dynos: $0.05/hour == $36/month
• Each process can run up to ~15 threads
• Thin with threadsafe Rails: 1 process/15 threads
• Unicorn: 3 processes/45 threads
• Limited by soft memory cap of 512MB per process
7. Database
• PostgreSQL 9.1
• Shared – 5GB (free) or 20GB ($15/month)
• Production - $50 to $6400/month based on storage/CPU/Cache
• 1 TB max
8. Add-ons
• Heroku Add-ons (CNAME, SSL, pg backup, etc)
• Third-party (New Relic, MongoHQ, Memcached, etc)
• Config and Customization often free or low cost
• Some third party are free, most have tiered pricing
$ heroku addons:add ssl:endpoint
11. Viewing Processes
$ heroku ps
Process State Command
----------- ----------- -----------------------------
web.1 up for 6s bundle exec rails server
worker.1 up for 5s bundle exec rake resque:work