You can pick your nodes. You can pick your friends. But you can’t pick your friends’ nodes! That’s a terrible pun but we like puns and we like to try and get people’s attention and maybe make them laugh. Have we done that? On to the serious stuff.
Enterprises are busy developing new applications to respond to rapid business changes. Over the years they have developed a lot of monolithic applications and have accumulated a lot of what I call technology debt. Business are expecting the release cycles for new features in few days but the release cycles of these enterprise applications are typically in months. That sort of disconnect doesn’t make anyone happy.
With that in mind we’re starting a new blog series on Node.js, which has started addressing these challenges faced by the enterprises successfully. Today we’ll provide some background before diving into greater detail in future blogs.
The main reasons for widespread adoption of Node applications are:
- Shorter development cycles
- Vibrant Node.js developer community with a lot of reusable libraries/modules.
- Easier scalability, lesser resource footprint
- Better performance, because of non-Blocking IO of Node.js
There are published reports such as this from Paypal which show that Node has improved the productivity of developing the web applications significantly as compared to traditional development approaches like Java.
How Node.js is getting used in Enterprise applications?
There are many examples of successful Node based applications in the enterprises across various industries like media, banking, retail, etc.
One of the largest retailers is using Node as the backend platform for their mobile applications to handle the peak load. A large media house is using Node based applications to manage the huge media assets which are consumed by its users. One of the largest payment processing organization is moving its consumer facing web applications from traditional technologies like Java to Node for better performance gains as well as faster development cycles.
Typically enterprises use service bus technologies for integrating applications. However the trend is changing in the recent past and APIs are increasingly used. With Node, the API gateways can be quickly developed. Node is increasingly used for developing adapters to connect with various data sources and legacy applications. Node is also used for building service orchestration.
There is a lot of development happening in the IoT space and Node based backend services are able to handle the enormous events. Some of the leading Cloud services like AWS and MS Azure have Node as one of the development platforms for these backend services.
In fact, some leading cloud providers like AWS are coming up the new computation models like Lambda, wherein the developers don’t need to worry about provisioning and scaling the servers. The cloud provider takes care of that and executing the code. Node is used for developing services because of the excellent support it provides for event based processing.
Node third party support and developer community
There are some niche players like StrongLoop, New Relic, NodeSource, who are busy developing Node modules and the essential tools which are needed for deploying, profiling, monitoring Node applications in production. This has increased the acceptability of Node platform with the enterprises.
Node has a very vibrant developer community and it has one of the biggest open source repository in terms of node modules.
Large organizations have setup processes for certifying the use of third party Node modules in their organizations and also internal repositories for node modules are being setup.
Node is finding its place in many widely used SDKs used for various use cases like CRM, Cloud services, Social Media, payment processing, etc.
Node is backed by some of the world’s largest software companies like IBM, Microsoft, Redhat, etc. There have been some stable releases of the Node platform in the recent months.
The recent acquisitions of niche Node players like StrongLoop by large companies like IBM, confirm that Node is going to be a strong player for developing the Enterprise server applications.
Next in this series
In the subsequent articles of this “Node.Js for Enterprise” series, we will look at the Node.js development best practices and making the Node applications production ready.
Image Credits: nodejs.org