When developing an application on Payara Server, it is very common to deploy directly to a local Domain Admin Server (DAS) instance, since this is the easiest and most straightforward way to test some code quickly from an IDE. When taking an application further towards production, however, it is highly likely that a domain with several standalone or clustered instances will be used across remote hosts. In this case, it will be very hard to ignore an aspect of Payara Server that may not have been obvious before this point - the concept of nodes.
This blog post will cover both what a node is and the types of nodes available with Payara Server.
What is a node?
A node, in the context of Payara Server, is a logical representation of a host where Payara Server is installed, which the Domain Administration Server (DAS) can use to locate and identify remote instances. A node must be configured for any host where an instance of Payara Server is to be created.
What types of node are there?
Payara Server has three types of node which determines how the DAS communicates with an instance:
SSH nodes allow for communication via SSH. A node of this type will most likely be useful if you need to remotely administer Payara Server instances on Unix-like systems such as Linux or macOS, since there is very often native support for SSH on these platforms. Though there is no native support for SSH in Windows, SSH can be configured through the use of programs such as Cygwin.
Payara Server can be configured to authenticate with either a password or a key file. Since Payara Server has the ability to create password aliases, the admin console can retrieve the list of available aliases and allow you to choose the correct one when defining a new SSH node. If key file authentication is preferred, then existing SSH keys can be used or, alternatively, Payara Server can automatically generate a new key pair.
DCOM nodes allow for communication via the Windows DCOM subsystem. This is only applicable to Payara Server instances on Windows hosts as DCOM is a Windows-specific protocol. DCOM nodes on Payara Server authenticate with the credentials of a valid Windows user, so it follows that that user must have correct permissions to access the directories where Payara Server is installed.
As with SSH nodes, the password alias function of Payara Server is tightly integrated into the admin console and a lookup is provided for existing aliases.
CONFIG nodes lack the configuration that Payara Server requires to communicate with the host's file system. As such, instances on a CONFIG node must be started by an outside process before they can receive any administration commands from the DAS. Otherwise, once started, Payara Server instances on CONFIG nodes can be administered in the same way as those on SSH and DCOM nodes.
How can I decide which to use?
Functionally, nodes do very little. The key practical difference is that instances on both SSH and DCOM nodes can be fully centrally administered - even to the point of remotely installing Payara Server - whereas instances on CONFIG nodes must be started manually before the DAS can perform administration tasks.
Both SSH and DCOM nodes take a little more effort to configure initially, but allow for more ease-of-use of instances created on them. In contrast, CONFIG nodes are very easy to configure but need some extra manual intervention if the instances on those nodes are offline.