Azure Cost Estimate: aks-platform
Generated by architect agent | 2026-02-15
| ⬅️ Previous |
📑 Index |
Next ➡️ |
| 02-architecture-assessment.md |
README |
04-governance-constraints.md |
Generated: 2026-02-15
Region: swedencentral
Environment: Production
MCP Tools Used: azure_price_search, azure_cost_estimate, azure_ri_pricing, azure_discover_skus
Architecture Reference: 02-architecture-assessment.md
💰 Cost At-a-Glance
Monthly Total: ~$1,880 | Annual: ~$22,560
Budget: $3,000–5,000/month (soft) | Utilization: 38–63% ($1,880 of $3,000–$5,000)
| Status |
Indicator |
| Cost Trend |
➡️ Stable (fixed provisioned compute) |
| Savings Available |
💰 ~$2,200/year with 1-year Reserved Instances |
| Compliance |
✅ SOC 2 / GDPR / ISO 27001 aligned (no cost premium) |
✅ Decision Summary
- ✅ Approved: AKS Standard tier, WAF v2 ingress, GP 4 vCore SQL (ZR), Premium ACR, NAT Gateway, full observability stack
- ⏳ Deferred: Redis Cache, DDoS Standard, multi-region DR, Azure Front Door, premium monitoring (Sentinel)
- 🔁 Redesign Trigger: If concurrent users exceed 5,000 or p95 latency cannot meet < 200 ms with current SQL vCore count, scale SQL to 8 vCores (+
$490/mo) and evaluate Redis Cache (+$55/mo)
Confidence: High | Expected Variance: ±15% (Log Analytics ingestion volume is the main variable; node autoscaling adds $149–745/mo at 3–8 nodes)
🔁 Requirements → Cost Mapping
| Requirement |
Architecture Decision |
Cost Impact |
Mandatory |
| 99.95% SLA (AKS) |
AKS Standard tier (Uptime SLA) |
+$73/month |
Yes |
| WAF in Prevention mode |
Application Gateway WAF v2 |
+$290/month |
Yes |
| Private endpoints (SQL, ACR, KV) |
Premium ACR + PE subnet + Private DNS |
+$170/month (ACR) |
Yes |
| Zone-redundant SQL |
GP 4 vCore ZR addon |
+$122/month |
Yes |
| Deterministic outbound IPs |
NAT Gateway on AKS subnet |
+$37/month |
Yes |
| SOC 2 / GDPR compliance |
Encryption at rest, audit logging, EU data |
$0 incremental |
Yes |
| Container observability |
Container Insights + Log Analytics |
+$60/month (~20 GB) |
Yes |
| Autoscaling (3→8 user nodes) |
AKS cluster autoscaler |
+$0–$745/month (variable) |
No |
📊 Top 5 Cost Drivers
| Rank |
Resource |
Monthly Cost |
% of Total |
Trend |
Optimization |
| 1️⃣ |
SQL DB GP 4 vCore (ZR) |
$622.65 |
33.1% |
➡️ |
1-yr RI if workload stable |
| 2️⃣ |
AKS user pool (3× D4s_v5) |
$446.76 |
23.8% |
📈 |
1-yr RI saves 41%; spot for dev/test |
| 3️⃣ |
Application Gateway WAF v2 |
$289.80 |
15.4% |
➡️ |
Fixed cost; optimize CU utilization |
| 4️⃣ |
ACR Premium |
$170.00 |
9.0% |
➡️ |
Lifecycle policy to prune old images |
| 5️⃣ |
AKS system pool (2× D2s_v5) |
$148.92 |
7.9% |
➡️ |
1-yr RI saves 41% |
💡 Quick Win: Enable ACR image retention policy to auto-delete untagged manifests older than 30 days — keeps storage costs flat as images accumulate.
1️⃣ Azure SQL Database
| Aspect |
Detail |
| Current SKU |
GP Gen5 4 vCore (zone-redundant) |
| Monthly Cost |
$622.65 |
| Cost Breakdown |
Compute: $488.92, ZR addon: $122.23, Storage (100 GB): $11.50 |
| Optimization |
1-year reserved capacity |
| Potential Savings |
$200/month with 1-yr RI (41% on compute) |
2️⃣ AKS User Node Pool
| Aspect |
Detail |
| Current SKU |
3× Standard_D4s_v5 (min autoscale) |
| Monthly Cost |
$446.76 (at 3 nodes) → $1,190 at 8 nodes |
| Optimization |
1-year RI for baseline 3 nodes; spot pool for dev/test |
| Potential Savings |
~$183/month with 1-yr RI on 3 nodes (41% savings) |
3️⃣ Application Gateway WAF v2
| Aspect |
Detail |
| Current SKU |
WAF v2 (autoscale 2–10) |
| Monthly Cost |
~$290 (fixed $190 + ~$100 capacity units) |
| Optimization |
Right-size min capacity; monitor CU usage |
| Potential Savings |
Marginal — fixed cost dominates |
Architecture Overview
Cost Distribution
| Category |
Monthly Cost (USD) |
Share |
| 💻 Compute |
$1,115.44 |
59% |
| 💾 Data Services |
$627.65 |
33% |
| 🌐 Networking |
$133.60 |
7% |
| 🔧 Monitoring |
$59.80 |
3% |
Month-over-Month Projection
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#0078D4"}}}%%
xychart-beta
title "6-Month Cost Projection ($)"
x-axis ["Month 1", "Month 2", "Month 3", "Month 4", "Month 5", "Month 6"]
y-axis "Monthly Cost ($)" 0 --> 3000
bar [1880, 1880, 1950, 2050, 2150, 2300]
Growth driven by: Log Analytics ingestion scaling with workload count, SQL storage auto-grow, and user node pool autoscaling as traffic increases.
Key Design Decisions Affecting Cost
| Decision |
Cost Impact |
Business Rationale |
Status |
| Premium ACR (not Standard) |
+$100/month 📈 |
Required for private endpoint support |
Required |
| Zone-redundant SQL |
+$122/month 📈 |
99.995% SLA across AZs per reliability requirements |
Required |
| AKS Standard (not Free) |
+$73/month 📈 |
99.95% API server SLA for production |
Required |
| Linux-only nodes |
-$284/month 📉 |
No Windows licensing; AKS workloads are containerized Linux |
Required |
| NAT Gateway (vs LB SNAT) |
+$37/month 📈 |
Deterministic egress IPs; eliminates SNAT exhaustion risk |
Required |
🧾 What We Are Not Paying For (Yet)
- Azure Cache for Redis (~$55–250/mo): Add if caching patterns emerge from load testing
- Azure DDoS Protection Standard (~$2,944/mo): Current risk accepted with WAF + Basic DDoS
- Multi-region DR (~$1,500+/mo): Single-region with SQL geo-restore; full DR adds second AKS cluster
- Azure Front Door (~$350+/mo): Not needed — App Gateway handles single-region ingress
- Azure Sentinel (~$2.46/GB): Log Analytics sufficient for now; Sentinel adds SIEM/SOAR capabilities
- Azure Bastion (~$140/mo): SSH via
az aks command invoke; add Bastion if persistent debug access needed
- Azure Firewall (~$900/mo): NAT Gateway provides egress; add Firewall if egress filtering required
Assumptions & Uncertainty
- Log Analytics ingestion estimated at ~20 GB/mo based on typical AKS clusters with 3–5 user nodes; higher workload density increases log volume
- SQL storage set at 100 GB with auto-grow; growth rate depends on application data patterns
- Application Gateway capacity unit estimate (~$100/mo) based on moderate traffic; high-throughput workloads may increase CU consumption
- Node autoscaling costs ($149–$745/mo range) depend on actual pod scaling behavior
⚠️ Cost Risk Indicators
| Resource |
Risk Level |
Issue |
Mitigation |
| AKS user pool autoscaling |
🟡 Medium |
3→8 nodes could add up to $745/mo at peak |
Set pod resource limits; tune HPA thresholds carefully |
| Log Analytics ingestion |
🟡 Medium |
Container Insights can generate 50+ GB/mo with verbose logging |
Configure diagnostic settings selectively; set daily cap |
| SQL storage auto-grow |
🟢 Low |
100 GB baseline; unclear growth rate |
Monitor storage metrics; consider data retention policy |
| App Gateway capacity units |
🟢 Low |
Variable cost based on connections and throughput |
Monitor CU metrics; right-size min autoscale instances |
⚠️ Watch Item: AKS user pool autoscaling is the largest cost variable. At steady state with 3 nodes: $447/mo. At full scale with 8 nodes: $1,190/mo — a $743/mo delta. Set autoscaler carefully and monitor.
🎯 Quick Decision Matrix
"If you need X, expect to pay Y more"
| Requirement |
Additional Cost |
SKU Change |
Verdict |
Notes |
| Scale SQL to 8 vCores |
+$490/month |
GP Gen5 8 vCore (ZR) |
🟡 Monitor |
Profile workload first; scale if p95 > 200 ms |
| Add Redis Cache |
+$55–250/month |
Standard C0–C1 |
🟡 Monitor |
Add after load testing identifies caching needs |
| Private AKS cluster |
+$0 |
Config change |
🔴 Investigate |
Breaks AGIC addon; requires standalone Helm chart |
| Azure DDoS Standard |
+$2,944/month |
DDoS Plan |
🔴 Investigate |
Cost-prohibitive unless regulatory mandate |
| Multi-region AKS DR |
+$1,500+/month |
Duplicate infra |
🟡 Monitor |
Evaluate after 6 months based on availability data |
| Spot node pool (dev/test) |
-$250/month |
Spot pricing (~60% discount) |
🟢 Go |
Create spot pool for non-production workloads |
💰 Savings Opportunities
Total Potential Savings: ~$5,120/year (1-yr RI on VMs + SQL)
| Strategy |
Commitment |
Monthly Savings |
Annual Savings |
% Reduction |
| VM Reserved Instances (1-yr) |
1-year |
$183.54 |
$2,202.48 |
~31% |
| VM Reserved Instances (3-yr) |
3-year |
$281.39 |
$3,376.68 |
~47% |
| VM Savings Plan (1-yr) |
1-year |
$148.82 |
$1,785.84 |
~25% |
| SQL Reserved Capacity (1-yr) |
1-year |
$200.46 |
$2,405.52 |
~41% |
| Spot instances (dev/test pool) |
N/A |
~$250.00 |
~$3,000.00 |
~60%¹ |
| Dev/Test pricing (non-prod sub) |
N/A |
~$140.00 |
~$1,680.00 |
~24%² |
¹ Savings on dev/test node pool only (if using spot nodes instead of on-demand)
² Savings on dev subscription VM licensing (Linux only — already no Windows cost)
RI Pricing Detail (from Azure Pricing MCP)
| VM SKU |
PAYG $/hr |
1-yr RI $/hr |
1-yr Savings |
Break-even |
3-yr RI $/hr |
3-yr Savings |
| Standard_D2s_v5 |
$0.102 |
$0.060 |
41.0% |
7.1 months |
$0.038 |
63.0% |
| Standard_D4s_v5 |
$0.204 |
$0.120 |
41.0% |
7.1 months |
$0.075 |
63.0% |
Recommended: 1-year RIs for baseline AKS nodes (2× D2s_v5 system + 3× D4s_v5 user) — total annual savings of ~$2,200 with a 7.1-month break-even.
Detailed Cost Breakdown
Assumptions
- Hours: 730 hours/month (24/7 production workload)
- Network egress: < 100 GB/mo (moderate API traffic via NAT Gateway)
- Storage growth: ~5 GB/month SQL, container images < 50 GB total
- Log ingestion: ~20 GB/mo across AKS + resource diagnostics
Line Items
| Category |
Service |
SKU / Meter |
Quantity / Units |
Est. Monthly |
| 💻 Compute |
AKS system pool |
Standard_D2s_v5 (Linux) |
2 nodes × 730 hrs |
$148.92 |
| 💻 Compute |
AKS user pool |
Standard_D4s_v5 (Linux) |
3 nodes × 730 hrs |
$446.76 |
| 💻 Compute |
AKS Standard tier |
Uptime SLA |
1 cluster × 730 hrs |
$73.00 |
| 💻 Compute |
Application Gateway WAF v2 |
Fixed cost |
1 instance × 730 hrs |
$189.80 |
| 💻 Compute |
Application Gateway WAF v2 |
Capacity units |
~10 CU avg |
~$100.00 |
| 💻 Compute |
Application Gateway WAF v2 |
WAF policy |
Included in fixed cost |
$0.00 |
| 💾 Data Services |
SQL DB compute |
GP Gen5 4 vCore |
4 vCores × 730 hrs |
$488.92 |
| 💾 Data Services |
SQL DB zone redundancy |
ZR addon |
~25% of compute |
$122.23 |
| 💾 Data Services |
SQL DB storage |
GP Storage (LRS) |
100 GB |
$11.50 |
| 💾 Data Services |
Key Vault |
Standard |
~1,000 operations/mo |
$5.00 |
| 🌐 Networking |
NAT Gateway |
Standard (fixed + processing) |
1 instance × 730 hrs |
$36.50 |
| 🌐 Networking |
Container Registry |
Premium (daily + storage) |
30 days + 20 GB |
$170.00 |
| 🌐 Networking |
Public IP addresses |
Standard Static |
2 IPs × 730 hrs |
$7.30 |
| 🌐 Networking |
Virtual Network / NSGs |
— |
1 VNet + 3 subnets + 3 NSGs |
$0.00 |
| 🌐 Networking |
Private Endpoints |
— |
3 endpoints |
$0.00 |
| 🌐 Networking |
Private DNS Zones |
— |
3 zones |
$0.00 |
| 🔧 Monitoring |
Log Analytics |
Per-GB ingestion |
~20 GB/month |
$59.80 |
| 🔧 Monitoring |
Application Insights |
Per-GB (first 5 GB free) |
~3 GB/month |
$0.00 |
|
|
|
Total (PAYG) |
$1,859.73 |
Notes
- AKS node VMs eligible for 1-year or 3-year Reserved Instances (41–63% savings)
- SQL Database compute eligible for reserved capacity (similar RI discounts)
- ACR classified under Networking as it provides container image distribution — could alternatively be classified under Compute
- Log Analytics first 5 GB/mo is free; Container Insights generates the majority of ingestion volume
- Private Endpoints and Private DNS Zones have no additional cost beyond the resources they connect to
- Consider Dev/Test subscription pricing for non-production environments
References
| ⬅️ 02-architecture-assessment.md |
🏠 Project Index |
➡️ 04-governance-constraints.md |
1---2name: 2475-03-des-cost-estimate-ce8c94fb3description: Azure Cost Estimate: aks-platform4---5# Azure Cost Estimate: aks-platform6789101112<details>13<summary><strong>📑 Table of Contents</strong></summary>1415- [💰 Cost At-a-Glance](#-cost-at-a-glance)16- [✅ Decision Summary](#-decision-summary)17- [🔁 Requirements → Cost Mapping](#-requirements--cost-mapping)18- [📊 Top 5 Cost Drivers](#-top-5-cost-drivers)19- [Architecture Overview](#architecture-overview)20- [🧾 What We Are Not Paying For (Yet)](#-what-we-are-not-paying-for-yet)21- [⚠️ Cost Risk Indicators](#-cost-risk-indicators)22- [🎯 Quick Decision Matrix](#-quick-decision-matrix)23- [💰 Savings Opportunities](#-savings-opportunities)24- [Detailed Cost Breakdown](#detailed-cost-breakdown)25- [References](#references)2627</details>2829> Generated by architect agent | 2026-02-153031| ⬅️ Previous | 📑 Index | Next ➡️ |32| -------------------------------------------------------------- | ------------------- | ------------------------------------------------------------ |33| [02-architecture-assessment.md](02-architecture-assessment.md) | [README](README.md) | [04-governance-constraints.md](04-governance-constraints.md) |3435**Generated**: 2026-02-1536**Region**: swedencentral37**Environment**: Production38**MCP Tools Used**: azure_price_search, azure_cost_estimate, azure_ri_pricing, azure_discover_skus39**Architecture Reference**: [02-architecture-assessment.md](02-architecture-assessment.md)4041## 💰 Cost At-a-Glance4243> **Monthly Total: ~$1,880** | Annual: ~$22,56044>45> ```46> Budget: $3,000–5,000/month (soft) | Utilization: 38–63% ($1,880 of $3,000–$5,000)47> ```48>49> | Status | Indicator |50> | ----------------- | ----------------------------------------------------- |51> | Cost Trend | ➡️ Stable (fixed provisioned compute) |52> | Savings Available | 💰 ~$2,200/year with 1-year Reserved Instances |53> | Compliance | ✅ SOC 2 / GDPR / ISO 27001 aligned (no cost premium) |5455## ✅ Decision Summary5657- ✅ Approved: AKS Standard tier, WAF v2 ingress, GP 4 vCore SQL (ZR), Premium ACR, NAT Gateway, full observability stack58- ⏳ Deferred: Redis Cache, DDoS Standard, multi-region DR, Azure Front Door, premium monitoring (Sentinel)59- 🔁 Redesign Trigger: If concurrent users exceed 5,000 or p95 latency cannot meet < 200 ms with current SQL vCore count, scale SQL to 8 vCores (+~$490/mo) and evaluate Redis Cache (+~$55/mo)6061**Confidence**: High | **Expected Variance**: ±15% (Log Analytics ingestion volume is the main variable; node autoscaling adds $149–745/mo at 3–8 nodes)6263## 🔁 Requirements → Cost Mapping6465| Requirement | Architecture Decision | Cost Impact | Mandatory |66| -------------------------------- | ------------------------------------------ | ------------------------- | --------- |67| 99.95% SLA (AKS) | AKS Standard tier (Uptime SLA) | +$73/month | Yes |68| WAF in Prevention mode | Application Gateway WAF v2 | +$290/month | Yes |69| Private endpoints (SQL, ACR, KV) | Premium ACR + PE subnet + Private DNS | +$170/month (ACR) | Yes |70| Zone-redundant SQL | GP 4 vCore ZR addon | +$122/month | Yes |71| Deterministic outbound IPs | NAT Gateway on AKS subnet | +$37/month | Yes |72| SOC 2 / GDPR compliance | Encryption at rest, audit logging, EU data | $0 incremental | Yes |73| Container observability | Container Insights + Log Analytics | +$60/month (~20 GB) | Yes |74| Autoscaling (3→8 user nodes) | AKS cluster autoscaler | +$0–$745/month (variable) | No |7576## 📊 Top 5 Cost Drivers7778| Rank | Resource | Monthly Cost | % of Total | Trend | Optimization |79| ---- | --------------------------- | -----------: | ---------: | ----- | ------------------------------------ |80| 1️⃣ | SQL DB GP 4 vCore (ZR) | $622.65 | 33.1% | ➡️ | 1-yr RI if workload stable |81| 2️⃣ | AKS user pool (3× D4s_v5) | $446.76 | 23.8% | 📈 | 1-yr RI saves 41%; spot for dev/test |82| 3️⃣ | Application Gateway WAF v2 | $289.80 | 15.4% | ➡️ | Fixed cost; optimize CU utilization |83| 4️⃣ | ACR Premium | $170.00 | 9.0% | ➡️ | Lifecycle policy to prune old images |84| 5️⃣ | AKS system pool (2× D2s_v5) | $148.92 | 7.9% | ➡️ | 1-yr RI saves 41% |8586> 💡 **Quick Win**: Enable ACR image retention policy to auto-delete untagged manifests older than 30 days — keeps storage costs flat as images accumulate.8788<details>89<summary><strong>Cost Driver Details</strong></summary>9091#### 1️⃣ Azure SQL Database9293| Aspect | Detail |94| ----------------- | ------------------------------------------------------------- |95| Current SKU | GP Gen5 4 vCore (zone-redundant) |96| Monthly Cost | $622.65 |97| Cost Breakdown | Compute: $488.92, ZR addon: $122.23, Storage (100 GB): $11.50 |98| Optimization | 1-year reserved capacity |99| Potential Savings | ~$200/month with 1-yr RI (~41% on compute) |100101#### 2️⃣ AKS User Node Pool102103| Aspect | Detail |104| ----------------- | ------------------------------------------------------ |105| Current SKU | 3× Standard_D4s_v5 (min autoscale) |106| Monthly Cost | $446.76 (at 3 nodes) → $1,190 at 8 nodes |107| Optimization | 1-year RI for baseline 3 nodes; spot pool for dev/test |108| Potential Savings | ~$183/month with 1-yr RI on 3 nodes (41% savings) |109110#### 3️⃣ Application Gateway WAF v2111112| Aspect | Detail |113| ----------------- | ----------------------------------------- |114| Current SKU | WAF v2 (autoscale 2–10) |115| Monthly Cost | ~$290 (fixed $190 + ~$100 capacity units) |116| Optimization | Right-size min capacity; monitor CU usage |117| Potential Savings | Marginal — fixed cost dominates |118119</details>120121## Architecture Overview122123### Cost Distribution124125| Category | Monthly Cost (USD) | Share |126| ---------------- | -----------------: | ----: |127| 💻 Compute | $1,115.44 | 59% |128| 💾 Data Services | $627.65 | 33% |129| 🌐 Networking | $133.60 | 7% |130| 🔧 Monitoring | $59.80 | 3% |131132### Month-over-Month Projection133134```mermaid135%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#0078D4"}}}%%136xychart-beta137 title "6-Month Cost Projection ($)"138 x-axis ["Month 1", "Month 2", "Month 3", "Month 4", "Month 5", "Month 6"]139 y-axis "Monthly Cost ($)" 0 --> 3000140 bar [1880, 1880, 1950, 2050, 2150, 2300]141```142143> Growth driven by: Log Analytics ingestion scaling with workload count, SQL storage auto-grow, and user node pool autoscaling as traffic increases.144145### Key Design Decisions Affecting Cost146147| Decision | Cost Impact | Business Rationale | Status |148| -------------------------- | -------------- | ----------------------------------------------------------- | -------- |149| Premium ACR (not Standard) | +$100/month 📈 | Required for private endpoint support | Required |150| Zone-redundant SQL | +$122/month 📈 | 99.995% SLA across AZs per reliability requirements | Required |151| AKS Standard (not Free) | +$73/month 📈 | 99.95% API server SLA for production | Required |152| Linux-only nodes | -$284/month 📉 | No Windows licensing; AKS workloads are containerized Linux | Required |153| NAT Gateway (vs LB SNAT) | +$37/month 📈 | Deterministic egress IPs; eliminates SNAT exhaustion risk | Required |154155## 🧾 What We Are Not Paying For (Yet)156157- **Azure Cache for Redis** (~$55–250/mo): Add if caching patterns emerge from load testing158- **Azure DDoS Protection Standard** (~$2,944/mo): Current risk accepted with WAF + Basic DDoS159- **Multi-region DR** (~$1,500+/mo): Single-region with SQL geo-restore; full DR adds second AKS cluster160- **Azure Front Door** (~$350+/mo): Not needed — App Gateway handles single-region ingress161- **Azure Sentinel** (~$2.46/GB): Log Analytics sufficient for now; Sentinel adds SIEM/SOAR capabilities162- **Azure Bastion** (~$140/mo): SSH via `az aks command invoke`; add Bastion if persistent debug access needed163- **Azure Firewall** (~$900/mo): NAT Gateway provides egress; add Firewall if egress filtering required164165### Assumptions & Uncertainty166167- Log Analytics ingestion estimated at ~20 GB/mo based on typical AKS clusters with 3–5 user nodes; higher workload density increases log volume168- SQL storage set at 100 GB with auto-grow; growth rate depends on application data patterns169- Application Gateway capacity unit estimate (~$100/mo) based on moderate traffic; high-throughput workloads may increase CU consumption170- Node autoscaling costs ($149–$745/mo range) depend on actual pod scaling behavior171172## ⚠️ Cost Risk Indicators173174| Resource | Risk Level | Issue | Mitigation |175| -------------------------- | ---------- | -------------------------------------------------------------- | -------------------------------------------------------- |176| AKS user pool autoscaling | 🟡 Medium | 3→8 nodes could add up to $745/mo at peak | Set pod resource limits; tune HPA thresholds carefully |177| Log Analytics ingestion | 🟡 Medium | Container Insights can generate 50+ GB/mo with verbose logging | Configure diagnostic settings selectively; set daily cap |178| SQL storage auto-grow | 🟢 Low | 100 GB baseline; unclear growth rate | Monitor storage metrics; consider data retention policy |179| App Gateway capacity units | 🟢 Low | Variable cost based on connections and throughput | Monitor CU metrics; right-size min autoscale instances |180181> **⚠️ Watch Item**: AKS user pool autoscaling is the largest cost variable. At steady state with 3 nodes: $447/mo. At full scale with 8 nodes: $1,190/mo — a $743/mo delta. Set autoscaler carefully and monitor.182183## 🎯 Quick Decision Matrix184185_"If you need X, expect to pay Y more"_186187| Requirement | Additional Cost | SKU Change | Verdict | Notes |188| ------------------------- | --------------- | ---------------------------- | -------------- | -------------------------------------------------- |189| Scale SQL to 8 vCores | +$490/month | GP Gen5 8 vCore (ZR) | 🟡 Monitor | Profile workload first; scale if p95 > 200 ms |190| Add Redis Cache | +$55–250/month | Standard C0–C1 | 🟡 Monitor | Add after load testing identifies caching needs |191| Private AKS cluster | +$0 | Config change | 🔴 Investigate | Breaks AGIC addon; requires standalone Helm chart |192| Azure DDoS Standard | +$2,944/month | DDoS Plan | 🔴 Investigate | Cost-prohibitive unless regulatory mandate |193| Multi-region AKS DR | +$1,500+/month | Duplicate infra | 🟡 Monitor | Evaluate after 6 months based on availability data |194| Spot node pool (dev/test) | -$250/month | Spot pricing (~60% discount) | 🟢 Go | Create spot pool for non-production workloads |195196## 💰 Savings Opportunities197198> ### Total Potential Savings: ~$5,120/year (1-yr RI on VMs + SQL)199>200> | Strategy | Commitment | Monthly Savings | Annual Savings | % Reduction |201> | ------------------------------- | ---------- | --------------: | -------------: | ----------: |202> | VM Reserved Instances (1-yr) | 1-year | $183.54 | $2,202.48 | ~31% |203> | VM Reserved Instances (3-yr) | 3-year | $281.39 | $3,376.68 | ~47% |204> | VM Savings Plan (1-yr) | 1-year | $148.82 | $1,785.84 | ~25% |205> | SQL Reserved Capacity (1-yr) | 1-year | $200.46 | $2,405.52 | ~41% |206> | Spot instances (dev/test pool) | N/A | ~$250.00 | ~$3,000.00 | ~60%¹ |207> | Dev/Test pricing (non-prod sub) | N/A | ~$140.00 | ~$1,680.00 | ~24%² |208>209> ¹ Savings on dev/test node pool only (if using spot nodes instead of on-demand)210> ² Savings on dev subscription VM licensing (Linux only — already no Windows cost)211212### RI Pricing Detail (from Azure Pricing MCP)213214| VM SKU | PAYG $/hr | 1-yr RI $/hr | 1-yr Savings | Break-even | 3-yr RI $/hr | 3-yr Savings |215| --------------- | --------: | -----------: | -----------: | ---------: | -----------: | -----------: |216| Standard_D2s_v5 | $0.102 | $0.060 | 41.0% | 7.1 months | $0.038 | 63.0% |217| Standard_D4s_v5 | $0.204 | $0.120 | 41.0% | 7.1 months | $0.075 | 63.0% |218219**Recommended**: 1-year RIs for baseline AKS nodes (2× D2s_v5 system + 3× D4s_v5 user) — total annual savings of ~$2,200 with a 7.1-month break-even.220221## Detailed Cost Breakdown222223### Assumptions224225- Hours: 730 hours/month (24/7 production workload)226- Network egress: < 100 GB/mo (moderate API traffic via NAT Gateway)227- Storage growth: ~5 GB/month SQL, container images < 50 GB total228- Log ingestion: ~20 GB/mo across AKS + resource diagnostics229230### Line Items231232| Category | Service | SKU / Meter | Quantity / Units | Est. Monthly |233| ---------------- | -------------------------- | ----------------------------- | --------------------------- | ------------: |234| 💻 Compute | AKS system pool | Standard_D2s_v5 (Linux) | 2 nodes × 730 hrs | $148.92 |235| 💻 Compute | AKS user pool | Standard_D4s_v5 (Linux) | 3 nodes × 730 hrs | $446.76 |236| 💻 Compute | AKS Standard tier | Uptime SLA | 1 cluster × 730 hrs | $73.00 |237| 💻 Compute | Application Gateway WAF v2 | Fixed cost | 1 instance × 730 hrs | $189.80 |238| 💻 Compute | Application Gateway WAF v2 | Capacity units | ~10 CU avg | ~$100.00 |239| 💻 Compute | Application Gateway WAF v2 | WAF policy | Included in fixed cost | $0.00 |240| 💾 Data Services | SQL DB compute | GP Gen5 4 vCore | 4 vCores × 730 hrs | $488.92 |241| 💾 Data Services | SQL DB zone redundancy | ZR addon | ~25% of compute | $122.23 |242| 💾 Data Services | SQL DB storage | GP Storage (LRS) | 100 GB | $11.50 |243| 💾 Data Services | Key Vault | Standard | ~1,000 operations/mo | $5.00 |244| 🌐 Networking | NAT Gateway | Standard (fixed + processing) | 1 instance × 730 hrs | $36.50 |245| 🌐 Networking | Container Registry | Premium (daily + storage) | 30 days + 20 GB | $170.00 |246| 🌐 Networking | Public IP addresses | Standard Static | 2 IPs × 730 hrs | $7.30 |247| 🌐 Networking | Virtual Network / NSGs | — | 1 VNet + 3 subnets + 3 NSGs | $0.00 |248| 🌐 Networking | Private Endpoints | — | 3 endpoints | $0.00 |249| 🌐 Networking | Private DNS Zones | — | 3 zones | $0.00 |250| 🔧 Monitoring | Log Analytics | Per-GB ingestion | ~20 GB/month | $59.80 |251| 🔧 Monitoring | Application Insights | Per-GB (first 5 GB free) | ~3 GB/month | $0.00 |252| | | | **Total (PAYG)** | **$1,859.73** |253254### Notes255256- AKS node VMs eligible for 1-year or 3-year Reserved Instances (41–63% savings)257- SQL Database compute eligible for reserved capacity (similar RI discounts)258- ACR classified under Networking as it provides container image distribution — could alternatively be classified under Compute259- Log Analytics first 5 GB/mo is free; Container Insights generates the majority of ingestion volume260- Private Endpoints and Private DNS Zones have no additional cost beyond the resources they connect to261- Consider Dev/Test subscription pricing for non-production environments262263---264265## References266267| Topic | Link |268| ------------------------ | ---------------------------------------------------------------------------------------------------------------------- |269| Azure Pricing Calculator | [Calculator](https://azure.microsoft.com/pricing/calculator/) |270| Cost Management | [Overview](https://learn.microsoft.com/azure/cost-management-billing/costs/overview-cost-management) |271| Reserved Instances | [Reservations](https://learn.microsoft.com/azure/cost-management-billing/reservations/save-compute-costs-reservations) |272| WAF Cost Optimization | [Checklist](https://learn.microsoft.com/azure/well-architected/cost-optimization/checklist) |273| AKS Pricing | [Pricing](https://azure.microsoft.com/pricing/details/kubernetes-service/) |274| SQL Database Pricing | [Pricing](https://azure.microsoft.com/pricing/details/azure-sql-database/single/) |275| VM Pricing (Dsv5) | [Pricing](https://azure.microsoft.com/pricing/details/virtual-machines/linux/) |276277---278279| ⬅️ [02-architecture-assessment.md](02-architecture-assessment.md) | 🏠 [Project Index](README.md) | ➡️ [04-governance-constraints.md](04-governance-constraints.md) |280| ----------------------------------------------------------------- | ----------------------------- | --------------------------------------------------------------- |