Accepting selected projects for Q2 2024 Check availability
SERVER 02SYSTEM ONLINELAST SYNC: 03:17:44RSS_FEED.XML — PARSE WARNING
HALF ASSEDTECHNICAL NOTES_
EST. 2009ISSUE 04.2BEST VIEWED AT 1024 × 768
TECHNICAL NOTES / PRACTICAL GUIDES / PLATFORM / RECORD 964cd2
[PLATFORM]GUIDE

Moving a production service to Node.js 12 LTS

POSTED: 21.11.2019AUTHOR: ADMIN10 MIN READCOMMENTS: 0

Node.js 12 entered LTS in October 2019. A production migration must account for the V8 runtime, native modules, TLS behaviour and long-lived process state as well as application test results.

Establish dependency support

Use the lockfile to identify packages and native add-ons, then verify maintained versions against Node 12. Rebuild modules in the target operating image rather than copying node_modules from another runtime or workstation.

Compare runtime configuration

Record command-line flags, environment, memory limits, CA certificates and process-manager settings. Exercise outbound TLS, DNS, streams, buffers and child processes used by integrations and background jobs.

Run production-shaped tests

Test startup, graceful shutdown, queue consumption, scheduled work and representative concurrency. Compare event-loop delay, heap use, garbage collection and response latency with the current LTS runtime.

Canary immutable artefacts

Build one release for the target runtime, send a small share of traffic or workers to it and retain the old pool. Keep session and message formats compatible while both versions are operating.

Complete the support transition

Update local development, CI, base images, monitoring and operational documentation together. Set a removal date for the old runtime so a rollback pool does not become an unpatched permanent tier.

LTS BOUNDARY

A package installation that succeeds is not evidence that a native module, deprecated API or long-running worker behaves correctly under the new V8 version.