Architecture

In this section, we would like to show you how kenaflow is to be scaled.

The basic principles during development of kenaflow were:

If you finished reading please continue with article "The Details".

Enterprise

kenaflow offers two types of scaling:

  1. Multiple instances of kenaflow can run simultaneously on a server. (Vertical scaling)
  2. 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
  • 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
  • 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

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.