Building a Multi-Site Platform on Node.js - The Pros/Cons

June 20 2013, 7:41pm

We're building a highly scalable platform that will be serving multiple millions of hits per day and servicing potentially multiple thousands of concurrent user connections.

This platform will support many sites that differ in purpose and functionality. For this reason, individual sites should be decoupled from the main platform by using an API. We'll cache where we can, but a lot of the sites are going to be dynamic with notifications and streaming updates so we'd like to use Websockets to create a great experience for the end user.

We're currently a PHP (LAMP) house, and trying to decide if we should use Node.js to only power the APIs (maybe Express), or if we should build the entire platform on Node.js? How does Node.js perform with backend processes such as manipulating large amounts of images, or long-running job queues to send out emails, compared to say Python or PHP? We're also considering Python (eg. Tornado), as it can be a solid 2nd place to Node.js for reqs/second while also very strong with backend processes (or maybe HipHop so we could stay with PHP for the backend processing stuff).

Does anyone have experience with building a platform with this much traffic on Node.js? Or do you have any other ideas?