Heroku Gets Add-Ons: Serious Ruby Webapp Hosting Made Easy
Heroku is a Ruby webapp hosting service that we first mentioned about two years ago. It started off as an online IDE of sorts, but is now a complete cloud platform for running Ruby webapps. You can develop locally and then, with a single command, deploy your app to their metered service. Well, Heroku got in touch with me last week to talk about their new "Add-Ons" feature and they've really kicked things up a notch for people wanting to quickly roll out webapps online.
Till now, Heroku has provided basic functionality on a semi-metered basis. You pay a monthly fee for a basic rate of service and then pay an hourly rate for more concurrency. Now, you can also add on a bunch of other features which Heroku are calling "Add-ons." Here are just a few of the more interesting ones:
- Amazon RDS (Relational Database Service) - This add-on is free from Heroku's point of view but you'll be paying Amazon.
- Bundles - A "snapshot" type backup system. You get a single bundle for free or can pay $20 for unlimited bundles.
- Cron - Daily and hourly crons can be set up with a couple of clicks.
- Memcached - You can boost your app's performance with in-memory caching provided by Memcached. The key here is that Heroku totally manages the Memcached instance - no server setup needed, etc. Currently this feature is only in private beta though..
- New Relic - Most readers should be familiar with New Relic's application performance tools by now and Heroku makes it easy to get them running directly on your Heroku-hosted apps. (As an aside, New Relic rolled out a significant update last week - version 2 of their flagship RPM system.)
- SSL - Get https:// URLs on your Heroku app with a choice between piggyback SSL (free), SNI SSL ($5 per month) or full-blown custom SSL ($100 per month).
- Websolr - A no-setup-needed Solr instance so you can get quick and easy full text indexing and search functionality in your apps.
Note: You can learn more about all the different Add-ons at Heroku's dedicated Add-ons page.
Impressive but Expensive?
As impressive as Heroku's one-command-deploy and add-ons features are, though, I can't quite put my finger on Heroku's market - they're kinda pricey. Perhaps it'd be good for professional developers who want to do a test deployment of an app on a live server without getting mired in server configuration?
For full time use, Heroku doesn't strike me as very competitive. For example, for the "Crane" 500MB storage option (billed as "perfect for a small biz app") with the recommended 4 "Dynos" the fee comes to an estimated $158 per month, and that's without any add-ons. For the entry level "dedicated" option with the recommended 8 dynos, the cost goes to $452.
Despite the cost, though, what Heroku offers is a very simple "no hassles" hosting service that, crucially, can handle significant workloads. You could rig up something similar with VPSes, dedicated boxes elsewhere, or even Amazon EC2, but you're going to be spending time doing server configuration. If playing sysadmin isn't tricky for you (I enjoy it, personally), Heroku might not be for you and you should be looking at companies like Webbynode or Linode. But if you're just a 100% developer who wants to get something up and running and doesn't want to worry about scalability too much, Heroku could be worth the extra expense.
Update: Oren Teich of Heroku got in touch with some notes regarding Heroku's value proposition versus the comparisons I made above. I quote verbatim:
I wanted to point out that we have many users running huge sites on the free version, serving up hundreds of thousands of hits per month, and that they pricing is deceptive - for that $150 you get an AMAZINGLY high powered service, capable of serving >10 millions requests per day.
We don't do a great job right now of making it clear just how powerful a single dyno is, or what you get with the platform. We're working on improving the pricing to be clearer. In the meantime, getting the right message out on this is really important to us.
Also keep in mind, that the DB pricing is for DB usage only - it doesn't include your code, files on disk, etc. That said, we know we need to right size the DB pricing, but it's amazing how far 500, or even 50 MB of pure DB usage will take you.
Heroku has many users running huge sites on the free version, serving up hundreds of thousands of hits per month. The pricing can be deceptive, for that $150 you get an AMAZINGLY high powered service, capable of serving >10 millions requests per day.
He also noted that there's no charge for bandwidth, although there are some soft limits that haven't been hit by any users yet.
Disclaimer: Webbynode and Linode are currently Ruby Inside sponsors. Heroku, however, has no financial connection with Ruby Inside and vice versa.