Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-4187

Implement Metrics based Load Balancing Algorithm for Even Distribution of Shards

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • Metrics based Load Balancing Algorithm for Even Distribution of Shards
    • False
    • None
    • False
    • SECFLOWOTL-88 - Augment Argo-CD sharding capabilities by implementing additional sharding algorithms

      Story (Required)

      As an Argo-CD user, I want the sharding algorithm to evenly distribute the workload across shards to ensure uniform resource utilization and improve performance. The load balancing algorithm should consider factors such as CPU, memory, and network usage to intelligently distribute the workload across shards, avoiding hotspots and bottlenecks.

      Background (Required)

      https://github.com/argoproj/argo-cd/pull/13018 has introduced the distributionFunction API. The function must be extended to be able to make metrics based distribution.

      Out of scope

      <Defines what is not included in this story>

      Approach (Required)

      An initial design must be discussed to determined how can the metrics can be gathered and how arbitrage can be done. Should this be

      • a central decision of one elected components getting all the metrics information
      • a local decision to each shard computing a load index

      Also, there should be a way to get the metrics in a uniform manner. (OpenTelemetry, Prometheus, something else?)

      Dependencies

      TBD

      Acceptance Criteria (Mandatory)

      For a running application-controller having at least 2 shards/replicas and managing 4 clusters, if shard#1 becomes overloaded, then when adding a cluster#5, it should be assigned to shard#2

      INVEST Checklist

      Dependencies identified

      Blockers noted and expected delivery timelines set

      Design is implementable

      Acceptance criteria agreed upon

      Story estimated

      Legend

      Unknown

      Verified

      Unsatisfied

      Done Checklist

      • Code is completed, reviewed, documented and checked in
      • Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
      • Continuous Delivery pipeline(s) is able to proceed with new code included
      • Customer facing documentation, API docs etc. are produced/updated, reviewed and published
      • Acceptance criteria are met

              Unassigned Unassigned
              abenaiss Akram Ben Aissi
              GitOps
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: