As described in the Architecture, AppFormix 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 than the Controller host and compute hosts.
- Docker 1.9.1, installed on Controller host
- docker-py 1.3.1, installed on Controller host
- Ansible 1.9.3 - 1.9.6, 2.1.2 - 2.2.2 (httplib2 is needed to run Ansible playbooks)
Ansible may be executed from any host that can reach the Controller host and Compute hosts via ssh. A supported version of Ansible may already be available in your environment. If not, Ansible may 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 Controller host.
- Controller host must have IP connectivity to reach compute nodes.
- 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 may 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 Agent Requirements
AppFormix Agent executes on each compute node. Please refer to Agent Requirements for details.