Node Summit 2015: The Pros & Cons of Switching to Node.js

Node Summit 2015

 

What is Node?

From Nodejs.org site - Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

What does that mean? In traditional web servers, each connection request spawns a new thread. Each thread takes up its own memory, and when the server hits its limit, it rejects new connections. In Node.js, since all I/O is implemented in an asynchronous, non-blocking way and combined with a single-threaded event-based loop, node.js can keep many connections alive without having to reject new incoming connections.

 

Node is incredibly efficient at handling connections

Well architected Node applications are enabling Enterprises to handle 5x-10x the number of connections on a single server than previously. This results in a huge value for the data center, for maintenance, and for all sorts of ancillary costs. The Node Summit was full of panelists and presenters, like GoDaddy, making claims that they were seeing a 10x reduction in number of servers. Most were also concurrently seeing faster response times as well.

 

Node.js is already in the Enterprise

Not surprisingly, given the huge value above, most forward-thinking enterprises began transitioning their applications to node over 2 years ago. Panelists from Paypal, Groupon, Netflix, Walmart all confirmed that Node.js now powers or will power most of their Web & Mobile properties. IBM & Microsoft also seem to be making broad investments in Node.js. Heroku mentioned that Node.js is now the second most widely used Application platform on their servers.

 

Node.js is bringing in unexpected developer productivity

Most Enterprises are combining Node.js along with AngularJS on the front end. Using Node.js as part of the MEAN stack is bringing unexpected benefits. First, developers are able to code the entire stack in JavaScript. This is blurring the lines between front end and back end developers. Having full stack developers improves communication, developer morale, and reduces the communication overhead between silos. Add in the fast prototyping capabilities in the MEAN stack, and panelists were claiming a 2x improvement in developer productivity.

 

Node.js needs tool maturity

Running a large web application with a lot of customers is not a trivial task regardless of the technology utilized. Think process monitoring, logging, error traces, cluster management, CI/CD, test automation. The list goes on. Panelists at the Summit shared their experiences and best practices with all these processes, but the common theme was that they had cobbled together disparate open source tools to achieve this. This can be challenging for smaller companies, as well as companies that do not have savvy forward-looking engineering staff.

 

Async Programming has a learning curve

Developers coming from traditional environments like Java and .Net will need 2-3 months of working on Node.js before they experience the ‘aha’ moment. Typically developers struggle for awhile with the async programming model and callbacks before they become second nature.

At iTexico, we are pretty convinced that the MEAN stack and by extension Node.js is the future of Enterprise application development. We will be focusing and investing in developing our talent in that area. We are proud to announce our training in Guadalajara with our partner StrongLoop.

Check out our training page if you are interested.

 

About the Author:

Abhijeet Pradhan is the CTO and Co-Founder of iTexico, a software services company that offers convenient mobile and cloud solutions and extended teams. Abhijeet is passionate about Technology and its applications to everyday consumer and business life.

Download our Free Whitepaper and learn more about why nearshore outsourcing in Mexico makes complete sense.

This “Nearshore Plus” model of software development offers Convenience at the core. 

  1. Cost-effective 
  2. Flexibility
  3. Time savings
  4. Talent
  5. Access to domain knowledge
  6. Meeting expectations
  7. Scale-up teams skills

Whitepaper_Mexico

Nearshore whitepaper / Why Mexico is the next frontier for software development?

You may also like:

Post Your Comment Here