Installing ElectricFlow is straightforward when evaluating the product, but there are several factors to consider when setting up an enterprise-scale deployment. Separating the different components is important to prevent contention for resources. While it's always possible to switch from one setup to another as load increases, thinking ahead and separating the components provides flexibility and scalability.
Note: See the ElectricFlow documentation for the installation guide and other documentation.
ElectricFlow consists of the following components:
- ElectricFlow server – a Java application server that manages resources, issues commands, generates reports, etc.
- Database – used by the server to store metadata for the objects that make up a ElectricFlow deployment. See the installation guide for supported databases.
- Web server – an Apache server that provides a web interface to access ElectricFlow.
- Repository server – a machine where artifacts are stored by processes run via ElectricFlow.
- Agents – ElectricFlow components that run on each machine where job steps can execute.
For an evaluation of ElectricFlow, install everything on one machine. When running the installer, choose the "Express Server" option and follow the instructions to complete the install.
Note: By default, a built-in database is installed with the product. This database is meant for evaluation purposes only. When moving to development or production, a supported database must be used. Note that any evaluation against a production database will require a production or evaluation license file provided by Electric Cloud.
A "development" or "test" ElectricFlow setup isn't expected to undergo heavy load, but rather used as a staging area while developing ElectricFlow procedures before moving to production. This is often an intermediate stage before moving to an enterprise deployment. In this case, it is recommended to separate the database to another machine. When running the installer on the machine running the ElectricFlow components, choose the "Express Server" option and follow the instructions to complete the install. Install a supported database on a separate machine and configure the ElectricFlow server to use that database (see the installation guide for details on how to do this).
Note: A development/test setup is often acceptable for smaller size organizations. It isn't necessary to move to an enterprise setup if this setup proves sufficient even at scale.
Separating the different components of a ElectricFlow installer is important to prevent contention for resources. The following setup separates all components onto separate machines. If there are certain components of the installation that are known to be used less frequently, they can be combined onto a single machine.
- Machine 1: ElectricFlow server
- Machine 2: Database
- Machine 3: Web server and agent – this agent is used to retrieve log files for users to view via the UI
- Machine 4: Repository server and agent – this agent is used for the repository server to communicate with the ElectricFlow server
- Machine 5: Agent (optional) – a dedicated agent used by the ElectricFlow server to run "common" steps