Heroku Lifts Ruby on Rails Development into the Cloud (YC Winter 08)
techcrunch.com
techcrunch.com
There are limits to my joy, though. I immediately miss:
- emacs. Or at least Textmate. When I press ctrl-a and I get "select all" instead of move-beginning-of-line, I sigh inwardly.
- git. Although the "snapshot" feature is awesome and is arguably all that many people would want in a tool like this.
- autotest. This is a big one. I'm not much of a Rails wizard, but already I'm hooked on the joys of autotest.
Rather than ask for any of these potentially obscure features, however, let me ask this: how about a secure API that lets me (a) run rake tasks remotely and receive their output in return; and (b) upload/download any of my source files? Then I believe you can leave autotest, emacs, and perhaps even git support as exercises for the student. :)
WTF are they talking about?
sudo port install rb-rubygems
sudo gem install rails
rails myproject
cd myproject
script/server powerbook.local 102> sudo port install rubygems
Password:
Error: Port rubygems not foundI'm no rails fanboy by far, but it's unfair to claim that rails is a hard environment to use when in reality rails goes out of its way to make RoR development dead simple.
</nitpick>
Unfortunately the next instruction you offer didn't work either:
powerbook.local 105> sudo gem install rails
Password:
Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR: While executing gem ... (Gem::GemNotFoundException)
Could not find rails (> 0) in any repository
A little googling reveals that at least on OSX, you need to do this: powerbook.local 106> sudo gem update --system
Password:
Updating RubyGems...
and after that, then you can powerbook.local 107> sudo gem install rails
[...]
powerbook.local 108> rails myproject
powerbook.local 109> cd myproject
[...]
But then the next command you wrote blows up again: powerbook.local 110> ./script/server
Cannot find gem for Rails =1.2.6.0:
Install the missing gem with 'gem install -v=1.2.6 rails', or
change environment.rb to define RAILS_GEM_VERSION with your desired version.In any event web services like Heroku make it a moot point. I've yet to try it out but I can easily see the attraction when a trivial google search of "ruby install error" returns 100,000 hits.
Results 1 - 10 of about 166,000 for python install error. (0.26 seconds)
Results 1 - 10 of about 264,000 for java install error. (0.22 seconds)
Results 1 - 10 of about 145,000 for gcc install error. (0.25 seconds)
This metric seems flawed.
Now, if you want more users, and your home machine has a static IP, and port 80 is open, no problem. Except for the part where you will live in terror of any security holes. Oh, and the part where you've only got one server -- if this is your production server, where do you do your development? And then there's the part where you have to set up an init task to launch your server when the computer reboots. And the backups, of course.
Now show me how to give three remote collaborators secure access to your app's source code, but no access to anything else.
The default Rails install workflow is really nice, don't get me wrong. And Capistrano is great, and Slicehost is pretty easy to work with. But for a quick-and-dirty Rails demo, particularly in a teaching environment, Heroku appears to kick serious ass.
I'm not knocking Heroku -- you're right, it definitely looks like it'd be great for people just getting into web development or programming in general. I bet that most people who get into programming these days start off thinking "I want to make a website", and tools like this cater to that crowd.
Having installed and configured other frameworks for dev work, I'd say that rails is exceptionally easy, but I can't really speak to the challenges at the production level. For that, I use Joyent, which has been fairly easy as well.
None of this is meant to knock Heroku.
That's when you know your idea is pretty good.
Still, nice scalability features.
I'm on the sign-up list, can't wait to give it a try.
Signed up for beta!