Hacker News new | past | comments | ask | show | jobs | submit login
Heroku Node.js Support (experimental) (heroku.com)
123 points by jmonegro on April 28, 2010 | hide | past | favorite | 29 comments



This comes at a perfect time for me, I've been playing around a lot with Node.js lately and I've been looking around for a way to host it. I don't want to pay $20 a month for a VPS for an experimental fun-application, and http://elusivehippo.com/ just tells me that I'm not looking for some droids.

Not only is real-time application support a huge step, but the way Heroku has listened to its customers here to implement Node.js support is amazing.


http://prgmr.com/ doesn't have space available right now, but they have VPS plans starting at $5/month and I've heard good things about them from people on HN.


Run by one of our very own: http://news.ycombinator.com/user?id=lsc


Seconded. I have a server on prgmr.com right now that's running node.js and I've been very pleased. Fast servers and and perfect uptime, so far. Sign up for the waiting list if you're interested. The only konck against them besides the waiting list is that it takes a day or so from when you purchase the VPS to when It's ready.


Prgmr is great if you need a small affordable instance and don't need to worry too much about performance (http://journal.uggedal.com/vps-performance-comparison). I use one 256MB instance ($8/month) as a development box.


They are great I have one that I use for fun stuff and netbsd is a pretty easy setup if you want it. Once they email you that they have new VPS's be sure to sign up pretty quickly though because they run out fast.


Yes I've been on the waiting list for one of those for a while, even with Heroku supporting Node.js I would get one. It is a very good price and it's always nice to have a small VPS for random stuff.


Does anyone have an experience with http://burst.net ? Their VPS starts at 5.95/month (512M) and 9.95/month (1G), cheapest I've seen but I don't know anything about them.


Rackspace Cloud instances come in at $10 / mo for the smallest size.


That doesn't include bandwidth costs though. $0.22/GB for outgoing traffic, and $0.08/GB for incoming traffic.


True, but he said it was a small app.


I didn't know that! Thanks :)


I know how you feel. I even hacked up a CGI library for node.js so I could host it on a shared server:

http://brianmckenna.org/blog/nodejs_via_cgi

It would have been great if this came out a few days earlier...


hmm It's worth give a try on heroku... I looked at http://elusivehippo.com/... the price seems outrageous min $63 per month... is this the standard price??


Sorry about that. ElusiveHippo originally started as a python deployment system for higut.com. I ended up needing to create a demo/portfolio site to show prospective employers how I could pick up new technology. So I very quickly wrote a node version, released it into the wild, and waited to see how far it would go on its own. Then, I disappeared to San Francisco for a week without checking back on it.

None of the details on the site are standard or set in stone - all the pricing numbers were completely made up. Not only that, but there's actually no indication that the system works at all, is there? :) There are about 20 working alpha accounts in various hands, but it doesn't really matter if it worked or not - there's clearly been some effects ^_^.

Again, sorry for any confusion. I could write a blog post about the details, the implementation, and the aftermath if people were interested. Then, people could fairly easily implement their own. I've converted many ex-PHP, ex-Rails, ex-Django coders to nodejs using this demo site!


A VPS could be easily shared if you have couple friends interested...


Why don't they just remove the 30 second limit on web request execution time? I'd rather use Ruby/EventMachine than a complicated separate setup using both Ruby and node.js running on separate Heroku stacks.


That's really cool. I think node.js is one of the most exciting new projects out there, and getting support for it into the cloud means uptake can be that much faster.


I'm excited about it. But I think the verdict's out on whether a medium to large Node.js program will not be a steaming spaghetti shaped pile of callbacks. Nothing I've seen coming from the Node.js community seems to address the fact that debugging/refactoring callback heavy code is hellish. Pretty please point me to literature/code that shows otherwise.

For small nuggets of async goodness Node.js looks great.


Lessons learned from somebody who wrote a pretty large node app and is almost done with a rewrite:

* Yes, async coding is hard.

* Debugging can be tough, but good coding helps.

* 95% of most node apps will be pure JS that does not perform any I/O.

* Test driven development really shines in combination with node

Make sure you keep that last point in mind when you build something with node. Reasoning about async code can be tricky, but TDD will force designs upon you that make it simple.

--fg


I suspect we'll see people building better abstractions on top of the raw callback APIs Node provides. "Promises" (similar to deferreds/futures), um, promise to help with this.


I think Promises were removed recently.


Correct, but they can still be implemented on top of the callback based APIs.



promises need to be build into the language and all libraries have to be build with promises in mind for this to work. Look at io-lang's @ syntax or for a slightly different ( much better ) take, look at go's channels.


Actually, a bunch of us are working on taking the pain out of async programming. Here's my approach, using (fab)'s chained continuations:

http://www.flickr.com/photos/tr4nslator/4532445014/in/set-72...


While this is cool, when you get to this point with JavaScript syntax why not just write your program in a Lisp like Clojure? People keep saying that JavaScript is good for asynchronous code, but that might not true at all. It's just that we JS hackers become very accustomed to a style of code that works great for simple user-driven events. In my experience this does not scale for much else.

Maybe we can make it work, but I don't like what I've seen thus far. I want people to adopt a syntax that doesn't affect standard JS style: http://mootools.net/shell/q9ASd/28/


Because I'd rather write my programs in a Lisp like Javascript?


The big question is if Heroku will suddenly support a fairly large number of long-lived connections to a Node.js hosted app, and how pricing would work. Developing real-time apps and custom servers are how Node.js really shines. A WebSockets module took only a few hours to develop for instance.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: