I’ve recently built a product in Node JS, and it was a very positive experience (more on that in another blog post). I’m now looking around at what I need to do to package it all up for customers and entrepreneurs – hosting, developer meetups, that sort of thing. I’m looking for the wider ecosystem that customers can tap into. I’m a bit surprised at what I found during my research, and I thought I’d share it in case anyone else can add to it.

Why Hosting Matters

Let’s not beat about the bush here. As a rule, Node JS’s target audience probably doesn’t know enough to safely and securely run their own Internet-connected servers. It isn’t their skillset. A customer using Node JS really needs someone to look after all of that for them.

That isn’t a service I want to have to build myself if I don’t have to. For the customers I’m targeting, being able to say, “go there, sign up, and deploy to their cloud, and they’ll look after it all for you” is the right solution for everyone.

Where Is All The Hosting?

With all the buzz and hype around Node JS, it seems reasonable to think that there’d be plenty of cloud providers out there offering Node JS hosting services. Not the “here’s how to install it into a VPS”-type stuff, but a Heroku / Engine Yard-like service targeted at Node JS.

However, a quick Google for “nodejs hosting” turned up the following results on the front page:

  • 1 hosting provider which is public, free, and unable to provision new services when I tried (No.de)
  • 3 hosting services in private beta (Nodester, NodeSocket, and NodeJitsu.
  • … and zero paid-for ads offering Node JS hosting.

No.de is the hosting service from Joyent, who are the current guardians of the Node JS project itself. Their Node JS product page directs you to the No.de service. But unfortunately, No.de is a limited-capacity service, and you can only get your app on there if you’re lucky enough to catch them when there is spare capacity. Joyent do offer a VPS w/ Node JS pre-installed, but you’d be hard-pressed to find the product if you didn’t know it existed, as it isn’t linked to from their Node JS page at all.

The other three services all look interesting (NodeJitsu in particular caught my eye), but I can’t sit down in a sales meeting today and recommend any of them to a customer, because until they are public services, I can’t be sure that my customers can get a login and get their apps deployed and running.

But what really caught my eye is that no-one seems to be using Google AdWords to advertise their Node JS hosting service right now. That’s a significant smell, and a big surprise to me. I don’t want to draw any conclusions about that, just simply ask the question: does it mean that there’s an opportunity that isn’t being exploited yet, or does it mean that the opportunity isn’t big enough yet for folks to invest in?

Where Are The Community Meet-ups?

As well as hosting, I’m also interested in being able to introduce customers to other Node JS users, preferably through established developer meetup groups. From the customer’s perspective, being part of a community helps them broaden their skills and experience, and potentially helps them find new employees if they start to grow. From my perspective, the most valuable marketing of all is word of mouth, and having customers going to meetups and saying that they’re using our product because it solves their problems is a very important way of finding new customers.

We’re just outside London, which is a veritable hive of startup activity these days. But looking on Meetup.com for existing meetups for Node JS, all I could find is this waiting list. I did find the London Node User Group via Lanyrd, and I plan on trundling over to their next meetup on Wednesday, but that was it.

We seem to have meetups coming out of our ears in London right now on all sorts of technical topics; the lack of ones focused on Node really does stand out.

Thoughts And Conclusions

For a product that has had a lot of sustained buzz, and which is a good solution for some technical problems, the almost complete absence of an ecosystem around Node JS caught me completely by surprise. Are we just ahead of the curve, and using Node JS very early on in its adoption? Are there resources out there that I’ve just failed to find? Or is Node JS actually just another passing trend which failed to get enough traction?

I don’t know. Your thoughts and comments most welcome below!

29 Comments

  1. Evert says:
    May 21st, 2012 at 11:56 am

    Node should be treated as a tool that solves a very specific subset of problems. There’s no ‘ecosystem’ around Gearman either, and in my opinion.. there’s some overlap in the problems these two tools solve.

    If you trying to draw a comparison with PHP, there’s a few things you should keep in mind.

    1. Node is on 0.6. There is no stable release yet!
    2. Node is very new, it will take time before people figure out how to do things, and do them well.
    3. PHP is huge! It’s the largest server-side web programming language, which is massive. You cannot expect the same from such a fresh project.

    Just my 2ct’s
    Evert

  2. NodeJs News says:
    May 21st, 2012 at 12:22 pm

    Nice,
    Feel free to add a link to http://nodejs-news.com ;)
    Regards,

  3. Ian says:
    May 21st, 2012 at 12:23 pm

    “Not the “here’s how to install it into a VPS”-type stuff, but a Heroku / Engine Yard-like service targeted at Node JS.”

    How about heroku themselves? : https://devcenter.heroku.com/articles/nodejs

  4. Jef Claes says:
    May 21st, 2012 at 12:39 pm

    I can think of two ‘pretty big’ hosters for node.js: Azure and AppHarbor.

  5. jockl says:
    May 21st, 2012 at 12:55 pm

    There’s an eco system for Node. It’s called hot air.

  6. Pete says:
    May 21st, 2012 at 12:56 pm

    What about Heroku’s Cedar stack?

    https://devcenter.heroku.com/articles/nodejs

  7. alessioalex says:
    May 21st, 2012 at 1:02 pm

    @Evert:

    Node 0.6.x is stable and used in production (just look at the official Node website for companies using it).

    @Stuart:

    Node is just a few years old, that’s why there aren’t many companies that offer Node hosting (or offer but only private beta or such). Most people use a VPS atm (EC2, Linode etc).

    P.S. Heroku also supports Node.

  8. Severin says:
    May 21st, 2012 at 1:04 pm

    Just fyi: Heroku itself offers node.js hosting…

  9. Dave says:
    May 21st, 2012 at 1:05 pm

    Just use Heroku. https://devcenter.heroku.com/articles/nodejs

  10. Till says:
    May 21st, 2012 at 2:06 pm

    Heroku (cedar stack) has a paid option to host node.js. One process is always free – but that’s not node.js specific. Start 2 processes and you pay them.

    We run multiple node.js app’s on Heroku’s PaaS. It’s sweet and painless for the most part.

  11. Till says:
    May 21st, 2012 at 3:08 pm

    I totally forgot this, but basically – joyent’s cloud is a good environment to run a node.js service as well.

    I’m not referring to no.de, but their smartmachines. It’s not exactly node.js-only, but they are a great environment to run node.js in. I’ve used them to troubleshoot some issues in our applications since they are SmartOS/Solaris-based and dtrace is a first-class citizen on that platform.

    We haven’t deployed in production there because all our applications run in EC2 and I didn’t feel maintaining tools for different platforms.

  12. chris tacy says:
    May 21st, 2012 at 3:14 pm

    I think the word “hosting” is somewhat problematic when we’re talking about Node – and the Google results kind of point to this. If you search instead for “Node PaaS” you get a ton of results.

  13. Nihil says:
    May 21st, 2012 at 6:32 pm

    dotcloud.com offers pretty good node.js hosting service
    along with lots of other services

  14. JoshLeaves says:
    May 21st, 2012 at 10:16 pm

    DotCloud hosts Node.js easily, most/all my projects in Node.js are launched from DotCloud!

    (Okay, that sounded spammy :D Sorry =) )

  15. Charlie Robbins says:
    May 22nd, 2012 at 3:12 am

    Charlie Robbins (CEO and Co-Founder of Nodejitsu) here. I think your thoughts are really poignant. I’d like to make clear that public availability is the absolute top-priority for us over here but we chose to make a couple of choices that other Public Cloud PaaS companies did not. These choices enable us to offer the truly best-of-breed hosting opportunity for Node.js developers:

    1. Early on we recognized that we would not exist as a company if the node.js community was not successful. That is why we have built and maintain over 200 open-source modules on npm.
    2. Infrastructure agnostic (that’s right, you get to choose where your servers live).
    3. Multiple platforms (currently Ubuntu and SmartOS).
    4. 100% node.js up and down the stack. This is all we do and I think we do it better than anyone else. We also have provisioning, monitoring, and configuration management tools similar to our jitsu CLI for enterprises.
    5. Commitment to immediate support: If you have a problem, you have a problem **now**, not tomorrow, not 3-days from now. As such, we want to make sure we grew our support team to support increased on-boarding and support requests resulting from public availability.
    5. Private cloud support: this is currently where most of our customers reside. We license them software that they run in their datacenter or self-managed IaaS account.

    So rest assured we ramping up for a public release. Feel free to email me at charlie [at] nodejitsu [d0t] com if you’d like to talk more.

  16. Stephen Bronstein says:
    May 22nd, 2012 at 3:19 am

    In addition to Heroku, dotCloud and Cloudfoundry (for which there are already a couple of PaaS providers – AppFog and Stackato) are good PaaS options that support node.js.

  17. Evert says:
    May 22nd, 2012 at 8:52 am

    @alessioalex:

    1.0 means stable in my book :) Doesn’t just mean that the server may collapse on itself randomly, but it also means that the API will not be broken anymore.

    Calling it 0.6 pretty much implies that that may still happen.

  18. b.m says:
    May 22nd, 2012 at 3:13 pm

    Cloudfoundry (VMWare) offers it as well. I deployed from Cloud9IDE in a matter of seconds.

  19. Guest says:
    May 23rd, 2012 at 6:14 am

    On https://no.de/ it says they are partnered with Nodejitsu but you don’t mention this in your article.

  20. oshimin says:
    May 23rd, 2012 at 10:20 am

    Not only heroku
    Look at http://www.nodejs-news.com/nodejs-tech/Nodejs-app-CloudFoundry

  21. Stuart Herbert says:
    May 23rd, 2012 at 12:17 pm

    @JoshLeaves thanks for the recommendation of dotcloud.com. Unfortunately, I couldn’t find any mention of Node JS support in their documentation, so I’m not comfortable recommending them to my customers for now.

  22. Stuart Herbert says:
    May 23rd, 2012 at 12:23 pm

    @b.m I can’t recommend Cloudfoundry to my customers after reading the Ts & Cs, sorry. It’s an experimental, unsupported service at risk of being discontinued at any time without notice or redress. Not really suitable for hosting commercial apps on.

  23. Stuart Herbert says:
    May 23rd, 2012 at 12:25 pm

    @Guest: that’s because it only tells you that https://no.de are partnered with Nodejitsu if you’re not logged in. If you’re already logged in, the website takes you straight to the form to reserve your SmartMachine instance.

  24. Eric says:
    May 24th, 2012 at 9:26 pm

    very cool (and divisive) post on an apparent lack of an ecosystem surrounding Node.js. Mind if I extend this conversation over to DZone.com by republishing? We’re trying to do more to cater to readers who are interested in node.js and high performance.

  25. Stuart Herbert says:
    June 12th, 2012 at 9:06 am

    @eric: please do

  26. Iain Campbell says:
    July 14th, 2012 at 9:00 am

    I’ve just spent a solid day looking for somewhere to deploy a node.js app. It uses websockets, so Heroku’s out. It uses RSA (Ursa), so Nodejitsu’s out. Azure just plain didn’t work, deployment failed every time with a ‘server hung up’ error after a git push.

    To be fair to the above, Heroku are clear that they don’t support websockets on cedar. Nodejitsu have said that I can campaign to have Ursa added, but that doesn’t help me now. And I haven’t given up on Azure just yet.

    Frustrating? Absolutely. Has it put me off node.js…? I think it has to an extent. Until the entire ecosystem is more mature, I can’t see that I’ll be pushing to use it again.

  27. Michael J. Ryan says:
    July 30th, 2012 at 4:29 pm

    I just have to say, that for now, your best bet is probably going to be an EC2 instance (small or larger, not micro). It isn’t too difficult to get it running, but most Linux distros are not up to Node’s currently rapid development cycle. There are 3rd party PPAs for current stable branches of NodeJS in Ubuntu, YMMV though. It isn’t too hard to get going… essentially get the Ubuntu stable instance onto EC2 instance, allow SSH socket… login, add the Node PPA, and install node… It would be nice to have more PaaS options that are more mature, it just simply isn’t there yet… If you want easier, you could do a Windows VPS, and RDP in to install Node, and related bits.

  28. Marc says:
    August 15th, 2012 at 9:46 am

    There is an up to date list of hosting options in Node’s wiki at github:

    https://github.com/joyent/node/wiki/Node-Hosting

  29. themgt says:
    November 25th, 2012 at 3:15 am

    Pogoapp (http://www.pogoapp.com) is also in private-alpha, offering buildpack-based host-anything, including of course node.js. A growing portion of our infrastructure is also written in node.js/CoffeeScript, so we use node to deploy itself ;)