Skip to content

Size your deployment's infrastructure

How to estimate the monthly Azure infrastructure cost of running Context in your own subscription: the inputs, what drives the cost, the formula, and how to rebuild it in the Azure Pricing Calculator.

Usage scales per person: start from your own measured usage (a pilot week is ideal) and apply it to the people you expect to use Context. Prices are Microsoft list prices for your region; your agreement rates may be lower. AI model usage is billed separately and is not included.

Estimate only. Usage at full rollout differs from a pilot: re-measure after the first rollout wave and update the estimate.

Inputs

Usage

InputWhat it is
EmployeesEveryone who could use Context.
Weekly active sharePeople who run at least one agent task in a typical week, as a share of employees (common levels: 10%, 25%, 50%, 75%). Weekly active users = employees × share.
Agent tasks per active user per weekFrom your pilot: tasks run in one week divided by the people who ran them.
Minutes of sandbox time per taskHow long each task holds a sandbox for work, from your pilot (sandbox run time per week divided by tasks per week, less the idle time before the sandbox stops).
Working hoursUS-wide, about 11 hours a day (55 hours a week) or One time zone, about 10 hours a day (50 hours a week). Affects the busiest hour and the quota, not the monthly cost.

Nodes and commitments

InputOptions
Node typeDsv5, Intel; Ddsv5, Intel with local disk; Dasv6, AMD; Dadsv6, AMD with local disk. The estimate uses the 8 vCPU, 32 GiB size of each (D8s v5, D8ds v5 with 300 GB local disk, D8as v6, D8ads v6 with 440 GB local disk). A family your organization has not approved needs approval and regional vCPU quota first. Dsv5 has no local disk, so its OS disks are managed Premium SSD; on a family with a large enough local disk, the local disk holds the OS disk and there is no OS disk charge.
Compute commitment1-year savings plan + pay as you go; 3-year savings plan + pay as you go; 1-year reserved instances + pay as you go; 3-year reserved instances + pay as you go; Pay as you go only (no commitment: every node and the database are billed at list price).
Zone-redundant databaseA standby copy in a second availability zone. Doubles database compute and storage.
AKS Standard tierUptime SLA for the Kubernetes control plane. Recommended for production. Off means the Free tier.

Security, logs and data

InputOptions
Microsoft Defender for ContainersVulnerability scanning and threat detection for the cluster. Often enabled by subscription policy; billed per node vCPU.
Kubernetes audit logs to your Log AnalyticsWho changed what in the cluster, kept in your own Log Analytics workspace.
Also copy container logs to Log AnalyticsContext keeps its own logs and traces in your environment. Turn this on if your security team wants them in its workspace too. The volume grows with active users; Sentinel charges extra.
Keep logs and traces for90 days, 1 year, 3 years.
Fast-access window7 days, 14 days, 30 days. After this, data moves to Azure’s Cold tier. It stays searchable; reading it back costs more.

Cost drivers

  • One sandbox per task. Each agent task runs in its own isolated sandbox. It starts on demand and stops after the task goes idle (the estimate assumes five minutes; see the note below). A small pool of ready sandboxes (the warm pool) keeps start times short.
  • CPU and memory reserved per sandbox. The expected figure assumes each sandbox reserves half a CPU and 2 GiB of memory, with a 4 GiB ceiling. Context is load-testing this before go-live. The upper estimate keeps the same usage but reserves a full CPU and 4 GiB per sandbox and packs nodes less tightly.
  • Nodes scale with demand. Spare capacity is held during working hours so a burst of new tasks does not wait for a node to start.
  • Commitments cover the nodes that run all the time (the platform nodes and the sandbox nodes’ overnight floor); capacity that follows demand stays pay as you go. The database is reserved for the same term.

Check the estimate against your install settings. Each sandbox’s CPU and memory are the Sandbox CPU and Sandbox Memory settings (defaults 1 CPU and 4Gi), applied as both the request and the limit, so the upper estimate matches the defaults. The idle stop is Sandbox Idle Timeout (minutes) (default 30, from 1 to 240). The warm pool is Enable Agent-Sandbox Warm Pool (CRD) (off by default) with Agent-Sandbox Warm Pool Size (default 3, recommended 3 to 10); each warm member reserves the same CPU and memory as a running sandbox. Use your values as the inputs. Setting names and defaults: Configuration reference.

How the estimate is calculated

Plain math, per week unless it says otherwise. A month is 730 hours (4.345 weeks); a week is 168 hours.

Demand

active users U = employees × weekly active share
tasks per week T = U × tasks per active user per week
hours per task H = (minutes of sandbox time per task + idle-stop minutes) / 60
run hours per week R = T × H
working-hours rate = 0.85 × R / working hours per week (85% of the work falls in working hours)
busiest hour Pk = working-hours rate × intraday peak factor (calibrate the factor so it reproduces your pilot's busiest hour)
warm pool W = max(2, ceil(Pk / H / 60)) (sandbox starts per minute at the busiest hour; or your Warm Pool Size)
sandbox-hours/week S = R + W × 168
peak sandboxes P = Pk + 1.2 × √Pk + W
quota sandboxes Q = Pk + 3 × √Pk + W
overnight O = 0.15 × R / (168 − working hours per week) + W

Sandboxes per node

allocatable CPU = vCPU − AKS reserved CPU − 0.5
AKS reserved CPU = 0.06 + 0.04 + 0.02 × 2 + 0.01 × max(0, vCPU − 4)
allocatable memory = 0.83 × node GiB − 1
allocatable disk = 0.9 × OS disk GB − 30
OS disk: 256 GB ephemeral if the local disk is 256 GB or more,
else a 128 GB Premium SSD P10 (P15, 256 GB, if disk is the tighter limit)
sandboxes per node n = min(floor(CPU / CPU per sandbox),
floor(memory / memory per sandbox),
floor(disk / 8 GiB ephemeral storage per sandbox))

The expected estimate uses half a CPU and 2 GiB per sandbox and a packing efficiency e of 0.65; the upper estimate uses 1 CPU, 4 GiB and 0.45.

Nodes

starts during a node boot b = Pk / H × 4 / 60 (a node takes about 4 minutes to start)
spare nodes, working hours = max(1, ceil((b + 3 × √b) / n)); outside working hours: 1
sandbox node-hours/month = S × 4.345 / (n × e) + spare-node hours per week × 4.345
sandbox nodes, busiest = ceil(P / (n × e)) + spare nodes (working hours)
sandbox nodes, floor = floor((O − W) / (n × e)) + ceil(W / n) + 1
platform nodes = the platform pool (application services, workflows, search, ingress and observability),
growing 12% per 1,000 active users above 500
regional vCPU quota = (ceil(Q / (n × e)) + spare nodes + platform nodes + ceil(0.33 × platform nodes)) × vCPU
(0.33 is the surge during a node upgrade)

Monthly cost lines

LineHow it is computed
Agent sandbox computeFloor nodes × 730 hours at the commitment rate (none with pay as you go), the remaining sandbox node-hours at pay as you go.
Platform computePlatform nodes × 730 hours at the commitment rate.
DatabaseAzure Database for PostgreSQL Flexible Server, General Purpose: 4 vCores up to 1,000 active users, 8 up to 3,000, 16 up to 6,000, then 32. Storage is the smallest size from 32 GB to 4,096 GB that holds 128 GB + 0.1 GB per active user. Both doubled for a zone-redundant standby; compute at half the list rate with a 1-year commitment, 40% with a 3-year one.
StorageBlob storage, Hot, Cool and Cold tiers, plus writes and moves to Cold (see Data the estimate stores).
DisksPlatform OS disks (Premium SSD P10, none on a family with local disk), sandbox OS disks (none when ephemeral), and four data disks (three P10, one P20).
NetworkingInternal load balancer, NAT gateway and one public IP, six private endpoints, and data processing that scales with active users. Estimate data processing from your pilot’s network bill and confirm it with network meter data.
Kubernetes serviceAKS Standard tier per hour × 730, or the Free tier.
Registry, keys and file shareContainer Registry Premium (needed for private endpoints), Key Vault, file share for document editing.
Defender for ContainersAverage vCPUs (average sandbox nodes plus platform nodes, × vCPU per node) × the hourly per-vCPU price × 730.
Log AnalyticsAudit logs, about 30 GB × (1 + 0.5 × tasks per day / 1,000) a month, plus container logs if copied; 31 days of retention included.

The estimate also shows the Azure total, the upper estimate, cost per active user per month, peak capacity (nodes and vCPU), the cost at 10%, 25%, 50% and 75% adoption, and demand at the chosen settings: weekly active users, agent tasks per week, sandbox-hours per week, sandboxes running (weekly average, busiest hour and its share of active users, overnight), sandbox nodes (average and busiest hour), and the regional vCPU quota needed for the node family.

Data the estimate stores

Logs, traces and their backups are shown once a full retention period has built up. Session data and files are shown after 12 months; earlier months cost less. Data per task is estimated until measured on your pilot. The estimate’s starting assumptions: 25 MB of session data and 250 writes, 2.3 MB of traces, and 0.3 MB and 480 writes in the trace database per task; logs compressed 8 to 1; 2 GB of files per active user.

DataFast accessThenDeleted
Logs and tracesThe fast-access windowCold tier, still searchableAfter the retention you chose
Agent session data (task workspaces, checkpoints, transcripts)The fast-access windowCold tierKept while the task exists
Files people create or uploadWhile in useCool tier after 30 days without accessWhen the owner deletes them
Previous versions of deleted or changed filesKept for 30 days; an administrator can restore themAfter 30 days
Metrics (CPU, memory, request rates)30 daysAfter 30 days
Trace database backups7 nightly copiesMonthly copies in Cold tierAfter the retention you chose, at most 1 year
Database backupsPoint-in-time restoreAfter 7 days

Not included

  • AI model usage, billed separately.
  • Context license and support, and a Microsoft support plan.
  • Disaster recovery in a second region, and geo-redundant backups.
  • Defender for Storage and Defender for Databases, if you enable them.
  • Other Azure diagnostic logs you choose to send to your workspace.
  • Shared network and services your organization runs centrally: hub network and peering, CDN or edge protection, VDI, email delivery, and private DNS zones.
  • Any savings plans, reservations or agreement discounts you already hold.

Rebuild the estimate in the Azure Pricing Calculator

Add these services at azure.microsoft.com/pricing/calculator in your region, then save and share the estimate. Use Microsoft’s Retail Prices API (Linux, in your currency) if you want the list prices directly.

Azure serviceConfigurationQuantity
Azure Kubernetes ServiceStandard tier (or Free tier)1 cluster
Virtual Machines, platform node poolYour node size, Linux, your commitmentPlatform nodes × 730 hours
Virtual Machines, sandbox node poolYour node size, Linux, autoscaled from the floor to the busiest-hour node countFloor nodes × 730 hours on the commitment, plus the remaining node-hours pay as you go
Managed DisksSandbox OS disks (Premium SSD, or none if ephemeral); platform OS disks (Premium SSD P10, or none if ephemeral); data: Premium SSD P10 ×3, P20 ×1Average sandbox nodes, platform nodes, 4 data
Azure Database for PostgreSQL Flexible ServerGeneral Purpose, Ddsv5, vCores from the table above, zone-redundant HA if chosen, reserved if you commitStorage GB from the table above
Storage AccountsBlock Blob, LRS, Hot, Cool and Cold capacityHot writes and moves to Cold, per 10,000
Load Balancer, NAT Gateway, Public IPStandard internal load balancer; NAT gateway with one static public IP1 each, plus data processed a month
Private LinkPrivate endpoints for blob, queue, Key Vault, registry, file share and the Kubernetes API6
Container Registry, Key Vault, Azure FilesRegistry Premium; Key Vault Standard; Premium file share1, 1, 100 GiB
Microsoft Defender for CloudDefender for ContainersAverage vCores
Log AnalyticsAnalytics logs, 31 days includedGB a month