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
| Input | What it is |
|---|---|
| Employees | Everyone who could use Context. |
| Weekly active share | People 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 week | From your pilot: tasks run in one week divided by the people who ran them. |
| Minutes of sandbox time per task | How 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 hours | US-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
| Input | Options |
|---|---|
| Node type | Dsv5, 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 commitment | 1-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 database | A standby copy in a second availability zone. Doubles database compute and storage. |
| AKS Standard tier | Uptime SLA for the Kubernetes control plane. Recommended for production. Off means the Free tier. |
Security, logs and data
| Input | Options |
|---|---|
| Microsoft Defender for Containers | Vulnerability scanning and threat detection for the cluster. Often enabled by subscription policy; billed per node vCPU. |
| Kubernetes audit logs to your Log Analytics | Who changed what in the cluster, kept in your own Log Analytics workspace. |
| Also copy container logs to Log Analytics | Context 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 for | 90 days, 1 year, 3 years. |
| Fast-access window | 7 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 sharetasks per week T = U × tasks per active user per weekhours per task H = (minutes of sandbox time per task + idle-stop minutes) / 60run hours per week R = T × Hworking-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 × 168peak sandboxes P = Pk + 1.2 × √Pk + Wquota sandboxes Q = Pk + 3 × √Pk + Wovernight O = 0.15 × R / (168 − working hours per week) + WSandboxes 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 − 1allocatable 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: 1sandbox node-hours/month = S × 4.345 / (n × e) + spare-node hours per week × 4.345sandbox nodes, busiest = ceil(P / (n × e)) + spare nodes (working hours)sandbox nodes, floor = floor((O − W) / (n × e)) + ceil(W / n) + 1platform nodes = the platform pool (application services, workflows, search, ingress and observability), growing 12% per 1,000 active users above 500regional 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
| Line | How it is computed |
|---|---|
| Agent sandbox compute | Floor nodes × 730 hours at the commitment rate (none with pay as you go), the remaining sandbox node-hours at pay as you go. |
| Platform compute | Platform nodes × 730 hours at the commitment rate. |
| Database | Azure 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. |
| Storage | Blob storage, Hot, Cool and Cold tiers, plus writes and moves to Cold (see Data the estimate stores). |
| Disks | Platform 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). |
| Networking | Internal 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 service | AKS Standard tier per hour × 730, or the Free tier. |
| Registry, keys and file share | Container Registry Premium (needed for private endpoints), Key Vault, file share for document editing. |
| Defender for Containers | Average vCPUs (average sandbox nodes plus platform nodes, × vCPU per node) × the hourly per-vCPU price × 730. |
| Log Analytics | Audit 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.
| Data | Fast access | Then | Deleted |
|---|---|---|---|
| Logs and traces | The fast-access window | Cold tier, still searchable | After the retention you chose |
| Agent session data (task workspaces, checkpoints, transcripts) | The fast-access window | Cold tier | Kept while the task exists |
| Files people create or upload | While in use | Cool tier after 30 days without access | When the owner deletes them |
| Previous versions of deleted or changed files | Kept for 30 days; an administrator can restore them | After 30 days | |
| Metrics (CPU, memory, request rates) | 30 days | After 30 days | |
| Trace database backups | 7 nightly copies | Monthly copies in Cold tier | After the retention you chose, at most 1 year |
| Database backups | Point-in-time restore | After 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 service | Configuration | Quantity |
|---|---|---|
| Azure Kubernetes Service | Standard tier (or Free tier) | 1 cluster |
| Virtual Machines, platform node pool | Your node size, Linux, your commitment | Platform nodes × 730 hours |
| Virtual Machines, sandbox node pool | Your node size, Linux, autoscaled from the floor to the busiest-hour node count | Floor nodes × 730 hours on the commitment, plus the remaining node-hours pay as you go |
| Managed Disks | Sandbox OS disks (Premium SSD, or none if ephemeral); platform OS disks (Premium SSD P10, or none if ephemeral); data: Premium SSD P10 ×3, P20 ×1 | Average sandbox nodes, platform nodes, 4 data |
| Azure Database for PostgreSQL Flexible Server | General Purpose, Ddsv5, vCores from the table above, zone-redundant HA if chosen, reserved if you commit | Storage GB from the table above |
| Storage Accounts | Block Blob, LRS, Hot, Cool and Cold capacity | Hot writes and moves to Cold, per 10,000 |
| Load Balancer, NAT Gateway, Public IP | Standard internal load balancer; NAT gateway with one static public IP | 1 each, plus data processed a month |
| Private Link | Private endpoints for blob, queue, Key Vault, registry, file share and the Kubernetes API | 6 |
| Container Registry, Key Vault, Azure Files | Registry Premium; Key Vault Standard; Premium file share | 1, 1, 100 GiB |
| Microsoft Defender for Cloud | Defender for Containers | Average vCores |
| Log Analytics | Analytics logs, 31 days included | GB a month |