Architecture
In this section, we would like to show you how kenaflow is to be scaled.
The basic principles during development of kenaflow were:
- Focus on major customers ("Enterprise")
- Complete automation of the application kenaflow
- Encapsulation of the complexity of the workflow execution in the engine for the simplest possible handling of the topic by customers
- Alignment of the software to the skills and needs of administrators who 1) support and 2) create workflows with kenaflow.
If you finished reading please continue with article "The Details".
Enterprise
kenaflow offers two types of scaling:
- Multiple instances of kenaflow can run simultaneously on a server. (Vertical scaling)
- Multiple servers can share the execution of workflows. (Horizontal scaling)
In FREE and DEVELOPER edition of kenaflow you can only run 1 instance of kenaflow on 1 machine.
Vertical Scaling = Instances
kenaflow offers a simple setup and a manageable number of storage locations where data is stored:
- Program folder
- Program Data folder
- Workflow Root folder
By default, this is the case for a single instance:
- Program folder:
C:\Program Files\kenaflow
- Program Data folder: e.g.
C:\ProgramData\kenaflow\instance_8a040c56-4343-4f7a-9713-9aa56b1dcc21
, whereby the GUID ("8a040c56-4343-4f7a-9713-9aa56b1dcc21") is once assigned during installation. - Workflow Root folder: e.g.
C:\Workflows
With multiple instances, it could look like this:
- Instance 1
- Program folder:
C:\Program Files\kenaflow-dev-v1.0
- Data folder:
C:\ProgramData\kenaflow\instance_62a289df-fded-4fe9-9bc4-4cd7b01561c3
- Workflow Root folder:
C:\Workflows-dev
- Program folder:
- Instance 2
- Program folder:
C:\Program Files\kenaflow-prod-v1.0
- Data folder:
C:\ProgramData\kenaflow\instance_74dcd84e-8bb3-44ba-b2b4-402d2e63b667
- Workflow Root folder:
C:\Workflows-prod
- Program folder:
- Instance 3
- Program folder:
C:\Program Files\kenaflow-next-v1.1
- Data folder:
C:\ProgramData\kenaflow\instance_279afb48-0e55-42bc-89dc-d03815e3c950
- Workflow Root folder:
C:\Workflows-next
- Program folder:
Only 1 kenaflow license is required for this implementation.
Here, three instances of kenaflow run on 1 server.
- "Instance 1" is used for developing workflows.
- "Instance 2" is used for executing productive workflows.
- "Instance 3" is used to test the next version of kenaflow.
Any version of kenaflow can exist side by side on a server.
A separate execution account can be used for each kenaflow instance.
Horizontal Scaling
kenaflow can be installed on multiple servers.
A separate kenaflow instance is required for each server.
The program folder is e.g.
- Server 1:
C:\Program Files\kenaflow
- Server 2:
C:\Program Files\kenaflow
- Server 3:
C:\Program Files\kenaflow
However, the Data folder and Workflow Root folder are placed on a network share to which the kenaflow instances of all three servers have access. This is ensured via the used service account.
The three servers in this example use the same Workflow Root folder. Each kenaflow server locks a workflow that is currently being executed using a lock file in the data folder. This means that the other servers will not execute this workflow in parallel and will, therefore, execute other workflows.
Vertical and Horizontal Scaling Together
Both scaling methods can be used in parallel.