Node Summit 2015: The Pros & Cons of Switching to Node.js
What is Node?
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
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.