There are many deployment architecture options available for Flow. In its most basic form, a Flow solution can be run completely on a single machine, but Flow has been designed for a distributed and modular architecture for load balancing across multiple machines. Flow consists of a series of components that work together to query data from various data sources, execute transformations, store those results in the Flow Database, and share those results with others, including other applications and systems.
Basic Requirements
For a Flow Trial license, Flow Starter, or a small proof of concept, install all Flow components and the Flow Database on a single machine:
-
4 Cores, 2.7 GHz minimum CPU
- 16 GB minimum memory
- 100 GB minimum disk space per Flow System
- SSD or faster technology drives
Advanced Requirements
For Flow Unlimited solutions, it is recommended that the Flow components and the Flow Database be separated onto their own dedicated machines. Failing to do so will likely result in performance issues. At more than 10,000 measures and/or 200 events, this becomes a requirement.
Distributing Flow Components
Flow Software's solution consists of several components working together to create a complete system. These components include:
- the Flow Server
- the Flow Config
- the Flow Bootstrap
- the Data, Message, and Integration Engines
- the Flow Database
For large Flow Unlimited solutions, best practice is to distribute the Flow components on their own dedicated hardware. (e.g. deploy the calculations, measures and events within the Flow model across separate Data Engines on separate machines, deploy the Flow Server on a dedicated machine, etc.)
Flow Config
The Flow Config is typically run on a power user's laptop/desktop machine and is used to configure the Flow System. Flow Config should never be run on the same machine as the Flow Components, nor the SQL Server. As a minimum, the following is recommended for a power user's machine:
- 16 GB minimum memory
- 5 GB minimum free disk space
- 32-bit color depth recommended
- 1920 by 1080 screen resolution recommended
Flow Components (Data Engines, Integration Engines, Flow Server)
The Flow Components are designed to work across multiple server machines for load balancing purposes. Depending on the size of the Flow System, these components should be distributed across more than one server machine.
Where multiple instances of Flow are using the same machine, it is recommended that no more than 5 Flow Systems are deployed to each machine.
As a minimum, the following is recommended for each Flow server machine:
- 4 Cores, 2.7 GHz minimum CPU
- 8 GB minimum memory base
- 8 GB minimum memory per Flow System
SQL Database Server Hardware
Each Flow System requires a SQL Database to be hosted on a SQL Server.
Where multiple instances of Flow are using the same dedicated SQL Server, it is recommended that no more than 10 Flow Databases are served by each dedicated SQL Server.
As a minimum, the following is recommended for the SQL Database server machine:
- 4 Cores, 2.7 GHz minimum CPU
- 16 GB minimum memory base
- 100 GB minimum disk space base
- 16 GB minimum memory per Flow System
- 100 GB minimum disk space per Flow System
- SSD or faster technology drives
Please contact us for any architectural guidance where required.