Node.js from Joyent
Next Gen Readiness with Node.js
In the U.S., in just the last 12 months, the amount of data the average smartphone user consumes per month has grown by 89 percent from 230 Megabytes (MB) in Q1 2010 to 435 MB in Q1 2011. Data usage for the top 10 percent of smartphone users (90th percentile) is up 109 percent while the top 1 percent (99th percentile) has grown their usage by 155 percent from 1.8GB in Q1 2010 to over 4.6GB in Q1 2011. (Source: Nielsen Company)
Alongside runaway data consumption on handheld devices, consumer expectations are skyrocketing. Consumers want more: more features, more speed, and more connections to other users and devices. Meeting and exceeding these expectations means more data and far more connections to the network. Carriers and application developers are up against a real challenge.
The “big data” and real-time performance challenges are what Node.js, Joyent’s open source project, was built for. Joyent likes to say that Node was built for DIRTy, or Data-Intensive Real-Time, applications. Server-side programming languages often try to solve I/O demands within the application or network connections by spawning additional threads or processes. This can be expensive in terms of memory, CPU utilization and hardware costs. Node addresses these demands differently.
Node’s I/O was designed from the ground up to be non-blocking and event driven. Event-driven computing assigns a small, lightweight placeholder to each event or connection and then lets it share resources. Work resources are only used when the data is made available (in the form of a response from the database or network) for work to be performed. This makes Node very fast and very scalable for a wide range of applications, including on-device, as exemplified by HP’s replacement of Java as their runtime for webOS 2.0.
Joyent also hosts the premier Node platform, No.de, to provide Node developers all of the tools to get up and running. Because No.de is a flexible PaaS, you get root access, allowing for complete customization capabilities. Easy deployment with Git and an elegant suite of real-time analytics and introspection tools are included.