Heroku is trialling new pricing levels for their dynos. Here’s the verbatim text they gave:
Free – Experiment in your own dev or demo app with a web and a worker dyno for free. Sleeps after 1 hr of inactivity. Active up to 12 hours a day. No custom domains. 512 MB RAM.
Hobby – Run a small app 24×7 with the Heroku developer experience for $7/dyno/mo. Custom domains. Run a maximum of one dyno per Procfile entry. 512 MB RAM.
Standard 1X, 2X: Build production apps of any size or complexity. Run multiple dynos per Procfile entry to scale out. App metrics, faster builds and preboot. All Hobby features. 512MB or 1GB RAM. $25 or $50/dyno/mo.
Performance – Isolated dynos for your large-scale, high-performance apps. All Standard features. Compose your app with performance and standard dynos. 6GB RAM. $500/dyno/mo.
It appears to be an attempt to cut down the amount of freeloaders using Heroku. Nowadays, especially with faster code and faster computers, a standard 512MB dyno can power websites with tens of thousands of hits per hour. Few web apps need more than 1 web dyno, and worker dynos are often not needed. This means that Heroku would only get paid via add-ons, but most add-ons are provided by third parties.
In this new pricing structure, you can’t pop up a free site and leave it running 24/7—it would cost you $7/month instead. Any real app can no longer live on the free tier, so I would expect the proportion of paying customers to increase under this new pricing scheme. Instead of Heroku being the “obvious” choice for a web app because it’s free, you could instead measure the $7/month cost against alternatives:
- Free tier of Google App Engine—as far as I know, GAE’s free tier is still useable for real apps. But, you’re limited to PHP, Java, Go, or Python plus the quirks of App Engine’s platform.
- OpenShift—I’ve never used OpenShift, but they seem to offer a PaaS with a free tier similar to Heroku.
- dotCloud—I don’t understand dotCloud as I’ve never used it, but they seem to price things by $4.32/month per 32MB of RAM used. It seems a bit steep to me, but maybe there’s something I’m missing.
- AWS—A t2.micro would suit any small app just fine, and it (along with a tiny RDS database) would fall under the AWS free tier for a year. A t2.micro has 1GB of RAM and costs about $9.52/month outside of the free tier.
- Other commodity VPS providers—Digital Ocean starts a $5/month for a 512MB VPS. Linode starts at $10/month for a 1GB VPS.
Many hobbyists value their time spent configuring Linux at approximately $0/hour, so you’d have to calculate that cost along with lock-in costs for each alternative. Note that Heroku hasn’t announced what will happen to the old pricing tier, so existing users may be grandfathered in or may be forced to switch.
Edit: The current 1X dyno costs $34.50/month, but you get the first one free. The new 1X dyno costs $25/month. You would see cost savings on the new plan once you exceed 3 1X dynos ($69/month under old plan vs $75/month under new plan). Given how performant newer web apps can be, it’s not uncommon to have a Heroku app that’s currently paying $0/month for a single dyno but $50/month for a Standard Heroku Postgres database. Heavy users or less performant web apps will benefit from a cheaper per-dyno cost, but many other apps will probably continue paying more for add-ons than dynos.