Kapow Compute Units (KCUs)

9.1 introduces a major change in the licensing for Kapow Katalyst, with the move away from CPU core based pricing to a capacity based pricing based on Kapow Compute Units (KCUs), completely independent of the chosen hardware configuration.

What are KCUs?

A KCU is a Kapow Compute Unit and is defined as a unit of measure for how many operations (or steps) a Kapow Katalyst RoboServer can perform in one second (and is unrelated to underlying server capacity).

A step is the smallest unit of action which can be performed within a RoboServer. Examples of steps are, loading a web page, writing a data record to a database, or performing a transformation on a data element.

One KCU represents a total of 5000 KCU points per second. The number of Kapow steps that make up one (1) KCU depends on the type of Kapow steps involved, as each step type consumes a different amount of the KCU. The steps are divided into groups the most important groups are listed here:

  1. Steps that both do I/O and execute JavaScript, 10000 KCU points

    E.g.: 2 page loads per second with 4 KCUs

  2. Steps that do either I/O or execute JavaScript (but not both), 1000 KCU points

    E.g.: 20 Call REST Web Service Steps per second with 4 KCUs

  3. Extraction and transformation steps 1 KCU point

    E.g. 40,000 extract or assign steps per second with 4 KCUs

(The complete list is available in Design Studio by clicking the Help->KCU Information menu item)

The above is provided that you have enough CPU power and sufficiently low response time from the source server. (Note: We have empirically measured the average page load time on a powerful CPU over the 23000 most visited web sites to 6.7 seconds).

The total number of KCUs a robot uses can be seen in the Design Studio Debugger Summary information after running the robot.

Deploying and Assigning KCUs

With KCUs we can deliver the needed computing capacity independent of the target hardware environment and physical CPUs. This allows the flexibility of choosing, cloud-based or on-premise, virtualized or physical CPU environments without the need to control the number of allocated CPUs.

The available KCUs are assigned to the RoboServer Clusters in the Management Console and automatically distributed between the RoboServers available within the Cluster.