Published 9th October 2019
I’m sure many regular readers of the NearForm blog are wondering why we’re doing a post about adopting Node.js in 2019. Particularly given that some of us have been using it in production since 2011. The reality is that the vast majority of software out there isn’t Node.js and all of the problems of legacy stacks continue to grow.
So we thought it was time to reiterate the benefits for those who still haven’t made the jump, while not forgetting that there’s no single silver bullet and just switching languages is never enough.
There isn’t a single enterprise today who couldn’t benefit from maximising their agility and responsiveness to market conditions. But for organisations whose technology infrastructure still rests on slow monolithic apps riddled with technical debt, that agility is hard to achieve.
So let’s dive straight into the top 5 reasons you should look to Node.js for your next project.
If that title sounds familiar, we’ve got a fantastic e-book on the same topic that you may feel an overwhelming temptation to download after reading this blog.
But first: let’s look at those benefits, starting with my favourite:
1. Get apps to market faster
This has been the number one reason since the start of Node.js. Developers are simply more productive with it. When a challenger bank is releasing web app updates daily whilst you are on a 6-month cycle, you just can’t compete. This is about far more than the language, it’s also about the 700,000 Node.js modules on NPM. Your developers can focus on building high-value business logic instead of generic boilerplate. Is all the code on NPM of high quality? Of course not. But for every bad module, there are 10 good ones which can do the job better. Concerned about bad actors or security holes in packages? Look at fantastic services like Snyk to protect you.
As for NearForm, some of the Node.js modules that we maintain have been downloaded over 3.5 billion (!) times in the past 3 years.
2. Raw Performance
No end-customer wants to be kept waiting for a sluggish website or mobile app. We have seen time and again that you can deliver more performant back-end services more quickly with Node.js. Not only that, but it’s getting faster. According to the 2018 Node.js Foundation User Survey Report, it is continuing to have a positive impact on many users – primarily through increased productivity and satisfaction, reduced development costs and increased app performance. Node.js’s programming model has continued to deliver the goods in terms of throughput and memory usage for high volume back-ends. Node.js powers the backend for two of the biggest online marketplaces – eBay and AliExpress – a testament to its speed and reliability. And the addition of features like promises and async/await has made it much more approachable for traditional developers. From a business perspective, higher performance means lower cost.
We’ve helped many companies over the years, highlighting common pitfalls and programming mistakes, and helping them achieve optimum performance. By pinpointing bottlenecks in their applications and giving Net-a-Porter the knowledge and tools they needed to do it themselves, they achieved a 50% increase in throughput while reducing server costs by 60%. “NearForm’s training has helped us to dramatically improve performance in one of our key customer-facing applications. Now we know where, why and how to target potential issues, ” says Robin Glen, Senior Developer, Net-A-Porter. With free open source tools like Node Clinic, designed and built by NearForm, teams of developers can identify and diagnose problems in their code which is an essential part of the journey toward highly performant applications.
3. Modern architectures and scalability
We’ve already mentioned that Node.js provides a quick startup time, low resource consumption and high performance. It’s these features that make it perfect for supporting the new generation of apps which leverage microservices and are built to run in the cloud. Microservices really are the secret sauce that allows the modern generation of disruptive software companies to do what they do and iterate so quickly. Microservices enable separate teams to develop, maintain and deploy each part of an application independently. Interaction points between each of those parts are clearly defined through APIs over the network, and Node.js excels in ensuring that the communication among all those parts of the application is super fast.
At the London School of Marketing for instance, we built a new online education platform that incorporated a cloud-based, microservices architecture on a Node.js runtime environment. The combination allowed for enhanced scalability and adaptability, exactly what the business required to adapt to business growth, changing markets and new business drivers.
You’ll often find Node.js deployed on top of the open source container orchestration system Kubernetes, which automates deployment, scaling and management of containerized applications. Node.js and Kubernetes are perfect partners, complementing each other’s strengths and giving an organisation exceptional power to scale their applications while minimising costs.
Finally, the use of Node.js in IoT applications is exploding. All of the Node.js IoT SDKs of the major cloud vendors are built on MQTT.js, which was created by NearForm’s Matteo Collina. At NodeConf EU 2018, we sent 1.24 million MQTT messages from cheap Raspberry Pis running Node.js code to Azure IoT hub in three days.
4. Developer delight
So you already know that the ready-made modules in the Node.js ecosystem let you get to market faster, but what about having the Node.js skills in-house? Many of the world’s most meteoric and disruptive companies have scaled globally, fast, and continue to innovate at impressive rates, thanks to their foundations in Node.js. According to the 2018 Node.js Survey of more than 1,600 developers and development management, 68% cited Node.js as increasing developer productivity.
At Moody’s, with whom we worked to help migrate away from a .NET architecture to Node.js, developers’ productivity increased significantly, with the iterative build time (where developers change and re-test their code) reduced by 70 per cent. With the introduction of a CI/CD environment, they have better visibility of the changes in the code and can be tested immediately.
Even if your developers haven’t used Node.js before, that’s not a deal-breaker: about half of the respondents in the 2018 Node.js survey said that it was generally easy to learn Node.js, while 62% cited increased developer satisfaction using Node.js. Don’t underestimate the importance of developer satisfaction: happy developers aren’t just productive, they’re also more likely to stay with you, a big advantage in a competitive market for skills.
5. The power of community and open source
Open Source software and the philosophy of code reuse have become central, mainstream concepts in modern software development. The sheer power of numbers in Open Source communities means that they become self-cleansing, with no greater chance of impactful vulnerabilities than in proprietary software.
The governance model that oversees collaboration between individuals in open source is also proven one, with Node.js improving both its quality and velocity when it was released from corporate control. A perfect example of open source building on open source is Fastify, the fast low-overhead web framework written by NearForm’s Matteo Collina together with Tomas Della Vedova. Fastify is powering a large ecosystem of organisations and products including such charitable projects as Hospitalrun.io.
The open-source community’s creativity and productivity has also been paid homage by the InnerSource movement, where innovative companies adopt a similar development model for their in-house software development, with a focus on code reuse.
Node.js and eyes on the prize of rapid application development
It’s no secret that the CTOs inside even some of the world’s most conservative industries and organizations are looking to transition to a more agile way of working, moving away from traditional waterfall software development, embracing microservices, and generally evolving how they build, deploy, maintain and update their code. They’ve recognized the power and permanence of the open source movement, as well as the proven ability of Node.js, microservices and cloud-native architectures to deliver high-performance, fast-to-market applications that let their technology teams deliver more effectively on business goals.
We’re seeing this evolution every day at NearForm, in our interactions with enterprises. It’s such an exciting time, as there seems to be a general, board-level recognition that enterprises can achieve a new and permanent improvement in their competitiveness and agility by transitioning to newer methods and tools. And for organizations in some of the world’s most competitive sectors, that means everything.
Conor O’Neill is Chief Product Officer at NearForm. Feel free to connect with him on LinkedIn.
Follow us for more information on this and other topics.
Talk to one of our senior team for expert advice
Chief Product Officer