{
 "features_resolved": {
  "snapshot_any": false,
  "snapshot_mem": false,
  "fork": false,
  "pause_resume": false,
  "persistent_disk": true,
  "whole_disk": false,
  "persist_scope": true,
  "volumes": true,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": false,
  "image_oci": true,
  "vm_isolation": false,
  "docker_inside": false,
  "nested_virt": false,
  "root": true,
  "systemd": false,
  "browser": false,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": true,
  "browser_control": null,
  "desktop_control": null,
  "browser_and_desktop": false,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": false,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": true,
  "egress_allowlist": true,
  "open_internet": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": true,
  "hipaa": true,
  "sso": true,
  "gpu": true,
  "arm64": false,
  "windows": false,
  "macos": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": false,
  "memory_snapshot_fork": false,
  "webhooks": false,
  "scheduled_wakeups": null,
  "audit_logs": true,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": false,
  "mcp_server": true,
  "usage_api": true,
  "snapshot_auto": false,
  "snapshot_on_demand": false,
  "harness_api": false,
  "own_agent_api": false,
  "fast_boot": null,
  "strong_isolation": false,
  "ingress_rules": true,
  "guest_firewall": false,
  "secret_proxy": false,
  "secret_proxy_any": false,
  "volume_attach": true,
  "volume_shared": true,
  "sidecar": null,
  "fuse": null,
  "kernel_features": null,
  "burst": null
 },
 "company": {
  "id": "azure-container-apps",
  "checked": "2026-09-30",
  "company": "Microsoft Corporation",
  "ownership": {
   "value": "subsidiary",
   "parent": "Microsoft Corporation",
   "source": "https://azure.microsoft.com/en-us/pricing/details/container-apps/",
   "quote": "Azure Container Apps is a fully managed serverless container service offered by Microsoft Azure."
  },
  "stage": {
   "value": "public",
   "source": "https://www.microsoft.com/en-us/investor/earnings/fy-2025-q4/press-release-webcast",
   "quote": "Revenue was $76.4 billion and increased 18%",
   "confidence": "high",
   "note": "Azure Container Apps is a product/service line within Microsoft Azure, itself part of publicly traded Microsoft Corporation (NASDAQ: MSFT). Not independently funded; no separate accelerator, funding round, or stage applies."
  },
  "accelerators": [],
  "total_funding_usd": {
   "value": null,
   "status": "unknown"
  },
  "last_round": {
   "type": null,
   "amount_usd": null,
   "date": null,
   "leads": [],
   "status": "unknown",
   "source": "",
   "quote": ""
  },
  "investors": [],
  "portfolio_listings": [],
  "revenue": {
   "value_usd": 76400000000,
   "kind": "annual revenue",
   "as_of": "FY2025 Q4 (quarterly, Microsoft total company)",
   "status": "confirmed",
   "basis": "Microsoft FY2025 Q4 earnings press release; figure is total Microsoft company quarterly revenue, not specific to Azure Container Apps or even Azure alone. Azure and other cloud services revenue grew 39% in the quarter and 'Azure surpassed $75 billion in revenue' for the fiscal year, per the same release, but Azure Container Apps' own revenue is not separately disclosed.",
   "source": "https://www.microsoft.com/en-us/investor/earnings/fy-2025-q4/press-release-webcast",
   "quote": "Revenue was $76.4 billion and increased 18% (up 17% in constant currency)... this year, Azure surpassed $75 billion in revenue, up 34 percent"
  },
  "employees": {
   "value": null,
   "source": ""
  },
  "note": "Azure Container Apps is a managed serverless container platform within Microsoft Azure, part of Microsoft Corporation (public company, NASDAQ: MSFT). It has no independent funding history, accelerator participation, or standalone revenue disclosure; all figures roll up into Microsoft's consolidated and Azure segment results."
 },
 "id": "azure-container-apps",
 "name": "Azure Container Apps (Consumption, Dedicated, Dynamic Sessions)",
 "url": "https://azure.microsoft.com/en-us/pricing/details/container-apps/",
 "category": "hyperscaler",
 "isolation": "vm",
 "modes": [
  {
   "key": "consumption",
   "label": "Consumption plan, active rate (East US / North Europe / Japan East class)",
   "flags": [],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia"
   ],
   "gpu_only": false,
   "features": {
    "isolation": null
   },
   "pricing": "resource",
   "vcpu_h": 0.0864,
   "ram_gib_h": 0.0108,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    2,
    2
   ],
   "ram_fixed_per_vcpu": 2,
   "vcpu_options": null,
   "min_vcpu": 0.25,
   "max_vcpu": 4,
   "max_ram_gib": 8,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Retail Prices API: Standard vCPU Active Usage $0.000024/s, Memory Active $0.000003/GiB-s (eastus; same in northeurope, swedencentral, germanywestcentral, francecentral, japaneast, centralindia, eastasia, koreacentral). Idle replicas at min-replica count (<0.01 vCPU, <1,000 B/s, no requests) bill $0.000003/vCPU-s + $0.000003/GiB-s. Scale-to-zero = $0. HTTP requests $0.40/M after 2M free.",
   "cpu_class": "shared"
  },
  {
   "key": "serverless-gpu",
   "label": "Serverless GPU workload profile (Consumption, one GPU per replica)",
   "flags": [],
   "os": [
    "linux"
   ],
   "regions": null,
   "gpu_only": true,
   "features": {
    "isolation": null
   },
   "pricing": "resource",
   "vcpu_h": 0.0864,
   "ram_gib_h": 0.0108,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": 24,
   "max_ram_gib": 220,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": {
    "T4": 0.2628,
    "A100-80GB": 1.9044
   },
   "note": "Added 2026-09-28 from patch v4-gpu-azure-container-apps; re-checked live Azure Retail Prices API (eastus): 'Standard NC T4 v3 GPU Usage' $0.000073/s = $0.2628/h, 'Standard NC A100 v4 GPU Usage' $0.000529/s = $1.9044/h, charged on top of active vCPU/memory meters. One GPU per replica, no multi-GPU or fractional. T4 profile tops out around 8 vCPU / 56 GiB and A100 around 24 vCPU / 220 GiB (engine cannot enforce per-GPU shape limits). Serverless GPU is only offered in a subset of regions, so regions left unpinned. Dedicated GPU profiles ($4.4076/h meter) not modelled.",
   "cpu_class": "shared"
  },
  {
   "key": "savings-plan-1y",
   "label": "Consumption + 1y savings plan",
   "flags": [
    "commit"
   ],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia"
   ],
   "gpu_only": false,
   "features": {
    "isolation": null
   },
   "pricing": "resource",
   "vcpu_h": 0.07344,
   "ram_gib_h": 0.00918,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    2,
    2
   ],
   "ram_fixed_per_vcpu": 2,
   "vcpu_options": null,
   "min_vcpu": 0.25,
   "max_vcpu": 4,
   "max_ram_gib": 8,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": true,
   "always_on_month_per_instance": null,
   "commit_note": "1-year (15% off). Azure savings plan for compute (hourly $ commitment across Azure compute).",
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Retail Prices API savingsPlan 1 Year: $0.0000204 / $0.00000255.",
   "commit_term": "1-year",
   "cpu_class": "shared"
  },
  {
   "key": "savings-plan-3y",
   "label": "Consumption + 3y savings plan",
   "flags": [
    "commit"
   ],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia"
   ],
   "gpu_only": false,
   "features": {
    "isolation": null
   },
   "pricing": "resource",
   "vcpu_h": 0.071712,
   "ram_gib_h": 0.008964,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    2,
    2
   ],
   "ram_fixed_per_vcpu": 2,
   "vcpu_options": null,
   "min_vcpu": 0.25,
   "max_vcpu": 4,
   "max_ram_gib": 8,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": true,
   "always_on_month_per_instance": null,
   "commit_note": "3-year (17% off). Azure savings plan for compute (hourly $ commitment across Azure compute).",
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Retail Prices API savingsPlan 3 Years: $0.00001992 / $0.00000249.",
   "commit_term": "3-year",
   "cpu_class": "shared"
  },
  {
   "key": "dedicated",
   "label": "Dedicated plan (workload profiles) + $0.10/h environment fee",
   "flags": [
    "alt"
   ],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia"
   ],
   "gpu_only": false,
   "features": {
    "isolation": "container"
   },
   "pricing": "resource",
   "vcpu_h": 0.057077,
   "ram_gib_h": 0.004978,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    4,
    8
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": 4,
   "max_vcpu": 32,
   "max_ram_gib": 256,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Retail Prices API: Dedicated vCPU $0.057077/h, Memory $0.004978/GiB-h per workload-profile instance (D-series 4 GiB/vCPU, E-series 8 GiB/vCPU), billed per instance not per app, plus Dedicated Plan Management $0.10/h per environment ($73/month; 1y SP $0.085, 3y $0.083). Savings plan 1y $0.04851545/$0.0042313, 3y $0.04737391/$0.00413174.",
   "cpu_class": "dedicated"
  },
  {
   "key": "dynamic-sessions-code-interpreter",
   "label": "Dynamic Sessions, built-in code interpreter ($0.03/session-hour)",
   "flags": [],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia"
   ],
   "gpu_only": false,
   "features": {
    "code_interpreter": true,
    "custom_image": false,
    "isolation": "hyper-v",
    "image_oci": false
   },
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "code-interpreter-session",
     "vcpu": null,
     "ram_gib": null,
     "disk_gib": null,
     "hour": 0.03,
     "month_cap": null
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 3600,
   "granularity_s": 3600,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Retail Prices API \"Dynamic Sessions\" $0.03/h (1y SP $0.0255, 3y $0.0249); billed per allocated session from allocation to deallocation in 1-hour increments. Session vCPU/RAM not published. Mexico Central $0.033, Belgium/Spain Central $0.039. Billing verified 2026-09-28 (learn.microsoft.com/azure/container-apps/billing): \"For each allocated session, you're billed from the time it's allocated until it's deallocated in increments of one hour.\" granularity_s 3600 kept (no sub-hour proration). Session pool max 600 concurrent sessions; cooldown 300-3600 s; each code execution max 220 s; file upload 128 MB.",
   "product_class": "code-interpreter",
   "cpu_class": "dedicated"
  },
  {
   "key": "dynamic-sessions-custom",
   "label": "Dynamic Sessions, custom container pool (dedicated E16 nodes)",
   "flags": [
    "alt"
   ],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia"
   ],
   "gpu_only": false,
   "features": {
    "isolation": "hyper-v",
    "image_oci": true
   },
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "E16 node (pool capacity)",
     "vcpu": 16,
     "ram_gib": 128,
     "disk_gib": 0,
     "hour": 1.550416,
     "month_cap": null
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Custom-container session pools are billed on the Dedicated plan: each pool runs on E16 instances (16 vCPU/128 GiB = 16 x 0.057077 + 128 x 0.004978 = $1.5504/h) sized by active + ready sessions, plus the $0.10/h management fee.",
   "cpu_class": "dedicated"
  }
 ],
 "storage": {
  "included_disk_gib": 4,
  "disk_gib_month": null,
  "disk_billed_when_stopped": false,
  "snapshot_gib_month": null,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": 100,
  "egress_gib": 0.087,
  "ipv4_month": null,
  "ipv4_available": false,
  "internet": {
   "default": "configurable",
   "evidence": [
    {
     "quote": "Specifies whether outbound network traffic is allowed from the session. Valid values are `EgressDisabled` (default) and `EgressEnabled`.",
     "url": "https://learn.microsoft.com/en-us/azure/container-apps/session-pool"
    }
   ]
  }
 },
 "plans": [
  {
   "name": "Pay-as-you-go",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Consumption: no fee; Dedicated/private endpoints/planned maintenance add $0.10/h per environment. Dynamic sessions: code interpreter pools max 600 concurrent sessions per pool (session-pool doc, 2026-10-14: 'The maximum value is 600.'); custom container pools state no maximum ('The maximum number of sessions that can be allocated at the same time.')."
  }
 ],
 "free": {
  "monthly_credit": 5.4,
  "one_time_credit": 200
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": false,
  "gpu": true,
  "gpu_types": [
   "T4",
   "A100-80GB"
  ],
  "snapshot": "none",
  "pause_resume": false,
  "fork": false,
  "persistent_disk": true,
  "volumes": true,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": true,
  "docker_inside": false,
  "nested_virt": false,
  "root": true,
  "systemd": false,
  "browser": false,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": true,
  "agent_harnesses": false,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": true,
  "egress_allowlist": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "regions": [
   "us",
   "eu",
   "asia",
   "other"
  ],
  "soc2": true,
  "hipaa": true,
  "sso": true,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": false,
  "memory_snapshot_fork": false,
  "webhooks": false,
  "scheduled_wakeups": null,
  "audit_logs": true,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": false,
  "mcp_server": true,
  "isolation": "container",
  "image_oci": true,
  "snapshot_auto": false,
  "snapshot_on_demand": false,
  "harness_api": false,
  "egress_allowlist_level": "both",
  "ingress_rules": true,
  "guest_firewall": false,
  "secret_proxy": false,
  "volume_attach": true,
  "volume_shared": true,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "static-datacenter",
  "own_agent_api": false,
  "max_session_unlimited": true,
  "open_internet": true,
  "usage_api": true,
  "persist_scope": "folder",
  "persist_path": "Azure Files mounts"
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "knobs": [
  {
   "id": "idle_share",
   "label": "Share of running time a min-replica sits idle (idle rate)",
   "kind": "slider",
   "min": 0,
   "max": 0.95,
   "step": 0.05,
   "default": 0,
   "unit": "%",
   "options": null,
   "effect": "rate_factor",
   "modes": [
    "consumption"
   ],
   "why": "Idle min-replicas bill $0.000003/vCPU-s instead of $0.000024 (memory unchanged). Approximation for 1 vCPU:2 GiB: rate factor ~ 1 - 0.7*share; set 0 for active workloads.",
   "map": {
    "offset": 1,
    "scale": -0.7
   }
  }
 ],
 "caveats": [
  "All rates from the Azure Retail Prices API (prices.azure.com, serviceName \"Azure Container Apps\", fetched 2026-09-28).",
  "Region tiers: base rate ($0.000024/$0.000003) in eastus, eastus2, centralus, westus, westus3, northeurope, swedencentral, germanywestcentral, francecentral, polandcentral, norwayeast, switzerlandnorth, japaneast, centralindia, eastasia, koreacentral, etc. Premium regions westeurope, uksouth, westus2, southeastasia, australia*, canada* are $0.000034/$0.000004 (+42% CPU). The engine uses base-rate regions for us/eu/asia.",
  "free.monthly_credit 5.40 (derived) = monthly per-subscription grant 180,000 vCPU-s x $0.000024 ($4.32) + 360,000 GiB-s x $0.000003 ($1.08); the 2M free requests ($0.80) are extra. The previous provider record listed serverless GPU T4 $0.324/h and A100 $2.3436/h; the Retail API shows $0.2628/h and $1.9044/h in eastus.",
  "Knob idle_share is an approximation; idle criteria are strict (any request or >0.01 vCPU makes the replica active).",
  "Consumption replica max 4 vCPU/8 GiB with a fixed 1:2 ratio (docs knowledge, not re-verified this session).",
  "Serverless GPU: NC T4 v3 $0.000073/s ($0.2628/h) and NC A100 v4 $0.000529/s ($1.9044/h) on top of vCPU/RAM (Retail API); dedicated GPU profile $4.4076/h. Not modelled per mode.",
  "Egress (Retail API, Bandwidth, Microsoft Global Network routing): first 100 GB/month free, then $0.087/GB NA/EU (10-50 TB $0.083, 50-150 TB $0.07, >150 TB $0.05); Asia (centralindia, japaneast) $0.12/GB first tier.",
  "Dedicated/custom-session modes carry a $73/month per-environment management fee that the resource rate does not include.",
  "Environment Management / Planned Maintenance / Private Endpoint meters ($0.10/h eastus, effective 2026-09-01 in the Retail API; westeurope $0.143) apply \"regardless of Consumption or Dedicated plan\" when private endpoints or planned maintenance are used.",
  "Hybrid (Arc-enabled) vCPU $0.18/h exists in the Retail API; not modelled.",
  "Consumption ephemeral storage (learn.microsoft.com/azure/container-apps/storage-mounts, 2026-09-28): total container+replica-scoped ephemeral disk per replica is 1 GiB at <=0.25 vCPU, 2 GiB at <=0.5, 4 GiB at <=1, 8 GiB above 1 vCPU; no separate meter (billing doc lists only vCPU-s, GiB-s, GPU-s, requests). included_disk_gib = 4 (the 1 vCPU tier); replicas above 1 vCPU get 8 GiB. More disk requires an Azure Files share (separate Azure Storage bill, not modelled), so disk beyond the ephemeral allowance stays price-unknown.",
  "Dynamic Sessions code interpreter bills each allocated session in 1-hour increments (docs, 2026-09-28); short sessions pay a full hour unless the pool reuses sessions.",
  "Region tiers (Retail API 2026-09-29) are finer than base/premium: base $0.000024/$0.000003; westcentralus $0.000029/$0.000004; austriaeast, belgiumcentral $0.000031/$0.000004; indonesiacentral, malaysiawest $0.000028/$0.000004; mexicocentral $0.000026/$0.000003; premium (westeurope, uksouth, ukwest, westus2, southeastasia, australia*, canada*, italynorth, spaincentral, koreasouth, germanynorth, switzerlandwest, chilecentral) $0.000034/$0.000004 (memory +33%, idle vCPU $0.000004); newzealandnorth $0.000036/$0.000005; swedensouth $0.000044; norwaywest, uaecentral $0.000045; southafricawest $0.000046; brazilsoutheast $0.000055/$0.000007. Dedicated vCPU follows the same tiers (premium $0.080859/h, $0.006638/GiB-h).",
  "Consumption-only (legacy) environments cap apps at 2 vCPU / 4 GiB; the 4 vCPU / 8 GiB max needs a workload-profiles environment (the default). Max 1,000 replicas per revision. Express apps (new, 2026) and Sandboxes use the same Consumption meters and free grant with no environment fee; Sandboxes+Express limited to 2,000 cores (support request to raise).",
  "KEDA default cool-down period is 300 s: a scale-to-zero app keeps its last replica billed at the active rate ~5 min after the last event (configurable). Not modelled.",
  "Flexible workload profile (preview): billed like Consumption plus the $0.10/h environment management fee, single-tenant pool, no scale to zero, limited regions. Not modelled as a mode.",
  "Environment fee: the new 'Environment Management Hour' / 'Environment Private Endpoint' / 'Environment Planned Maintenance Hour' meters (effective 2026-09-01) are region-priced: $0.10 eastus/eastus2/westus2/westus3/centralus, $0.13 westus/swedencentral/germanywestcentral, $0.143 northeurope/westeurope, $0.145 japaneast, $0.155 eastasia, up to $0.23 brazilsoutheast; the legacy 'Dedicated Plan Management' meter stays $0.10 in almost every region. So the $73/month dedicated fee is ~$104/month in North Europe if the new meter is the one charged (unclear which meter applies).",
  "Session pool lifecycle (learn.microsoft.com/azure/container-apps/session-pool, 2026-10-14): 'Timed' (default, all pool types) deletes a session after cooldownPeriodInSeconds without requests; 'OnContainerExit' keeps a session 'active until the container exits on its own or the maximum alive period is reached' (maxAlivePeriodInSeconds). So custom container sessions can run long-lived, not only until the 300-3600 s cooldown. The 600-session cap is documented for code interpreter pools only."
 ],
 "sources": [
  "https://azure.microsoft.com/en-us/pricing/details/container-apps/",
  "https://learn.microsoft.com/en-us/azure/container-apps/billing",
  "https://learn.microsoft.com/en-us/azure/container-apps/sessions-code-interpreter",
  "https://learn.microsoft.com/en-us/azure/container-apps/ingress-overview",
  "https://learn.microsoft.com/en-us/azure/container-apps/session-pool",
  "https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Azure Container Apps'",
  "https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Bandwidth'"
 ],
 "fleet": {
  "default_max_instances": null,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "ticket",
  "raise_time_days": null,
  "verification": "Azure signup uses phone and non-prepaid card for identity verification.",
  "tiers": null,
  "notes": "Default quota varies with subscription age, type and usage. Consumption cores are environment scoped; other quotas are subscription/region scoped. Portal quota request or support route; no universal starting fleet size or approval time.",
  "sources": [
   "https://learn.microsoft.com/en-us/azure/container-apps/quotas",
   "https://learn.microsoft.com/en-us/azure/container-apps/quota-requests",
   "https://azure.microsoft.com/free/"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 6,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 4
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/sessions-usage",
   "quote": "Once there are no requests to the session after the cooldown period has elapsed, the session is automatically destroyed.",
   "note": "Dynamic sessions are not snapshotted: with the default Timed lifecycle they are destroyed after the cooldown (300-3600 s); custom container pools can instead use the OnContainerExit lifecycle (session-pool doc, 2026-10-14: 'a session remains active until the container exits on its own or the maximum alive period is reached', set by maxAlivePeriodInSeconds), after which the session is deleted. App replicas scaling to zero lose container state (only EmptyDir/replica-scoped or Azure Files persist). Snapshots exist only in the separate ACA Sandboxes product (id azure-container-apps-sandboxes, sandboxes-snapshots-state-management).",
   "checked": "2026-10-14"
  },
  "snapshot_on_demand": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/storage-mounts",
   "quote": "Container-scoped storage | Ephemeral storage available to a running container | Data is available until container shuts down",
   "note": "No API/CLI operation to snapshot or checkpoint a container app, revision, or session at will; management surface is limited to Azure Files mounts (external, always-on storage) and revision/replica lifecycle, not point-in-time snapshots.",
   "checked": "2026-09-30"
  },
  "harness_api": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/sessions-code-interpreter",
   "quote": null,
   "note": "Dynamic sessions expose a code-interpreter execute API / your own HTTP endpoints plus LLM-framework integrations (LangChain, LlamaIndex, Semantic Kernel, AutoGen, MCP shell tutorials) - tools for an external agent, not an API to drive an agent harness inside the sandbox.",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/use-azure-firewall",
   "quote": "Use a UDR to restrict outbound traffic from your container app through Azure Firewall or other network appliances.",
   "note": "Apps: custom VNet + NSG outbound rules (IP/port/service tag) and UDR to Azure Firewall application rules (FQDN) - workload-profile environments only; scope is the environment subnet, not per app. Dynamic sessions: per-pool on/off only ('Valid values are `EgressDisabled` (default) and `EgressEnabled`.'), no allowlist.",
   "checked": "2026-09-29",
   "level": "both"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/ip-restrictions",
   "quote": "Azure Container Apps allows you to limit inbound traffic to your container app by configuring IP ingress restrictions.",
   "note": "Per-app external vs internal ingress, internal-only environments (no public endpoint), IP allow/deny CIDR rules, choice of target port, built-in auth (Easy Auth), client certificates, NSG inbound in VNet. Dynamic sessions are only reachable through the pool management endpoint with Entra ID tokens (Session Executor role).",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/containers",
   "quote": "Azure Container Apps doesn't allow privileged containers mode with host-level access.",
   "note": "Containers (dynamic sessions: Hyper-V isolated); no privileged mode and no documented way to add CAP_NET_ADMIN, so in-container iptables should not be available. Not explicitly documented either way.",
   "checked": "2026-09-29"
  },
  "secret_proxy": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/manage-secrets",
   "quote": "The value of each secret is specified directly or as a reference to a secret stored in Azure Key Vault.",
   "note": "Secrets (optionally Key Vault references) are exposed to containers as env vars or secret volume mounts; managed identities issue tokens inside the container. Session-pool doc warns untrusted code has 'full access to the container, including its environment variables, secrets, and files'. No credential-injecting proxy.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": true,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/storage-mounts",
   "quote": "You can mount a file share from [Azure Files](../storage/files/index.yml) as a volume in a container.",
   "note": "Azure Files SMB (AzureFile) or NFS (NfsAzureFile, needs custom VNet); ReadWrite or ReadOnly. No block volumes. Quote from the markdown source (rendered: 'You can mount a file share from Azure Files as a volume in a container.').",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": true,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/storage-mounts",
   "quote": "Multiple containers can mount the same file share, including ones that are in another replica, revision, or container app.",
   "note": "Read-write or read-only (--access-mode ReadWrite|ReadOnly), SMB or NFS. Applies to container apps/jobs; session-pool volume support not verified.",
   "checked": "2026-09-29"
  },
  "isolation": {
   "value": "container",
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/containers",
   "quote": "Azure Container Apps doesn't allow privileged containers mode with host-level access.",
   "note": "Consumption/Dedicated plans (the modeled default) run standard Linux containers on a managed Kubernetes-based platform, shared kernel, no privileged/host access; this matches the card's already-resolved Dedicated-mode isolation ('container'). Only the separate Dynamic Sessions feature uses per-session Hyper-V isolation ('Secure isolation: Hyper-V isolation ... Sessions are isolated from each other and from the host environment', learn.microsoft.com/azure/container-apps/sessions), already captured per-mode in the card.",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps enables you to build serverless microservices and jobs based on containers.",
   "note": "not offered: outside the product's scope",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps enables you to build serverless microservices and jobs based on containers.",
   "note": "not offered: outside the product's scope",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "static-datacenter",
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/networking",
   "quote": "Outbound public IP Used as the \"from\" IP for outbound connections that leave the virtual network. These connections aren't routed down a VPN. Outbound IPs might change over time. Using Azure NAT Gateway or another proxy for outbound traffic from a Container Apps environment is supported only in a workload profile environment.",
   "note": "Default outbound IP is a shared, changeable Azure datacenter IP; a fixed outbound IP requires attaching an Azure NAT Gateway (with its own static public IP) to a workload-profiles environment, matching the card's static_egress_ip=true. All are Azure datacenter IPs, never residential/mobile.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps enables you to build serverless microservices and jobs based on containers.",
   "note": "Changing an app's CPU/memory (or workload profile) triggers a new revision/replica deployment; no documented in-place live-resize API for a running replica.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps enables you to build serverless microservices and jobs based on containers.",
   "note": "not offered: outside the product's scope (Container Apps/Dynamic Sessions offer a code-interpreter execution API for your own agent to call, not a first-party browser/computer-use/research agent driven via API)",
   "checked": "2026-09-30"
  },
  "mcp_server": {
   "value": true,
   "source": "https://raw.githubusercontent.com/microsoft/mcp/main/servers/Azure.Mcp.Server/README.md",
   "quote": "📦 Azure Container Apps - \"List the container apps in my subscription\" - \"Show me the container apps in my 'my-resource-group' resource group\"",
   "note": "Microsoft's official Azure MCP Server (microsoft/mcp) ships Container Apps tools (list/show container apps, check quota/usage) as one of its built-in service integrations, and can itself be self-hosted on Azure Container Apps.",
   "checked": "2026-09-30"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/use-azure-firewall",
   "quote": "Use a UDR to restrict outbound traffic from your container app through Azure Firewall or other network appliances.",
   "note": "Outbound control is network-layer only: NSG/UDR IP-port-service-tag rules or Azure Firewall FQDN application rules on the environment subnet; no documented HTTP method/path-level egress rule capability.",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps enables you to build serverless microservices and jobs based on containers.",
   "note": "Container Apps (Consumption/Dedicated) are long-running microservices with no maximum lifetime imposed by the provider; a replica runs until it's scaled down, updated, or you stop it. Dynamic Sessions instead use an idle cooldown (300-3600 s) that destroys an unused session, not a hard maximum active-duration cap.",
   "checked": "2026-09-30"
  },
  "persistent_disk": {
   "value": true,
   "corrected_from": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/storage-mounts",
   "quote": "Azure Files | Permanent storage | Data is persisted to Azure Files | Writing files to a file share to make data accessible by other systems.",
   "note": "Card's false contradicts its own volumes:true/volume_attach:true. Container- and replica-scoped storage are ephemeral ('temporary and disappears when the container shuts down or restarts'), but an Azure Files-backed volume mount is documented as 'Permanent storage' that survives replica restarts and scale-to-zero. Corrected field: persistent_disk=true (default ephemeral disk still does not persist; persistence requires opting into an Azure Files mount).",
   "checked": "2026-09-30"
  },
  "snapshot": {
   "value": "none",
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/storage-mounts",
   "quote": "Container-scoped storage ... Replica-scoped storage ... Azure Files ... Permanent storage",
   "note": "The doc enumerates exactly three storage types (container-scoped ephemeral, replica-scoped ephemeral EmptyDir, and permanent Azure Files) with no snapshot/checkpoint mechanism for either the filesystem or memory; Dynamic Sessions are destroyed (not snapshotted) after cooldown per sessions-usage. Confirms snapshot: none.",
   "checked": "2026-09-30"
  },
  "pause_resume": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/storage-mounts",
   "quote": "The storage is temporary and disappears when the container shuts down or restarts.",
   "note": "Only scale-to-zero exists, which is a stop (ephemeral state and running processes are discarded, new replica starts fresh), not a pause that preserves in-memory state for later resume. No pause/resume API found.",
   "checked": "2026-09-30"
  },
  "fork": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Run multiple container revisions and manage the container app's application lifecycle.",
   "note": "Container Apps' unit of duplication is a new revision/replica deployed from the same image+config, not a clone of an existing running instance's disk/memory state. No fork/clone-machine API documented; outside this managed-serverless-container product's scope.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps is a serverless platform for running containerized applications without managing the underlying infrastructure.",
   "note": "No documented API to clone a live running replica (with its memory/process state) into a new one; scaling creates fresh replicas from the image, not forks of a running one.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/storage-mounts",
   "quote": "Container-scoped storage ... Replica-scoped storage ... Azure Files ...",
   "note": "No memory-snapshot mechanism exists at all (see snapshot: none), so a memory-including fork is not possible; consistent with no fork/fork_running support.",
   "checked": "2026-09-30"
  },
  "docker_inside": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/containers",
   "quote": "Privileged containers: Azure Container Apps doesn't allow privileged containers mode with host-level access.",
   "note": "Running a Docker daemon (dind) inside a container normally requires privileged mode / extra capabilities, which ACA explicitly disallows.",
   "checked": "2026-09-30"
  },
  "nested_virt": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/containers",
   "quote": "Privileged containers: Azure Container Apps doesn't allow privileged containers mode with host-level access.",
   "note": "No privileged mode / host device access means no /dev/kvm passthrough for nested virtualization inside the container.",
   "checked": "2026-09-30"
  },
  "ssh": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps is a serverless platform for running containerized applications without managing the underlying infrastructure.",
   "note": "No SSH daemon/port is exposed; the closest capability is the Azure portal/CLI 'exec into container' console (control-plane driven, not an SSH server), which does not meet the SSH-into-the-machine definition.",
   "checked": "2026-09-30"
  },
  "desktop": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps is a serverless platform for running containerized applications without managing the underlying infrastructure.",
   "note": "Not offered: a headless serverless container/job/microservice/HTTP-ingress platform, outside the product's scope.",
   "checked": "2026-09-30"
  },
  "browser": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Common uses of Azure Container Apps include: Deploying API endpoints, Hosting background processing jobs, Handling event-driven processing, Running microservices",
   "note": "No managed/pre-installed browser; not offered, outside the product's scope (users could run their own browser image, but none is provided).",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps is a serverless platform for running containerized applications without managing the underlying infrastructure.",
   "note": "No screenshot/click computer-use API; outside the product's scope (managed container hosting, not an agent-desktop product).",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Enable HTTPS or TCP ingress without having to manage other Azure infrastructure.",
   "note": "Access is via a managed HTTPS/TCP ingress endpoint (shared front end / FQDN), not a dedicated public IPv4 per app; consistent with the card's own network.ipv4_available: false.",
   "checked": "2026-09-30"
  },
  "agent_harnesses": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Common uses of Azure Container Apps include: Deploying API endpoints, Hosting background processing jobs, Handling event-driven processing, Running microservices",
   "note": "No pre-installed coding-agent harnesses (Claude Code, Codex, etc.) or templates; Dynamic Sessions code-interpreter targets are aimed at running untrusted code for an external caller, not shipping a harness. Outside the product's scope.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/containers",
   "quote": "Operating system: Linux-based (linux/amd64) container images are required.",
   "note": "Explicitly Linux/amd64 only; no Windows container support.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/containers",
   "quote": "Operating system: Linux-based (linux/amd64) container images are required.",
   "note": "Linux-only container platform; macOS is not offered.",
   "checked": "2026-09-30"
  },
  "arm64": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/containers",
   "quote": "Operating system: Linux-based (linux/amd64) container images are required.",
   "note": "Only linux/amd64 images are supported; no ARM64 architecture offered.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps is a serverless platform for running containerized applications without managing the underlying infrastructure.",
   "note": "Fully-managed Azure PaaS control plane; there is no self-hosted / on-prem distribution of the Container Apps service itself.",
   "checked": "2026-09-30"
  },
  "byoc": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Azure Container Apps is a serverless platform for running containerized applications without managing the underlying infrastructure.",
   "note": "Runs only inside Microsoft-operated Azure regions/subscriptions; no option to deploy the managed service into a customer-owned cloud account (Connected/Arc-enabled environments run on the customer's own Kubernetes, a different sub-product, not modeled here).",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/overview",
   "quote": "Build microservices with Dapr and access its rich set of APIs.",
   "note": "Container Apps is a closed-source managed Azure service; it is built on/integrates open-source components (Kubernetes, KEDA, Dapr, Envoy) but the Container Apps control plane itself is not released under an OSI license.",
   "checked": "2026-09-30"
  },
  "cpu_class": {
   "value": {
    "consumption": "shared",
    "savings-plan-1y": "shared",
    "savings-plan-3y": "shared",
    "serverless-gpu": "shared",
    "dedicated": "dedicated",
    "dynamic-sessions-code-interpreter": "dedicated",
    "dynamic-sessions-custom": "dedicated"
   },
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/workload-profiles-overview",
   "quote": "Consumption profiles use a serverless architecture... Dedicated profiles run on reserved compute resources in your own dedicated pool. Compute isolation: Dedicated workload profiles provide access to dedicated hardware with a single tenant guarantee.",
   "note": "Consumption/savings-plan/serverless-GPU modes all run on the Consumption workload profile: a serverless, multi-tenant scaling model with no single-tenant guarantee, so vCPUs are treated as shared/oversubscribed (Azure does not publish a CPU baseline %, so 'shared' rather than a burstable:NN figure). Dedicated workload profiles are explicitly documented as 'dedicated hardware with a single tenant guarantee' (plans page) and 'reserved compute resources in your own dedicated pool' (workload-profiles-overview) -> dedicated. dynamic-sessions-custom is billed on the Dedicated plan (E16 workload-profile instances per the card's own note) -> dedicated. dynamic-sessions-code-interpreter sessions run in individually Hyper-V isolated micro-VMs ('Secure isolation: Hyper-V isolation... Sessions are isolated from each other and from the host environment', sessions.md) which is consistent with dedicated per-session vCPU allocation, but exact session vCPU/RAM and any host-level oversubscription policy are not published by Microsoft, so this entry is lower confidence (medium) and derived rather than an explicit 'dedicated vCPU' statement for sessions.",
   "checked": "2026-09-30"
  },
  "usage_api": {
   "value": true,
   "source": "https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/consumption-api-overview",
   "quote": "Cost Details APIs provide you with cost details data (formerly referred to as usage details). Cost Details are the most granular usage and cost records available. For custom, on-demand analysis, and dashboards, use the Query API. Cost Analysis supports filtering and grouping by resource groups, subs",
   "note": "granularity: per-resource; cost: yes; Azure hyperscaler provides Cost Details API, Exports API, and Cost Management Query API that return vCPU-seconds, GiB-seconds, GPU-seconds, and HTTP requests per resource. Data can be filtered by resource ID, tags, or resource groups. APIs return both quantities and costs in currency (USD). Supported for all subscription types (Pay-As-You-Go, Enterprise Agreement, Microsoft Customer Agreement).",
   "confidence": "high",
   "checked": "2026-10-01"
  },
  "raw_tcp_inbound": {
   "value": true,
   "corrected_from": false,
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/ingress-overview",
   "quote": "Container Apps supports TCP-based protocols other than HTTP or HTTPS. For example, you can use TCP ingress to expose a container app that uses the Redis protocol.",
   "note": "Ingress supports 'two protocols for ingress: HTTP and TCP.' Limits: 'External TCP ingress is only supported for Container Apps environments that use a virtual network.' (custom VNet environment; without one TCP ingress is internal only); one main port plus 'a maximum of five additional ports per app' (support request for more); externally exposed TCP ports 'must be unique across the entire Container Apps environment'. Custom-container session pools also allow 'any TCP protocol you choose to expose' (learn.microsoft.com/azure/container-apps/sessions), though only via the pool management endpoint. No dedicated public IPv4 (public_ipv4 stays false).",
   "checked": "2026-10-14"
  },
  "persist_scope": {
   "value": "folder",
   "source": "https://learn.microsoft.com/en-us/azure/container-apps/storage-mounts",
   "quote": "Azure Files | Permanent storage | Data is persisted to Azure Files | Writing files to a file share to make data accessible by other systems.",
   "note": "Only Azure Files mounts survives a stop; the rest of the filesystem (packages installed elsewhere) resets.",
   "checked": "2026-10-01"
  }
 },
 "locations": [
  {
   "country": "US",
   "state": "VA",
   "city": "Ashburn",
   "provider_region": "eastus",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "VA",
   "city": "Virginia",
   "provider_region": "eastus2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "IA",
   "city": "Des Moines",
   "provider_region": "centralus",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "CA",
   "city": "San Jose",
   "provider_region": "westus",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "WA",
   "city": "Washington",
   "provider_region": "westus2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "AZ",
   "city": "Phoenix",
   "provider_region": "westus3",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "IE",
   "state": null,
   "city": "Dublin",
   "provider_region": "northeurope",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SE",
   "state": null,
   "city": "Stockholm",
   "provider_region": "swedencentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SE",
   "state": null,
   "city": "Gävle",
   "provider_region": "swedensouth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "DE",
   "state": null,
   "city": "Frankfurt",
   "provider_region": "germanywestcentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "DE",
   "state": null,
   "city": "Berlin",
   "provider_region": "germanynorth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "FR",
   "state": null,
   "city": "Paris",
   "provider_region": "francecentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "PL",
   "state": null,
   "city": "Warsaw",
   "provider_region": "polandcentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "NO",
   "state": null,
   "city": "Oslo",
   "provider_region": "norwayeast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "NO",
   "state": null,
   "city": "Stavanger",
   "provider_region": "norwaywest",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CH",
   "state": null,
   "city": "Zurich",
   "provider_region": "switzerlandnorth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CH",
   "state": null,
   "city": "Geneva",
   "provider_region": "switzerlandwest",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "JP",
   "state": null,
   "city": "Tokyo",
   "provider_region": "japaneast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "IN",
   "state": null,
   "city": "Pune",
   "provider_region": "centralindia",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "HK",
   "state": null,
   "city": "Hong Kong",
   "provider_region": "eastasia",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "KR",
   "state": null,
   "city": "Seoul",
   "provider_region": "koreacentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "KR",
   "state": null,
   "city": "Busan",
   "provider_region": "koreasouth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SG",
   "state": null,
   "city": "Singapore",
   "provider_region": "southeastasia",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "AU",
   "state": "NSW",
   "city": "Sydney",
   "provider_region": "australiaeast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "AU",
   "state": "VIC",
   "city": "Melbourne",
   "provider_region": "australiasoutheast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CA",
   "state": "QC",
   "city": "Quebec City",
   "provider_region": "canadaeast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CA",
   "state": "ON",
   "city": "Toronto",
   "provider_region": "canadacentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "GB",
   "state": null,
   "city": "London",
   "provider_region": "uksouth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "GB",
   "state": null,
   "city": "Cardiff",
   "provider_region": "ukwest",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "IT",
   "state": null,
   "city": "Milan",
   "provider_region": "italynorth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "ES",
   "state": null,
   "city": "Madrid",
   "provider_region": "spaincentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CL",
   "state": null,
   "city": "Santiago",
   "provider_region": "chilecentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "MX",
   "state": null,
   "city": "Mexico City",
   "provider_region": "mexicocentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "AT",
   "state": null,
   "city": "Vienna",
   "provider_region": "austriaeast",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "BE",
   "state": null,
   "city": "Brussels",
   "provider_region": "belgiumcentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "ID",
   "state": null,
   "city": "Jakarta",
   "provider_region": "indonesiacentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "MY",
   "state": null,
   "city": "Kuala Lumpur",
   "provider_region": "malaysiawest",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "NZ",
   "state": null,
   "city": "Auckland",
   "provider_region": "newzealandnorth",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "AE",
   "state": null,
   "city": "Abu Dhabi",
   "provider_region": "uaecentral",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "ZA",
   "state": null,
   "city": "Cape Town",
   "provider_region": "southafricawest",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "BR",
   "state": "SP",
   "city": "São Paulo",
   "provider_region": "brazilsoutheast",
   "self_serve": true,
   "choosable": true
  }
 ],
 "locations_source": "https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Azure Container Apps'",
 "locations_quote": "Retail Prices API serviceName eq 'Azure Container Apps' lists 40 regions. Consumption plan, Dedicated plan, and Dynamic Sessions (code-interpreter and custom container pools) are available across all listed regions with region-specific pricing tiers (base rate in eastus/northeurope/japaneast/central",
 "locations_checked": "2026-10-01"
}