Node.js has been the runtime of choice for developers over the last several years thanks to its ease of use and ability to deliver quickly. As the ecosystem grows and expands, Node.js is becoming more than our thriving community ever imagined.
As we head into this year’s Node Summit, we wanted to take a moment to reflect on how far the technology and Node.js community have come. We also want to provide some context around where we think Node.js is heading, the challenges it faces and how we see the community coming together to address those challenges and evolve the technology.
In just eight years, Node.js has grown to more than 8 million instances online. The majority of users said in a recent survey that they plan to increase their reliance on it. It’s expanded into new geographies, with China boasting the second-largest user base outside of the U.S.
Node.js has evolved into what the community is calling a “digital transformation framework,” and we think it’s an apt description. Practically speaking, Node.js is helping users do everything from front-ending legacy systems on to the cloud to building microservices, tapping into serverless frameworks, handling mobile application delivery, integrating non-web systems and providing a foundation for the Internet of Things as a platform.
In short, Node’s role in the ecosystem cannot be overstated.
Where Node.js is headed
At IBM, we’re seeing the user base, including our customers, adopt container technologies for their cloud and on-premises deployments across the board using Cloud Foundry, Docker and serverless deployments. Node.js is often the runtime of choice for these cutting-edge environments due to its small footprint, fast startup time, asynchronous I/O and high scalability.
As enterprises increasingly deploy their applications in these container-based infrastructures, we believe that will only accelerate uptake of Node.js due to the great fit between the two technologies. Node.js has proven to be quite adaptable and as a result is often the first runtime supported by new deployment environments and we believe this trend will continue.
Node’s unique challenges
As any technology moves through the adoption cycle from early adopters to broader use, users will have different challenges and this is true for Node.js as well. As Node.js is more broadly adopted in the enterprise we see two major areas that the larger community will need to come together to address:
1. Monitoring/problem determination: There are two main scenarios:
a.) Monitoring to predict problems and correct them before they happen.
b.) Something went wrong, and now we have to figure out what actually happened
In the first scenario, you need the right tools to be able to monitor your applications and predict that things aren’t going right ahead of time.
In the second scenario, where things have already gone awry, you need the tools and processes to be able to figure out and resolve the problem as quickly as possible.
Some questions the larger community will have to help their users answer more effectively moving forward: How to apply tried and tested approaches to Node.js both in existing and new container based deployments. How do we do a better job of figuring out where failure happens in a applications that are composed of many containers and microservices?
2. Ensuring users can get the most out of Node: Everybody knows there’s very large ecosystem out there, and it’s one of the things that helps you accelerate how quickly you can put together applications. You can find code that’s already been written that allows you to do whatever it is you’re trying to accomplish. The problem is that there are more than 475,000 modules. How do you know the module you’ve chosen is good? How can you ensure that it and its dependencies only use licenses that are acceptable to you?
Organizations need a level of trust in the modules they depend on. You want to be able to find the right code, and then once you’ve found it, you want to be able to make sure you’re comfortable and secure in using it. Many organizations also want support from trusted partners like IBM and the question is how this is achieved when using modules from the ecosystem.
Taking Node.js to the next level
As we look to push Node.js into its next phase, IBM is working in the community to foster efforts on these fronts. There are countless ways that the broader community is coming together to address the challenges we outline above, and the Node Summit is an ideal place to do this.
We’ll be inviting people to come together at the summit to share their valuable insight and knowledge to help feed into the efforts that the broader community is taking on. We value your insights, and in the spirit of open source, it’s always our goal to collaborate with you and the community to leverage your perspective.
And for our customers who are taking advantage of Node.js, it’s our goal to make sure we’re focusing on the things that are important to you.
Connect with us in person
Prior to the Node Summit on June 24, IBM is hosting a pair of events, including a workshop and a meetup. Click the links to register for these free events and let us know you’re coming:
We look forward to seeing you in San Francisco!