Managed in Azure: Architecture and Azure Services
This page lists every Azure service a managed deployment creates in your subscription, with its SKU, how many, and how Azure bills it. Use it with the Azure pricing calculator to estimate the Azure part of the cost of ownership in your region, currency and price agreement. Choose your layout, level of protection and regions in the Overview first: they decide which rows below apply and how many times.
Azure bills these services to your subscription directly. The DocAI Fabric licence and our operation of the deployment are priced separately and are not on this page.
Architecture
Each environment (test, production, and any other) is one resource group in your DocAI Fabric subscription, with the same set of services. Environments share nothing except the subscription's AI quota in the region.
Your corporate network / VPN
│ HTTPS, your hostname
▼
┌───────── Application subnet (yours) ──────────────────────────┐
│ Container Apps environment (internal, private IP) │
│ DocAI Fabric container app: web, API and workflow workers │
│ 1 to N replicas, scaled on HTTP load and queue length │
└───────────────────────────────────────────────────────────────┘
│ through private endpoints
▼
┌───────── Private-endpoint subnet (yours) ─────────────────────┐
│ Storage (documents) Key Vault Azure Managed Redis (queue)│
│ Azure AI Services (GPT models) Document Intelligence (OCR)│
└───────────────────────────────────────────────────────────────┘
Public endpoint, Microsoft Entra ID only, no documents:
Container Registry (application image)
Log Analytics + Application Insights (logs, metrics; our read-only access via Lighthouse)
How a document flows: a user or an API client uploads it to the application; the application stores it in your storage account and queues the work in Redis; the workflow workers convert the pages, send them to Document Intelligence for OCR, and send text (and, if a project is configured to, page images) to the GPT models to split, classify and extract. Results are written back to storage. Nothing leaves your subscription except the language-model requests, which Azure processes where your chosen AI processing option allows.
Services per Environment
Every environment has the services below. The SKU columns show our defaults for a test environment and for a production environment at the Zone-resilient level of protection.
Fixed Monthly Services
These run whether or not documents are processed, so they set the floor of each environment's cost.
| Service | Test | Production (Zone-resilient) | Quantity | Billed by |
|---|---|---|---|---|
| Azure Container Apps | Consumption workload profile, 2 vCPU and 4 GiB per replica, 1 replica minimum | Same profile and size, 2 replicas minimum, zone-redundant environment | 1 environment, 1 container app | vCPU-seconds and GiB-seconds per running replica; requests above 2 million a month. Each subscription gets a monthly free grant |
| Azure Managed Redis | Balanced_B0 | Balanced_B1, zone-redundant (included in the SKU) | 1 | Hours |
| Private endpoints | Standard | Standard | 5: storage (blob), Key Vault, Redis, Azure AI Services, Document Intelligence. 6 with the hotfolder connector (file share) | Hours per endpoint, plus GB processed |
| Container Registry | Basic | Basic | 1 | Days, plus GB stored (the application images, a few GB) |
| Private DNS zones | Only if you choose zones in our resource group (Setup Guide) | Same | Up to 7 zones | Zones per month, plus queries |
| Azure Monitor alerts | None | Metric alert rules (replicas, Redis memory, storage availability), a log alert rule (server error rate), and an action group | 3 metric rules, 1 log rule, 1 action group | Rules per month, plus notifications |
Replicas and scaling. The minimum replicas run all month, and Azure bills them at the active rate while they process work and at a lower idle rate while they wait. Under load the application scales out, up to 10 replicas by default, and back to the minimum when the queue empties; those extra replicas are billed only while they run. The Capacity Calculator estimates the replicas a given volume needs.
Services Billed by Volume
These cost little or nothing at rest and grow with the pages you process and the data you keep.
| Service | SKU | Quantity | Billed by | What drives it |
|---|---|---|---|---|
| Azure AI Services: GPT-5.4-mini, document processing | Account S0; deployment type Global, Data zone or Provisioned, as you chose | 1 account, 3 deployments sharing your quota | Input, cached input and output tokens (Global, Data zone); reserved capacity units per hour or month (Provisioned) | Pages processed, the activities in your workflows, the number of fields, whether page images are sent |
| Azure AI Services: GPT-5.4, in-app assistant | Same account, same deployment type | 1 deployment | Input, cached input and output tokens | How much your users use the assistant |
| Azure AI Document Intelligence | S0 | 1 account | Pages analysed: the Read model, or the Layout model where a project's OCR step uses it | Pages processed |
| Storage account | StorageV2, Hot tier. Test: Standard_LRS. Production: Standard_ZRS | 1 account | GB stored per month, read and write operations, change feed | Pages processed, and how long you keep them (Data Retention) |
| Log Analytics and Application Insights | Pay-as-you-go (PerGB2018), Analytics logs, 30-day retention | 1 workspace, 1 Application Insights component | GB ingested; retention beyond the included period | Activity in the application. Measured on our own environments: about 1 GB a month for a test environment and about 5 GB a month for a busy production one |
| Key Vault | Standard | 1 | Operations, per 10,000 | Negligible |
| Azure Virtual Machines (GPU), only with an open-weight model | NCads A100 v4 or NCads H100 v5 (Azure has no L4 or L40S size) | As many GPUs as the model's throughput needs, 2 per VM by default | Hours per VM, priced per GPU | Pages processed by the open-weight model |
| Azure Files share (only with the hotfolder connector) | On the same storage account | 1 share, 100 GB quota by default | GB stored, operations | Files dropped into the hotfolder |
Free of charge: the managed identity, the Azure Lighthouse delegation for our support access, the Activity Log, and the content-filter policy on the AI deployments.
Production at Other Levels of Protection
- Standard uses the test column for production too, with 90-day version history and soft delete on storage and purge protection on Key Vault (all levels have these). Versions and deleted documents are kept for 90 days and are billed as stored data.
- Regional recovery adds, in your second region: a second storage account (
Standard_LRS) that receives a continuous copy of your documents, billed as stored data plus the data transferred between the regions; a second Azure AI Services account and a second Document Intelligence account, with no fixed charge, used only during a failover; and private endpoints for them. The application, Key Vault, Redis and registry are created in the second region only during a recovery. See Disaster Recovery. - Warm standby adds a second running environment in the second region, already at the services in the production column, usually with a single replica until a failover scales it up.
Estimating the Volume-Based Part
At meaningful volumes the language models and OCR are usually the largest part of the bill. The tokens and OCR pages a page needs depend on your documents, your fields and your workflow, so measure them rather than guess:
With a project set up, the Deployment page does steps 2 to 5 for you: it measures the tokens and OCR pages per page from your documents and prices this deployment's services, line by line, for your volume and level of protection. By hand:
- Process a sample in our cloud service. At app.docaifabric.com, set up a project with your document types, fields and workflow, and process a representative set of your documents. It runs the same models as a managed deployment.
- Read what it consumed. Open Models, then the Usage tab: per model, it shows the calls, pages, input and output tokens and estimated cost, with drill-downs by project and by task (Cost and Budgets). Divide each by the pages processed to get the tokens and OCR pages per page.
- Price it for your deployment. The estimated cost on app.docaifabric.com uses our rates. Multiply the per-page figures by the Azure prices for your region and AI processing option instead: Data zone, for example, is priced differently from Global.
- Multiply by your volume in pages per month, not documents: OCR is billed per page and tokens grow with pages. Leave headroom for re-runs: re-processing documents, for example after changing a project's fields, uses tokens and OCR pages again.
- Add storage. Plan for roughly 1.5 to 2 MB per page, covering the page images, OCR results and exports, for each month you retain it (Data Retention).
Capacity and quota. Cost per page is one question; whether your deployment can process your volume in time is another. The Capacity Calculator turns a volume of pages into the throughput the model deployments need, in tokens per minute (the Azure OpenAI quota to request in your subscription and region), the OCR pages per second, and the number of replicas. Check your peak volume with it: if the throughput needed exceeds the quota, we request an increase or add deployments in another region.
Provisioned AI processing is different: you reserve capacity units in advance and pay for them every hour whether used or not, so its cost follows the capacity reserved, not the pages processed. We size the reservation with you.
What Is Not Included
These depend on how your organisation runs Azure, so they are yours to add to the estimate:
- Your network: the virtual network, peering to your hub (billed per GB in each direction), your firewall, VPN or ExpressRoute, and your DNS resolvers.
- Microsoft Defender for Cloud and similar plans, if your policy turns them on for every subscription. Defender for Storage, Containers and Key Vault are billed per resource or per transaction and can be a noticeable line.
- Log retention beyond 30 days, if your compliance rules require it (Setup Guide).
- An Azure support plan.
- Your price agreement: Enterprise Agreement, Microsoft Customer Agreement and CSP prices, reservations and savings plans can differ from the list prices in the calculator.
Next Steps
- Overview: layout, level of protection, regions and where AI processing happens
- Setup Guide: the steps for your teams
- Capacity Calculator: capacity for your volume
- Deployment page: capacity and cost of each delivery option, measured from your project
- Disaster Recovery: what a recovery region adds