Software Components for Junos Space Nodes
The Junos Space Appliance (JA2500) and Junos Space virtual appliance both run the same software stack, as shown in Figure 1.
The Junos Space software architecture is based on a combination of the following mature and proven software components:
CentOS 6.8 distribution is used as the underlying OS of the appliance. CentOS distribution is binary compatible with Red Hat Enterprise Linux (RHEL). Services that are required for Junos Space are leveraged from this distribution, with all other services removed. Junos Space administrators do not need to directly access the Linux components because all operations, administration, and management (OAM) of the platform is performed from the Junos Space user interface or CLI. At the same time, it is important to note that the underlying operating system is an industry-standard distribution with a strong heritage of reliability and security.
The MySQL Enterprise Edition 5.5 relational database service provides persistent storage for the Junos Space Network Management Platform and all hosted applications. A common database instance stores all persistent data that the Network Management Platform requires. As shown in the preceding illustration, each pluggable application that is installed on the platform has its own unique database instance. All database instances are contained within a single MySQL server, which runs on two nodes in the cluster to form an active-standby cluster. The remaining nodes in the cluster do not run a MySQL server.
JBoss 7.1 Application Server is the container that hosts the presentation layer, business logic layer, and data access layer of Junos Space platform as well as the hosted applications. One JBoss server runs on each node in the cluster and they all work together as a single load-sharing cluster.
Apache HTTP Server (version 2.2.21) is the front-end load balancer for all requests coming from GUI and NBI clients. This server runs on two nodes in the cluster which together form an active-standby cluster.
Network monitoring services are provided using OpenNMS, which is an award winning, enterprise-grade network monitoring platform developed under the open source model. OpenNMS is integrated into the Junos Space Network Management Platform Network Monitoring workspace and provides fault monitoring and performance monitoring features. Junos Space uses PostgreSQL as the relational database server for persisting fault and performance data.
The following software components or services also play a significant role in the overall management of a Junos Space cluster:
Distributed Resource Manager (DRM)—DRM is deployed as a service inside the JBoss application server, just like all other services provided by Network Management Platform and the hosted applications. You can think of DRM as the server-side component that you interact with when you navigate to the Network Management Platform > Administration > Fabric workspace in the Junos Space user interface. DRM works together with the Node Management Agent to fulfill the following responsibilities:
Managing the Junos Space cluster—DRM implements the business logic for adding and removing nodes in the cluster and monitors the overall health of the cluster.
Managing the logical clusters in the cluster—The logical clusters within the physical cluster formed by the Junos Space nodes include the Apache Load Balancer cluster, JBoss cluster, and Database cluster. DRM implements the business logic to add and remove nodes in these logical clusters and monitors their status. The logical clusters are described in detail in Understanding the Logical Clusters Within a Junos Space Cluster.
Node Management Agent (NMA)—NMA runs on each node in the cluster and is deployed as a set of CGI scripts run by an Apache HTTP daemon. NMA has the following responsibilities:
Monitor system resource usage on the node and the health of various services running on the node.
Start and stop services on the node based on requests from DRM.
Manage the configuration files for various services running on the node.
Manage installation, uninstallation, and upgrades of pluggable applications as well as upgrade of the Network Management Platform software on the node.
Watchdog—The watchdog service (jmp-watchdog) runs on each node in the cluster to ensure that required services on the node are running. Every second, the watchdog checks that the required services are running and if the watchdog detects that a service is down, it restarts the service.