question

Kurt A. avatar image
Kurt A. asked ·

How is Node.js licensed? When is a Node.js process started and consumes a licnese?

I am wondering what's the actual unit/mechanism which consumes one Node.js process license.

configurationagentserverlicensenodejs
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Kurt A. avatar image
Kurt A. answered ·

I try to clarify the terms here:

  • Per process we need one node.js license
  • node.js license are bundled in 10 packs from a price point of view => you can buy 1 to xx 10 packs
  • How these licenses are distributed over different server is up to the customer: e. g. 5 * 10 packs = 50 licenses (processes): 20 can be assigned to server A, 15 to server B and another 15 to server C
  • If the licenses are exhausted and you have only partially processes licensed, you will only receive data from those processes which have a valid license.
  • License assignment could be used to reserve agents per technology, per system profile and agent group to avoid that
  • All node processes can be listed by using e.g. $ ps -e|grep node
Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Praveen B. avatar image
Praveen B. answered ·

Super. Thanks for the clarity.

Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Praveen B. avatar image
Praveen B. answered ·

Hi Daniel,

For Question #1, may I conclude that the node.js licenses are tied to processes running on a specific host?

Assume a scenario where a customer has node.js processes running on 5 different Hosts.

a. Initially each host is running only 2 node.js processes. The customer would have to buy 5 Agent licences (10 processes each).

b. If one of these 5 hosts like Host-2 has 15 processes instead of 2 processes, then 2 agent licences (sufficient for 20 processes) would be consumed by this host-2 itself. Now 6 Agent licenses would be required now.

Is this a correct understanding?

Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Daniel K. avatar image
Daniel K. answered ·

To 1: No - one licence can not be distributed to multiple servers.

Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Praveen B. avatar image
Praveen B. answered ·

Hi Daniel, Kurt,

I have two queries on licensing of node.js (as asked to me by a customer).

1. Assume customer purchases 1 licence (10 processes) of node.js agent. May the 10 node.js processes be distributed across different servers (like 4 processes in Server-1, 6 processes in Server-2 etc)?

2. If node.js is configured to dynamically add more child processes to handle higher no of user requests, what would happen to license bursts? How is this issue expected to be handled?

I have a misc question:

How can we as FTS ascertain the no of licences that would be required by a customer?

What system command or utility should we use to count no of node.js processes?

Is a simple 'ps -ef' be sufficient? Can you provide an example?

I am not familiar with node.js and hence I am asking this question.

Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Daniel K. avatar image
Daniel K. answered ·

Customers often use the cluster module that spawns N childs pro master. This will consume N + 1 licenses (1 master + N childs).

Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Patrick T. avatar image
Patrick T. answered ·

NodeJS spawns one process per node to handle requests. Each process consumes one license and it is bundled in 10 process packs.

Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.