Native Kubernetes in AWS Background

  • Services run in Kubernetes Pods (pods)

  • A Kubernetes Node (node) runs one or more pods

  • A single node runs on a single AWS instance (1-to-1)

  • All instances in a cluster are the same instance size

Data Event Performance Factors

To illustrate, the following steps walk through a data event after a change is detected in a source system (e.g. database) and outlines performance factors for each step:

  1. A change is made to a database table

    • The YOUnite Off-the-shelf Adaptors put minimal load on a source systems.

  2. The adaptor detects the change and sends a data event to YOUnite API.

    • Performance will be affected if the existing load on the database connected to the adaptor is high

    • Change scan time

    • Processing time including updating the processing DB

    • Message bus queuing time

  3. YOUnite API Service processes and routes the data event to other adaptors

    • Message bus de-queueing time

    • Data event processing/routing

      • Update data catalog

    • Message bus queuing time

  4. Adaptor(s) receive change

    • Message bus de-queueing time

    • Update processing DB

    • Write to database

Sizing

All of the following suggestions are made as of AWS' product offerings as of January 1, 2024.

  • The following excludes:

    • Adaptors:

    • Adaptors can be deployed as part of the cluster or separately from the cluster

      • Adaptors can be run on-prem on their own hardware

      • For optimal performance, adaptors can be run on their own instance but multiple adaptors can be run on a single instance

      • The YOUnite Off-the-Shelf Adaptors include a Mongo DB processing service:

        • It can run on the same instance as the adaptor or on its own instance

        • A single instance of the Mongo DB can be shared between multiple adaptors

    • Data Notification Service (optional):

      • Depending on the number of notifications it must deliver and the overall load on the YOUnite deployment, it can be combined into an existing affinity group (run with any of the other YOUnite services) or part of an anti-affinity group (keeps it from running with another high-usage service).

    • Data Virtualization Service (optional):

      • The Data Virtualization service is horizontally scalable and can be run on 1 or 3 or more instances.

20 Million Data Events/Day

Cluster configuration

Instance (node) Size

t3-large (2 core, 8 GiB)

Cluster Nodes

7

younite-api Pods

4

Affinity Group

younite-elastic, younite-logstash, younite-kibana, younite-ui

Anti-Affinity Group

younite-api, younite-db (metadata), younite-mb

Service/Pod Configuration

YOUnite Stack Service requested mem max mem requested cpu max cpu storage

younite-api

4Gi

6Gi

1200m

1600m

default

younite-db

4Gi

6Gi

1200m

1600m

default (EBS)

younite-mb

4Gi

6Gi

1200m

1600m

20Gi

younite-ui

100Mi

default

default

default

default

younite-ui

100Mi

default

default

default

default

younite-elastic

1800Mi

default

default

default

default

younite-logstash

1800Mi

default

800m

default

default

younite-kibana

400Mi

default

default

default

default

Keycloak (if needed)

600Mi

default

default

default

default

35 Million Data Events/Day

Cluster configuration

Instance (node) Size

c5n-xlarge (4 core, 10.5 GiB)

Cluster Nodes

9

younite-api Pods

6

Affinity Group

younite-elastic, younite-logstash, younite-kibana, younite-ui

Anti-Affinity Group

younite-api, younite-db (metadata), younite-mb

Service/Pod Configuration

YOUnite Stack Service requested mem max mem requested cpu max cpu storage

younite-api

4Gi

6Gi

1200m

1600m

default

younite-db

4Gi

6Gi

1200m

1600m

default (EBS)

younite-mb

4Gi

6Gi

1200m

1600m

20Gi

younite-ui

100Mi

default

default

default

default

younite-ui

100Mi

default

default

default

default

younite-elastic

1800Mi

default

default

default

default

younite-logstash

1800Mi

default

800m

default

default

younite-kibana

400Mi

default

default

default

default

Keycloak (if needed)

600Mi

default

default

default

default

50 Million Data Events/Day

Cluster configuration

Instance (node) Size

t2-xlarge (4 core, 16GiB)

Cluster Nodes

9

younite-api Pods

6

Affinity Group

younite-elastic, younite-logstash, younite-kibana, younite-ui

Anti-Affinity Group

younite-api, younite-db (metadata), younite-mb

Service/Pod Configuration

YOUnite Stack Service requested mem max mem requested cpu max cpu storage

younite-api

4Gi

6Gi

1200m

1600m

default

younite-db

4Gi

6Gi

1200m

1600m

default (EBS)

younite-mb

4Gi

6Gi

1200m

1600m

20Gi

younite-ui

100Mi

default

default

default

default

younite-ui

100Mi

default

default

default

default

younite-elastic

1800Mi

default

default

default

default

younite-logstash

1800Mi

default

800m

default

default

younite-kibana

400Mi

default

default

default

default

Keycloak (if needed)

600Mi

default

default

default

default

More than 50 Million

There are many AWS options that can be tested and levered to increase the data event performance beyond 50 million data events/day. Please contact your YOUnite System Integrator or Partner for more on strategies to enable YOUnite to meet your implementation requirements.