Impressions with Heroku: Just Another Nice Toy for Deploying Simple Ruby on Rails Applications

Submitted by kai on Sun, 2008-10-05 23:11. ::

I finally had a chance to play with Heroku cause I wanted to quickly try out OneBody - open source Ruby on Rails based social network.

I followed the instruction to create my app. What's missing there is that you'd need to generate public/private key before calling 'heroku create urapp'. It's as simple as issuing 'ssh-keygen -t rsa' for Linux. see GitHub docs for more information.

I also tried to use the import interface at Heroku to import OneBody, but it always timed out. Heroku should have provided a simple import command via Heroku gem to create a new application through importing.

There was a missing gem HighLine in my Heroku app. It took me a while to find out that the gem management is part of the "Edit" process. But even when Heroku installed HighLine, OneBody still complained that HighLine is missing. Time to give up Heroku and try it locally.

Heroku has a nice concept. But I am not going to use its web editor cause I am used to using Eclipse/Aptana which has excellent Ruby debugger support.

Unless you run a simple application, you will run into the following limitations on Heroku:

  • you can't run mail servers. Even if it's allowed, your mail server will run on top of EC2 instance. Most of your mails will get rejected because spamers have been using EC2 to send spam and malware.
  • you can't use MySQL(it only supports PostgreSQL)
  • you can't use memcached which is really important for scaling
  • you can't run background process such as a message queue(Apache MQ, Starling)
  • For search, you can't use Ferret's DRBServer or acts_as_solr with Apache Solr
  • you are stuck with the rails version that Heroku supports
  • Their so-called auto-scaling is to horizontal-scale with mongrels on AWS EC2. There's no support to horizontal-scale with database yet.

You can read more about Heroku on highscalability's coverage on Heroku.

With so many restrictions, it's just better to go with a VPS.

Heroku has its place though: a nice playground for quickly throwing out a simple working Ruby on Rails application.

Post new comment



The content of this field is kept private and will not be shown publicly.


*

  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • WikiText is converted to HTML (supported WikiText formatting will show in the long tip format).
Verify comment authorship
Captcha Image: you will need to recognize the text in it.
*
Please type in the letters/numbers that are shown in the image above.