Comment on page

Agent Pools and Virtual Clusters

This page describe what Agent Pools and Virtual Clusters are, and how they interact.
Virtual clusters represent discrete "logical" units of data and metadata. Virtual Clusters are the mechanism via which WarpStream isolates and scales metadata operations.
Agent Pools, on the other hand, represent pools of available Agent containers and hardware resources. Agent Pools are the mechanism via which WarpStream isolates and scales physical resources like Agent CPU, Memory, and Network bandwidth.
The current implementation of WarpStream enforces a 1:1 mapping between Virtual Clusters and Agent Pools such an Agent can only operate on behalf of a single tuple of [agent_pool, virtual_cluster] at any given moment.
However, future versions of WarpStream will allow the two to be decoupled such that a single Agent Pool can be used to produce, fetch, and execute jobs on behalf of many different Virtual Clusters. This will enable many different Virtual Clusters to share the same physical resources (Agent containers/cpu/memory/network) while still maintaining logical separation of their data and metadata.

Running a WarpStream Agent with a Non-Default Agent Pool or Virtual Cluster

Every WarpStream account is created with a default Virtual Cluster and Agent Pool called apn_default. If you omit the agentPoolName flag and WARPSTREAM_AGENT_POOL_NAME environment variable from your Agent configuration, then it will default to using the apn_default pool.
However, if you create additional Virtual Clusters in the WarpStream Admin console and want to configure a pool of agents to use that new virtual cluster, you'll also have to configure your agents with the name of the new agent pool that is associated with the new Virtual Cluster by adding either the agentPoolName flag or WARPSTREAM_AGENT_POOL_NAME environment variable to your Agent configuration. If you fail to do this, your WarpStream Agent will refuse to start and will emit an error log to inform you that it is misconfigured.
Apache, Apache Kafka, Kafka, and associated open source project names are trademarks of the Apache Software Foundation. Kinesis is a trademark of Amazon Web Services.