AI tools have opened web development to people who never wrote code, and developer platforms such as Vercel and Netlify already serve about a third of new websites. For hosts that run Node.js applications, that’s a growing market.
It pays only if a server can run many small applications at once. CloudLinux now raises the number of Node.js applications each server can run, so the same hardware can earn more. Two beta releases are available today for web hosts who want to get started.
Our data confirms the rising opportunity. Earlier this year, we counted more than 200,000 Node.js applications on 16,000+ CloudLinux servers, 51% more applications than the year before.
Disk. Each application installs its own copy of every npm package it uses, even when the application next to it uses the same packages.
Memory. An application holds memory for as long as it runs. Phusion Passenger, which Node.js Selector runs applications through, can stop one that nobody has visited for a while and give that memory back. But the next visitor then waits while the application starts from scratch, so keeping idle applications running is the safe choice, at the cost of fitting fewer of them on each server.
Less disk per application. The Shared Store for node_modules keeps one copy of each package version per server and shares it, read-only, with every application that uses it.
Idle applications can sleep. With snapshot restore, Passenger wakes a stopped application from a snapshot, a saved copy of a freshly started Node.js process, instead of starting Node.js from scratch. In our benchmark, the time to first byte (TTFB) for the first request after an idle stop was about 15% to 60% less, depending on the application. So idle applications can be stopped sooner to reclaim their memory.
Each application still runs inside its account’s limits, so a busy one slows only its own account. How many more applications a server can hold depends on two factors: how many use the same packages, and how much of the day they sit idle.
Same server, same memory, same disk
Typical Node.js hosting
Every application keeps running, with its own copy of every package
■ Running
Memory
Full: every application holds memory
Disk
The same packages, stored once per application
With CloudLinux
Idle applications sleep and share packages, so more of them fit
■ Running □ Asleep, wakes from a snapshot + Room for more
Memory
Only the running applications hold memory, leaving room for more
Disk
■ One shared copy of each package ■ Snapshots □ Free
Illustration, not to scale.
Both new features are in beta.
Both are off by default, so you choose where to turn them on. Each has its own post with the steps:
Tell us how they run on your servers in this short form.
RunShield, announced today, protects the Node.js applications you host, without needing any code changes.
Akos Vajda
Comments