AppFormix General Requirements
As described in Understanding the AppFormix Architecture in a Cloud Infrastructure, the AppFormix software installs onto two types of hosts. A controller host executes the control plane services. Compute nodes execute the AppFormix Agent that analyzes metrics and evaluates policies.
AppFormix provides Ansible playbooks to install and uninstall the software on compute hosts and the controller host. The Ansible playbooks can be executed from a separate host other than the controller host and compute hosts.
The following requirements apply to installations of AppFormix in all environments (Installing AppFormix for an OpenStack Cluster, Installing AppFormix for a VMware Environment and so on). See specific installation guides for additional requirements.
Docker 17.03-ce, installed on the controller host
docker-py 1.10.6, installed on the controller host
Ansible 1.9.6, 2.1.2 - 2.4 (httplib2 is needed to run Ansible playbooks)
Docker and docker-py are installed on the controller host only. Ansible playbooks provided by AppFormix installs these components. Ansible can be executed from any host that can reach the controller host and compute hosts through SSH. A supported version of Ansible may already be available in your environment. If not, Ansible can be installed on the controller host, or a separate deployment host from which the playbooks are executed. On the host on which Ansible is executed, httplib2 must be installed (required by Ansible modules used in the AppFormix playbooks).
Docker and docker-py will be installed on the controller host only. The provided Ansible playbooks will install these dependencies.
The controller host on which the control plane is installed has the following requirements.
CPU: 8 cores (virtual or physical)
Memory: 16 GB
Storage: 100 GB (recommended)
One IP address for the controller host.
Controller host must have IP connectivity to reach compute nodes.
Remote agents must have IP connectivity to reach management address of:
Network devices for SNMP polling.
Remote hosts for SNMP polling.
Remote hosts for Intelligent Platform Management Interface (IPMI) polling.
Controller host requires Internet connectivity during installation.
Control plane services are distributed as Docker images that are retrieved from a registry hosted by AppFormix. Optionally, the Docker images may be downloaded and served from a local registry.
Dashboard client (in browser) must have IP connectivity to controller host.
Controller host must be able to resolve hostnames of compute nodes.
Compute nodes must be able to resolve hostname of controller host.
Dashboard client (in browser) must be able to resolve hostname of controller host.
TCP port requirements:
Users interact with the Dashboard client that runs in a Web browser. The Dashboard client communicates with control plane services over port 9000 on the controller host.
Agent serves REST API on port 42595 on compute hosts. Controller must be able to open connections to the agent for configuration. Agent opens connections to controller and DataManager using port 9000. (A proxy routes API requests to the appropriate service.)
Within the backend management network, AppFormix components listen on the following ports:
Controller serves REST API on port 7000.
OpenStack adapter serves REST API on port 7500.
DataManager serves REST API on port 8090.
Dashboard service listens on port 9000 for connections from browser.
The specific port numbers can be configured to suitable values to meet requirements of a given environment.
Root or sudo access on controller host.
Root or sudo access on compute node(s) to install agent package.
See also AppFormix Agent Requirements.
AppFormix Agent executes on each compute node. See AppFormix Agent Requirements for details.