Well I work for Microsoft, so you can only imagine my experience using Azure just cannot be bad ;). But seriously, there are several ways of running node.js code in Azure: - you can own a VM (Windows or Linux), where you can listen on whatever TCP port you please and have the traffic load balanced between VMs that form a cluster, - you can run node.js apps in a so called Cloud Service. Cloud Service differs from a raw VM in that your app is managed for you (Azure will detect when it died and restart a new instance; Azure will also patch the OS for you when necessary; all while ensuring that at least one instance of your app is always running). Cloud services come in two flavors: Web Role and Worker Role. In a Web Role your node.js app is hosted in IIS using https://github.com/tjanczuk/iisnode, and effectively restricted to HTTP. In a Worker Role you have a similar flexibility as in raw VM in terms of listening on arbitrary TCP ports using whatever protocols you want - and this was my suggestion for addressing this particular scenario. Azure can load balance traffic across multiple instances of a Cloud Service. - you can host your node.js app in Windows Azure Web Sites. This method runs your app in a shared hosting environment in IIS using https://github.com/tjanczuk/iisnode, which again restricts the protocol to HTTP(S). Windows Azure Web Sites have several advantages over Web Roles, most notably git based deployment, and a free offering.
You can deploy node.js apps to Windows Azure VM or Windows Azure Web Sites from whatever platform node.js runs on using the node.js-based CLI we have: run `npm install azure -g` and then call `azure` to get started. Yes, that includes Macs. Also make sure to check out https://www.windowsazure.com/en-us/develop/nodejs/. On Wednesday, November 7, 2012 8:58:29 AM UTC-8, Evan wrote: > > I've been looking for a PaaS provider with the same requirements as well, > and haven't had much luck. I've tried appFog, Heroku, no.de (when > it existed), and Nodejitsu and they all limit you to 1 (randomly assigned) > http/s port. > > However, it's very easy to get node running on a vanilla Joyent or AWS > instance these days, and you can have all the ports you want. I'm > currently doing this, and it's really not that hard to manage. > > @Tomasz - can you talk more about your experiences using Azure? > > On Tuesday, November 6, 2012 9:34:06 PM UTC-8, Tomasz Janczuk wrote: >> >> You can listen on a TCP port to process arbitrary (non-HTTP) traffic >> using WIndows Azure Cloud Services. There are two varieties: Web Role and >> Worker Role. You need Worker Role. You can set up several instances and >> have Windows Azure load balance traffic between them. Check out the >> tutorial at >> https://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/ >> . >> >> On Tuesday, November 6, 2012 12:50:32 AM UTC-8, paul_tanner wrote: >>> >>> Hi, >>> >>> We have developed a webserivce built in node that susbcribes to TCP >>> sockets to get realtime input. >>> >>> Having got excited about switching from dedicated severs to PaaS I >>> seem to have hit a brick wall in that non-http ports are not yet >>> supported on those I've looked at. >>> >>> This is a shame because quite a large class of apps are ruled out >>> while this restriction remains. >>> >>> I hear that websockets will be supported real soon now. This is >>> goodness but not enough for the above requirement. >>> >>> Have I missed anything or will I need to be super-patient on this? >>> >>> Regards, Paul >>> >>> -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en
