Developing Enterprise Applications Using Node.js

Developing Enterprise Applications Using Node.js

Adopting Node.js as a technology choice for enterprises has been growing exponentially since the past three years thanks to its tremendously rising popularity since 2011.

Here is the snapshot from the Google Trends:

Industry leaders like Walmart and PayPal are achieving a competitive edge and gaining performance optimizations by developing Node.js applications. Node is considered as a well-suited technology for enterprise applications because unlike traditional development methods, Node.js composes applications from small modules which are connected together. Using Node.js, organizations can develop a group of small applications instead of one large application therefore in case there are changes to be made or any new functionality has to be added, the entire code-base can be modified.

Certain benefits in a precise way are mentioned here:

  • Rapid-Innovation and Delivery
  • Happy Developers and Talent Retention
  • High performance within high-transaction environments
  • Simplified maintenance and modification
  • Increased Productivity and Effectiveness
  • Node.js is a politically neutral language
  • Node.js offers speed and a nonblocking I/O AP
  • Node.js is ready for enterprise deployment

A- Business Benefits of Node.js

1: Rapid-Innovation and Delivery

With the increase of competition among companies, the speed of delivery and ability to iterate are some key attributes of market leaders. Such competitive scenario demands instant reaction to end user needs, incorporating user feedback and hence updating the desired changes regularly.

2: Happy Developers and Talent Retention

Of course, you can do anything with Java, but one cannot deny from the fact that best developers like to work with new and interesting technologies therefore with Node.js applications expression of ideas comes in a much better way. Hiring top talent and good developers is extremely difficult and enthusiastic developers means a fresh demand of better software.

3: High performance within high-transaction environments

Some market leaders like PayPal, Groupon, WalMart Labs experienced great benefits from Node.js application implementation.

PayPal experienced double the number of request per-second and reduce response time by 35%.

WalMart Labs put all of their mobile traffic through Node.js on black Friday in the year 2013, which was the busiest shopping period of the year. Similarly, such success stories happened with Groupon and LinkedIn where they re-implemented their system in Node.js.

Groupon re-implemented their system in Node.js which helped them in dropping the page load time by a whopping 50%. LinkedIn moved to Node.js from Rails for their mobile traffic whereby reducing the number of servers from 30 to 3 and the new system was up to 20x faster.

4: Simplified maintenance and modification

With time traditional monolithic applications have become rigid and quite difficult to adapt as the new requirements are added.

Writing applications in Node means that applications are composed from small modules which are bind together.

Node.js allows development of small applications instead of one large application which enables changes or new functionality to be added deep inside the entire code-base.

5: Increased Productivity and Effectiveness

Node.js uses JavaScript in its programs, which means large number of chunks which exist between frontend and backend developers are now broken and this results in efficient development process.

Node.js has a great package management system called NPM which is the first package system for JavaScript to get its dependency management right. NPM effectively removes the possibility of experiencing dependency problem. Node also possesses vibrant user-land and huge number of modules which are available via Node.js package manager.

Success Story: PayPal experienced increase in productivity in less time when they chose Node.js over Java.

6: Node.js is a politically neutral language

While other programming languages are facing the debates and adherence of maintaining standards, Node.js is quickly becoming the choice of all. Node.js language is welcomed and accustomed by both Java and .Net developers and therefore they are very much comfortable in using JavaScript syntax and are able to deploy Node.js both in Unix and Windows.

7: Node.js offers speed and a non-blocking I/O API

Concurrency is difficult in many server-side programming languages which often leads to poor performance. Node.js overcomes all such issues. Node.js for enterprise application development provides an event-driven architecture which optimizes application’s throughput and scalability. A simple code written by developers can be easily captured by Node.js. Instead of processes or threads, Node.js uses event loop. Callbacks are defined and the server automatically enters the event loop at the end of callback definition. And Node.js exits the event loop if there are no callbacks to be performed.

8: Node.js is ready for enterprise deployment

Node.js for enterprise applications, holds a good reputation of being secure, well-scaled and easy to learn therefore it appeals to a large set of communities. There are many well-known establishments who are reaping benefits of Node.js which includes PayPal, LinkedIn, Netflix and much more.

Blog Highlights

Advantages of using Node.js for enterprises:

  • 1: Node.js makes development faster and increases the productivity of teams. The great credit goes to NPM which has a large set of modules that can be used instantly.
  • 2: High scalability of Node allow you to spend quiet less time on infrastructure, as you can handle the same amount of load with less hardware.
  • 3: Node.js promises a deep-rooted long term support plan which ensures that each release is going to be maintained for 30 months.

While we are saying that Node.js is enterprise ready, we are not just highlighting the advantages of Node.js, but here we have summarized what market leaders and developers have to say in regard of Node.js.

B: Straight From Success Diaries

B1: Dow Jones Benefits By Node.js

node.js app development
Back in year 2010, Dow Jones was already using JavaScript. According to Scott Rahner’s expression, the developer team started uses Node.js in their production for the first time in year 2011 during a experimental Facebook reader application, “Wall Street Journal Social”. They experienced great performance in the application and the development process just took only few weeks.

The newly appointed CTO was overwhelmed about the success achieved using node.js, therefore he pushed management to support it and soon announced Node as their primary technology at Dow Jones. At Dow Jones, today most of the products are Node.js based especially the consumer side products.

B2: Uber Runs on Node.js

Let’s take a stroll at latest NodeConf talk in December 2015 where Tom Croucher – Senior Site Reliability Engineer at Uber Technologies, has something delightful to share.
node.js app development for enterprises
Most of the development in Uber was done in Node 0.8. Then they moved to Node 0.10 in six months. According to Tom, node 0.10 is super stable and works well. Technologists say that heart of 15 billion dollar business is written as server-side Node. Reliable distributed systems with replication and geospatial databases are written in Node. Well…

B3: World of High Speed and Good Volume for GoDaddy

A narration of the story by Stephen Comissio, senior (ex) .NET developer in which he explained what made them switch to Node.js. and how it benefited the company.

Few years back GoDaddy employed some quite experienced Java and .NET. They could easily make out that it was the future of an agile company, hence to start with cultural shift they began prototyping Node.js applications in the year 2013. The front-end of GoDaddy always relied on JavaScript and single-page applications by that time, but the backend ran in .Net stack. To increase the hosting capabilities, company decided to revamp its entire backend to a node.js based infrastructure.

So, finally let’s know what made them switch to Node.js:

  • Node allows easy building applications with high confidence in build quality
  • Unit testing is easier in Node.js
  • Integration testing is also simplified
  • REST is simplified and deployments are easier.

During the ‘Puppet Master’ SuperBowl ad in 2014, GoDaddy faces biggest scaling challenges. They aimed at 100 million people as viewers to visit a website, made by one of their customers with their Website Builder app. During that time GoDaddy’s infrastructure handled 13.000 RPS’ with ~87ms TTFB (Time To First Byte) on an average day. But this was not enough and they had to think bigger and better both. They estimated that website alone has to handle 10.000 requests per second. In order to support such huge amount of traffic the site would require manual migration to its own cluster which must comprise of 12 servers, but they were succeeded.

According to Stephen, GoDaddy now can handle the same load with only 10% of the hardware than before using Node.js. They succeeded in fewer server management. They were able to serve 1.7 million requests per month and survived DDOS attacks with basically zero impact by using Node.js. Node.js has been boon to GoDaddy in terms of talents acquisition. They firmly believe that Node allowed the increasing number of downloads, high number of enterprise adoption and contributed to the massive growth of startups.

B4: Increased Productivity of PayPal with Node.js

Sameera Rao, Sr. Business Products Engineering Manager, before joining PayPal in 2012 was associated with a startup which deals with microservices and Node.js. Going back in time, he says that PayPal’s architecture was monolithic, so practically there was only one app which had everything which includes controllers, UI and cohesive call to the API for all the operations. There was a lot of redundancy happening like teams copy-pasted code, tweaking needed for a particular country and then rolling out another application. He adds “From engineering perspective, it was like an assembly line”.

Rao explained that Node.js and an all JavaScript development stack helped PayPal in bringing efficiencies in engineering and therefore helped them in rethinking and rebooting from product, design and operational point of view. This exercise aimed to align all teams and they could come together and fortunately, it worked.

PayPal managed to move old architecture and mindset to the new service-oriented framework. They scaled Node.js and Kraken.js for a global organization with multiple teams working on the same project. Conclusively, Node gave for them the ability to modularize every piece of the stack hence global teams were able to roll out experiences in a much quicker way.

B5: World of Wonders for Netflix Using Node.js

Director of UI platform engineering at Netflix, Kim Trott, told the story of Node.js at the latest Node Summit in Portland.

The tale started in 2013 when Netflix was not using Node.js in production at all. A large legacy application with 40 minute startup times, with running monolithic application, slow builds and huge developer machines. This affected the ability to be more productive and innovate rapidly. Even they were not able to build out A/B testing effectively enough, which was very much crucial since Netflix is constantly doing 100’s of A/B tests simultaneously.

For them, it was getting on nerves to do a lot of things twice. It was like, writing everything twice, once for server and then again for a client. They were running Java on the server and JavaScript on the client. They had two various ways of debugging, data access and rendering, hence it was difficult for them to work under such environment. Hiring trained professionals was not also helping them. They were not moving at the pace of innovation which was needed to keep with the business.

They were simply looking for single rendering layer where developers just have to worry about routing, viewing of templates and sending data to the templates. Netflix also wanted to move the website to single page application instead of rendering each page fully.

Netflix chose Node.js as they wanted a common language to write the same code. Therefore, writing once and running it everywhere. This served a great aid to developers who were constantly busy in switching all the time between Java and JavaScript.

So, now Netflix is running more as a single page application, and with a rich user experience. Now Node.js is used on the entire website. More than 30% of the Netflix team is working on Node in production. Technologists at Netflix says that “you can go from 0 to 60 with Node really fast, so you can get something going really quickly.”

C: The Future Of Node.js Is Bright

Node.js for enterprise applications fits the enterprise world and can be adopted successfully with great benefits. On NodeDay, Eran Hammer has announced that WalMart is planning to use Node.js across almost all e-Commerce by the end of 2014.

PayPal is also rolling out Node.js across their entire web application and hence Node.js will be used almost everywhere within 2 years.

New Entrants such as Netflix uses Node.js for enterprise application development and others are even showing that there is a big growth happening in this area at present.

References: nearform.com, risingstack.com, infoworld.com, persistent.com, progress.de

The following two tabs change content below.
Rachit Agarwal

Rachit Agarwal

Director and Co-Founder at Algoworks Technologies
Rachit is leading the mobility business development function, mobility strategy and consulting practice at Algoworks. He is an expert of all mobile technologies and has experience in managing teams involved in the development of custom iPhone/iPad/Android apps.
Rachit Agarwal

Latest posts by Rachit Agarwal (see all)

Rachit AgarwalDeveloping Enterprise Applications Using Node.js
  • Vignesh Chinnaiyan

    Great Blog about node.js usability. Thanks !

  • Shane

    I would like to suggest an amendment to point 2. You CAN do anything with Java, but only if you can actually get it running.