Conduct — Sizing & Capacity Planning

5 min read

Target Audience

IT decision makers and infrastructure owners budgeting for the Unique AI Conduct execution environment.


Summary

Conduct infrastructure cost scales with concurrent users — people actively running agent turns at the same moment — not total licensed users. Sandboxes shut down after 10 minutes idle, so typical daily active users translate to far fewer concurrent users than you might expect.

Three cost drivers:

  1. Warm pool — pre-started sandboxes that guarantee instant access and can optionally scale to zero outside configured business hours.

  2. Peak capacity — additional nodes are added on demand when active users exceed the warm pool and removed when no longer needed.

  3. Baseline services — small support components that run on your existing infrastructure. Negligible cost.

Ballpark under the current operating model: roughly $50–90 per concurrent user per month on Azure list prices, with the lower end at scale when dynamic capacity is enabled.


Cost Scenarios

Estimates use a Standard_D8s_v5 node (8 vCPU / 32 GiB) at Azure PAYG list price (~$0.50/hour, ~$370/month always-on, ~$85/month business-hours only at ~170 hours). Your actual rate depends on region, VM family, and any Enterprise Agreement or committed-use discounts.

Scenario

Concurrent users

Dedicated nodes

Est. monthly cost (current autoscaling)

Est. monthly cost (static 24/7)

Cost per concurrent user

Baseline only

0

0

Negligible †

Negligible †

Small

4

1 always-on

~$370

~$370

~$93

Medium

8

1 always-on + up to 1 on demand

~$455

~$740

~$57 / ~$93

Large

40

4 always-on + up to 6 on demand

~$1,990

~$3,700

~$50 / ~$93

Current autoscaling adds capacity when active users exceed the warm pool and removes the additional nodes when demand falls. The estimates shown assume the warm pool remains available continuously and do not include savings from scheduled scale-to-zero. At the Large scenario, scaling only this variable capacity saves roughly 45% compared with provisioning peak capacity 24/7.

Static 24/7 provisions the full peak permanently. This is typical for on-prem deployments without a cluster autoscaler.

† Baseline services (gateway, storage, controller, router) are small and run on your existing general-purpose node pools — a fraction of one node — not on the dedicated secure-VM pool.

Cost levers you control

Lever

Effect

Warm pool size

Larger pool = faster user onboarding, higher fixed monthly cost. Default: half of expected concurrent users. The configured pool can optionally scale to zero outside configured business hours.

Idle timeout

User sandboxes terminate after 10 minutes idle. Longer timeout = fewer cold starts, more temporary capacity cost. It does not change the configured warm-pool schedule.

Dynamic vs static capacity

Current autoscaling removes capacity added above the warm pool when demand falls. Static capacity pays for the full peak 24/7.

VM pricing / discounts

EA or committed-use pricing can reduce node cost below list price. Same with Reservations or Savings Plans.

Scheduled warm-pool scale-to-zero

The warm pool can optionally scale to zero outside configured business hours. This reduces fixed warm-pool cost during nights and weekends.

  • Active sandbox sessions are unaffected.

  • Sandbox claims outside business hours require a cold start.

  • Scaling back up depends on the required Azure VM capacity being available.

  • The estimates above assume a continuously available warm pool and do not include these additional savings.


What You're Paying For

Isolated sandboxes per user. Each active user gets a dedicated, VM-grade execution environment — not a shared container. This is the security model: agent code runs in hardware-isolated microVMs on a dedicated node pool. Budget ~10% node overhead for VM management.

Warm pool = instant start. Pre-created idle sandboxes eliminate the wait when a user starts an agent turn. Each warm sandbox consumes the same resources as an active one. The pool can remain continuously available or scale to zero outside configured business hours.

Baseline services = rounding error. Gateway, checkpoint storage, controller, and routing components are small pods on your standard infrastructure. They do not require dedicated nodes.


What's Not in This Number

Budget these larger cost positions separately:

  • LLM token consumption — billed via your model provider (Azure OpenAI, etc.), typically the largest variable cost

  • Core platform orchestrator (assistants-core) — sized as part of the main Unique AI platform, not Conduct


Technical Sizing Reference

For infrastructure admins deploying Conduct.

Sizing at a Glance

What

Value

One sandbox pod

0.5 vCPU request → 2 vCPU limit, 4 GiB memory (fixed), +2 GiB ephemeral /tmp

Baseline services (always on)

~1.3 vCPU / ~2.4 GiB requested (4 vCPU / 3.75 GiB at limits)

Total sandbox pods needed

concurrent users + warm pool

Recommended warm pool

½ of expected concurrent users, ceiled; may optionally scale to zero outside configured business hours

Packing reference

~6 sandbox pods per 8 vCPU / 32 GiB node

Shared storage

100 GiB ReadWriteMany PVC (checkpoint store)

Sizing Formula

sandbox pods = expected concurrent users + warm pool
warm pool    = ceil(concurrent users / 2)
  • Concurrent users = users actively running agent turns at the same time, not total licensed users. User sandboxes self-terminate after 10 minutes idle (SANDBOX_IDLE_TTL_SECONDS).

  • Warm pool = pre-created idle pods for instant sandbox access. The ½-of-users ratio is a starting recommendation — raise it for burst-heavy usage, lower it to save cost. The configured warm pool can remain continuously available or optionally scale to zero outside configured business hours.

Capacity Breakdown

Baseline services — always running, even with zero users:

Component

Replicas

Requests (per pod)

Limits (per pod)

sbx-gateway (egress proxy)

2

250m / 512 Mi

1 vCPU / 1 Gi

sbx-storage (checkpoint store)

2

100m / 128 Mi

500m / 256 Mi

agent-sandbox-controller

1

100m / 128 Mi

500m / 256 Mi

Sandbox router

2

250m / 512 Mi

250m / 512 Mi

Total

~1.3 vCPU / ~2.4 GiB

~4 vCPU / ~3.75 GiB

Sandbox pods — one long-lived pod per active user on the dedicated Kata node pool. Each pod: 0.5 vCPU request → 2 vCPU limit, 4 GiB memory. Memory is the binding resource; CPU bursts to the limit only during active turns.

Reference Scenarios (Infrastructure Detail)

Scenario

Concurrent users

Warm pool

Sandbox pods total

CPU cores (req → limit)

Memory GiB (req → limit)

Kata nodes — current autoscaling

Kata nodes — static 24/7

Baseline only

0

0

0

1.3 → 4

2.4 → 3.75

0

0

Small

4

2

6

4.3 → 16

26.4 → 27.75

1 always-on

1 always-on

Medium

8

4

12

7.3 → 28

50.4 → 51.75

1 always-on + up to 1 on demand

2 always-on

Large

40

20

60

31.3 → 124

242.4 → 243.75

4 always-on + up to 6 on demand

10 always-on

CPU/memory totals include baseline services. The table assumes always-on nodes supporting the warm pool; only additional demand-driven nodes scale down. Scheduled warm-pool scale-to-zero can remove those nodes outside configured business hours.

Node Pool Requirements

Requirement

Detail

Dedicated Kata pool

Sandbox pods require nodes with Kata Containers (workload-runtime=kata taint). Nothing else schedules there.

Nested virtualization

Kata nodes need nested-virtualization-capable VMs (cloud) or bare-metal/VT-x hosts (on-prem).

Per-node overhead

Each Kata pod is a microVM with its own guest kernel — budget ~10% node capacity for VM overhead and daemonsets. ~6 sandbox pods fit an 8 vCPU / 32 GiB node.

General-purpose nodes

Baseline services run on standard node pools; no special runtime needed.

Storage

Item

Size

Notes

Checkpoint store PVC

100 GiB, ReadWriteMany

Workspace checkpoints, capped at 100 MB compressed per chat

Sandbox /tmp

2 GiB per pod

Ephemeral (emptyDir), released with the pod

Last updated