Best Practices for a Production Environment

To use ActiveSpaces software in a production environment, deploy the following processes.

Processes Minimum Required Description
Realm service Three (You need at least three processes to run a full quorum.) TIBCO recommends that you run a fault-tolerant set of realm services. Run a quorum of realm services. Each realm service must be run on separate host computers.
State keeper Three state keeper processes To ensure high availability during a network partition or hardware failure, each state keeper process must run on a separate host computer. Not doing so might result in grid-wide data loss. At any given time, you must maintain a quorum of running state keepers. If you want to run more than one state keeper, configure three state keepers and make sure you have at least two running state keepers.
Node Two nodes per copyset For greater data protection you can run three nodes per copyset. In a fault tolerant setup, if there are more than one node, one node acts as a primary node and the other nodes are secondary nodes.
Note: Additional copies can become expensive in two ways: Increasing the node count by one adds one complete copy of all the data.
Every node process must run on a separate host computer. Usually this requirement determines the number of host computers you must maintain. For example, a data grid with three copysets and two nodes per copyset requires six nodes, all on separate hosts. Increasing to three nodes per copyset would require nine nodes, all on separate hosts.
Proxy One proxy process You can run additional proxies to increase the capacity for client programs and to improve response time. For best results, run proxy processes on a separate host computers.
Your application programs Run as many processes as appropriate.

Components Sharing a Host Computer

You can reduce number of host computers in a production environment by running more than one component per host.

For example, you can run a realm service, a state keeper, a node, and a proxy, all on one host. (In contrast, do not run two state keepers on the same host.) For effective fault tolerance, run the nodes of each copyset on separate host computers.

Warning: Combining component processes on a host computer increases the risk that a single point of failure on the host could disrupt all those processes simultaneously. Assess the risk tolerance of your enterprise.

Best Practices for Cloud Environments

For cloud environments, TIBCO recommends using a persistent, local Solid-State Drive (SSD) type that provides consistent performance and does not artificially throttle the Input Output Operations per Second (IOPS). An example of throttling IOPS is the burst throttling done by gp2 SSD types on AWS. For more information on different EBS volume types provided by Amazon, look for "Amazon EBS Volume Types" on https://docs.aws.amazon.com. For information on monitoring the performance of your EBS volume, look for "EBS Performance - I/O Characteristics and Monitoring" on https://docs.aws.amazon.com.