Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

Private_Edition_flag.png

The following guide can be used to assist you when creating your unique batch scaling solution. An important thing to remember is that you cannot mix standard agents with scaling agents in the same workflows. Workflows with standard agents save the state in Usage Engine and workflows with batch agents save the state in Kafka.

Creating a scalable solution example

These are high-level steps to creating a scalable batch solution in Usage Engine. The following example solution is made up of several profiles including the newly created Partition Profile (4.3), and two workflow types, Batch Scaling Collection and Batch Scaling Processing.

  1. Create a Partition Profile

  2. Create an Aggregation, Duplicate UDR, and Scalable Inter Workflow profile and link the Partition Profile created in Step 1 to each.

  3. Create the workflows.

    • Batch Scaling Collection Workflow

    • Batch Scaling Processing Workflow(s) - can be one or a series of workflows.

Note!
You can include multiple Aggregation and Duplicate UDR agents within the same workflow. These agents can either share the same Partition Profile or use different Aggregation and Duplicate UDR Profiles. For instance, you might use different profiles if you need to apply a different ID field as the Key in storage. c

  1. Decide how many maximum workflows should execute in parallel. Think about how you can evenly distribute your data between workers.

Note!
Try to pick a number of maximum workflows that is divisible by many other numbers, like 6 or 12. You need to ensure that it’s high enough to handle the data coming in, but not so high that you will overload resources.

  1. Finally, you will need to select an identifier that the workflow will use to distribute the UDRs. Typically, this would be a field based on the record group like a customer ID or an account number. You can also create and populate a field using APL, see https://infozone.atlassian.net/wiki/x/xeckEg.

UI Parameters

Parameter

Comment

ID Field

Defines how to match a UDR to a partition.

Max Scale Factor - this is located in the Partition profile config.

Number of partitions, which is the same as maximum number of workflows that can execute in parallel. - this means that there can be fewer workflows - but not more.

Note!

If any of the parameters need to be changed, it is considered a new configuration, and they need to start with empty topics.

You can use the existing data, but you must use the standard Kafka Agents and migrate the data. Or do we even want to mention this?

Scaling Batch Workflows

Usage Engine will scale out and in and re-balance scalable batch workflows automatically and you can schedule when to start a scale-out or scale-in.

Deploying a scale-out configuration with ECDs:

Use the regular https://infozone.atlassian.net/wiki/x/IgMkEg definition using ‘Dynamic Workflows’ to define how to package a scale-out. You need to define when these ECDs will activate.

  • A Collection Workflow scales with 1 extra Workflow per ECD.

  • A Processing Workflow scales with 3 extra Workflows per ECD.

  • Or combine the above into the same ECD.

Scheduling a scale-out configuration:

You can schedule the ECD and workflow to start or stop at specific times, alternatively, these can also be started manually. This is configured in… If no schedule for scaling is created, the system will scale automatically based on metrics.

Add an image of the setting for the manual schedule.

Use this table to explain the settings in the image.

Automatic Scaling

Manual Scaling

  • Based on Metric.

  • Should also have some “duration” of the metric to avoid oscillating behavior?

  • You can start up ECDs manually.

  • We have a way of scheduling ECDs as well.

Note!
When creating a scalable workflow you need to add the Kafka profile in the execution tab of the workflow properties.

Questions:

Assumedly a scaling solution will contain multiple workflows and based on the above these workflows can be scheduled to be started at specific times or based on metrics? How does it being based on metrics work? does this need to be configured somewhere?

The key difference for customers is that scaling workflows are quicker/more efficient at processing data than regular workflows? It’s not more automated in general but it is automatic at being efficient. (that sounds weird, but I think I understand what I mean.) This is why the metric question is interesting.. because sometimes a customer won’t know what times they’ll need to scale workflows.

ECD from Chat GPT: (internal notes)

An Execution Context Deployment (ECD) is a setup that defines the environment in which a specific part of software will run. Think of it as a container or area that holds everything needed for certain tasks to execute smoothly. This includes details like where the software code will run, the necessary resources (like memory and processing power), and specific settings or permissions.

In simple terms, an ECD is like setting up a workspace that’s fully equipped for a job, so the tasks can start and run without interruptions or missing tools.

  • No labels