Simplified cloud-based application development with Node.js

Cloud-based application development with Node.js allows for one simple and scalable technology to be used on both the client and the server.

Most enterprise computing shops are engrained quite heavily in a particular development platform, with the two key players in the enterprise computing world being Oracle's Java EE platform and Microsoft's .NET. It is quite a coup when enterprise architects and IT managers make the decision to shift their development practices away from these enshrined technologies and move into something relatively new, but it's happening more and more often. And what seems to be the new, key technology that decision makers in companies such as Yahoo, eBay and Wamart are embracing? It's Node.js, a powerful server-side scripting language that promises improved scalability and performance while providing a simple programming library that anyone with programming experience can quickly pick up.

While the use of Node.js is governed through the permissive, free software MIT license, maintenance and further development is managed by Joyent, the former employer of Ryan Dahl, who created Node.js in 2009. Joyent Director of Market Development Jim Farrell (@jimrafar), explains why Joyent has become such a popular tool for progressive organizations, especially those that are interested in embracing highly elastic cloud-based technologies. "Node.js is a software runtime," he says. "It's Server Side Java Script. It allows you to do is more with less lines of code. As a result, it uses CPU cycles more effectively. The way it uses memory is much more efficient. It's the top runtime right now for creating mobile and Web applications." 

And of course the true value proposition for shifting development to a Node.js platform is that the move adds up to less time for development, simplified deployment, less code to manage and lower costs both up front and over time.

Node.js is a software runtime. It's Server Side Java Script. It allows you to do is more with less lines of code.

Joyent's director of market development, 
Jim Farrell (@jimrafar)

Another benefit is the thriving and expansive community: In the Node, developers are never alone. A very savvy group of people are delivering innovative and useful packages all the time. "The Node community itself is very good at delivering packages. Node is less than a three-year-old runtime, but there are more packages on Node Package Manager (NPM) than there are for Ruby," says Farrell. Node.js code is easy to write, and many developers publish their own tools and widgets as open source for other to revamp, improve and transform. "Node.js allows you to build little tools and then post it and make it open source. Then the Node community will take it, change it, add to it." As a result, there is a very broad set of tools. If what you need isn't available right now, it probably will be soon.

Of course, many technologies make promises about all of their potential benefits, ranging from increased performance to infinite scalability. But how do the proponents of Node.js back up their claims? Well, Joyent itself is an Infrastructure as a Service (IaaS) player in the field of cloud providers, and their product has no problem going head-to-head with any of the more familiar names in the cloud computing sector, including Amazon. That's because Joyent has built their platform using Node.js, the software they manage and support. Joyent's public cloud can compete with Amazon largely because Joyent built its cloud middleware using Node.js. Because of the way their systems have been built, Joyent claims a two to twenty times performance increase over competitors, depending on the metric that is used. Joyent's philosophy has always been to build their cloud computing stack using Node.js, rather than buying software for their data center and application stack. Using Node.js has resulted in a cloud computing platform that accelerates mobile, including the efficient memory and CPU usage mentioned above as well as the ability to do vertical scaling with ease.

IT managers and software professionals who are tasked with architecting a unified, simple software development stack that can be used both on the server side and on the client side are moving away from the traditional application development platforms Microsoft and Oracle provide. And while many alternatives exist, the one that is experiencing the greatest uptick in adoption, especially with applications designers who are looking to build cloud-based application, is Node.js. And with its proven ability to power the Joyent IaaS cloud platform, along with software services used by the likes of eBay, Walmart and Yahoo, it can be expected that more and more enterprise computing environments will be shifting towards Node.js in the near future.

Dig Deeper on Development tools for continuous software delivery

App Architecture
Software Quality
Cloud Computing