Node.js TCP Socket Server on the Cloud [Heroku/AppFog]

appfog, cloud, heroku, non-web

Solution

I am reasonably sure that doesn't answer the question at hand: "Is is possible to run a Node.js TCP Socket oriented application". All PaaS companies (including Nodejitsu) support HTTP[S]-only reverse proxies for incoming connections.

Generally with node.js + any PaaS with a socket oriented connection you want to use WebSockets, but:

Heroku does not support WebSockets and will only hold open your connection for 55-seconds (see: https://devcenter.heroku.com/articles/http-routing#timeouts)

AppFog does not support WebSockets, but I'm not sure how they handle long-held HTTP connections.

Nodejitsu supports WebSockets and will hold your connections open until closed or reset. Our node.js powered reverse-proxies make this very cheap for us.

We have plans to support front-facing TCP load-balancing with custom ports in the future. Stay tuned!

Problem

Is is possible to run a Node.js TCP Socket oriented application on the Cloud, more specifically on Heroku or AppFog. It's not going to be a web application, but a server for access with a client program. The basic idea is to use the capabilities of the Cloud - scaling and an easy to use platform. I know that such application could easily run on IaaS like Amazon AWS, but I would really like to take advantage of the PaaS features of Heroku or AppFog.

Original source