The open source project PM2, which serves as a production process manager for the Node.js programming language, is expected to reach release 1.0 in about a month.
Sponsored by Keymetrics, PM2 features capabilities such as a cluster mode, for scaling a Node.js or Node application across all available CPUs; monitoring of application resource usage; and log management and deployment.
PM2 is mainly intended for keeping a Node website, application, or API online forever, enhancing performance, and helping developers maintain applications, said Alexandre Strzelewicz, author of PM2 and CEO at Keymetrics. PM2 also will work with io.js (a fork of Node.js) applications.
"Basically, PM2 will fork, monitor, and keep alive your processes," Strzelewicz said. "If PM2 detects anomalies -- memory limit reached, uncaught errors, memory corruption -- it will gracefully reload your Node.js process."
PM2 also is fitted for a microservices architecture. "For us, [a] microservice is separating the logic of a monolithic software into small applications subsets communicating together, in the same machine," Strzelewicz said. "For example, at Keymetrics we separated the logic of our software into multiple services, one handling the API, one handling all PM2 connections, one handling the limitations, another processing reports." To accommodate microservices, PM2 has capabilities such as application declaration and granular application management.
The software has been downloaded more than 2 million times, according to Keymetrics internal statistics. While PM2 is available and free to use, Keymetrics can augment production workflows in terms of monitoring and application management.