AzureCalc.uk uses Google AdSense for ads. No tracking cookies are used by AzureCalc.uk itself. Your saved estimates are stored anonymously.

Prices from Azure Retail Prices API · UK South · GBP · Not affiliated with Microsoft

Changelog

How AzureCalc.uk has evolved — what changed, why, and what was learned.

Sprint 23April 2026

Natural-language AI v2 — multi-service estimates, conversational adjustments, clarification flow

The AI assistant now handles the way people actually ask about Azure costs. Instead of parsing a single service from a single sentence and redirecting you, it keeps you on the /ai page and shows a combined estimate across all detected services in one view.

Ask "App Service P2v3 Linux with 50 GB/day of Log Analytics" and you get both services calculated side by side with a total at the top, each collapsible to show its breakdown, and a direct link to the full calculator for each. The previous single-service flow is unchanged — if only one service is detected, you're still routed directly.

After your first estimate, the input switches to adjustment mode. Type "make it 100 GB/day" or "add 2 more App Service instances" and the previous parsed state is sent to a new /chat/adjust endpoint alongside your follow-up. The LLM applies the adjustment and returns the full updated state — total and per-service costs update in place. An adjustment history shows what you changed; a reset link wipes the session.

When a required field can't be determined (which tier? how many instances?), the assistant now asks rather than guessing. The question appears as an amber-bordered bubble with quick-reply chips — click an option or type a free-text answer. The "25% cost impact" rule applies: the assistant only clarifies when the wrong default would change the cost by more than 25%.

Security model unchanged: user text is still gated through the chat worker, never reaches the pricing API directly, injection rejection list extended with two new patterns targeting the adjustment flow. Service whitelist validation runs on every service in the multi-service array — a single unknown service name rejects the entire response.

Log Analytics and SQL Database added to the combined endpoint. All five existing services continue to work as before. New service slug whitelist covers all 23 calculators on the site.

Sprint 22April 2026

Azure Backup calculator + pricing guide

Azure Backup pricing is fundamentally a storage story, not a per-VM story. The £7.55/VM/month instance fee is real, but for a VM with 100 GB of active data and 90-day retention at GRS, vault storage adds another £43.18/month — nearly 6× the instance fee. The calculator makes storage the visually prominent line item when it exceeds 60% of the total.

The vault storage formula accounts for daily change rates (5% for VMs, 10% for SQL Server, 2% for Azure Files) and multiplies them across the retention window. At 365-day retention for SQL Server, the storage multiplier reaches 37× — the bill for a 200 GB SQL database is dominated by vault storage, not the £23.59 instance fee.

The cross-region restore (CRR) trap: enabling GRS doubles your vault storage cost. A lot of backup configurations default to GRS and CRR because the portal recommends it, but for a non-critical VM with 90-day retention you might be paying £86/month on storage when LRS at £43 would meet your RPO. The calculator shows the redundancy comparison explicitly.

Note on pricing: Azure Backup is USD-only in the Retail Prices API (same as Site Recovery, Key Vault, Azure DevOps). GBP rates at 0.7548. Instance fees are flat per protected instance — the sprint spec assumed size-tiered fees but the API shows flat rates. Documented in the pricing guide FAQ.

Sprint 21April 2026

VPN Gateway + Azure Bastion calculators + mobile responsiveness audit

VPN Gateway has a quiet billing trap: the gateway VM runs continuously even when no VPN tunnels are active. The SKU you choose (VpnGw1 through VpnGw5) is priced by the hour whether traffic is flowing or not. A VpnGw2 AZ zone-redundant gateway costs £1,087/month in uptime before you transfer a single byte. The calculator surfaces this always-on cost prominently.

Azure Bastion has the same issue and I've made it non-negotiable in the UI: there is an always-on billing warning on every tier that cannot be dismissed. Bastion stops being cheap the moment your Azure engineers are in the office — you're paying 744 hours/month whether they use it or not. The premium tier adds session recording, private-only deployments, and instance scaling, but the billing model is the same.

Full mobile responsiveness audit across all 24 calculators at 375px viewport width. Fixed 11 unresponsive grids (missing sm: breakpoint prefix), 2 bare tables without overflow-x-auto wrappers, and 1 crushed form control in the discount modifier. 14 calculators were already clean. All fixes applied directly to the component files — no layout changes.

Sprint 20April 2026

Polish sprint — Application Gateway rates verified, tooltips complete, UI consistency

Completed the tooltip audit across all 21 calculators. Every field that has a non-obvious pricing implication now has a FieldTooltip explaining it — the Log Analytics restore 2 TB minimum, the Bastion "always on" billing, the difference between IP Protection and Network Protection DDoS tiers, and the WAF v2 vs Standard v2 Capacity Unit rate difference.

Application Gateway rates were verified directly against the Azure Retail Prices API (confirmed USD-only — not in the GBP feed). Standard v2 is £0.1887/hr fixed + £0.006038/CU-hr. WAF v2 is £0.3397/hr fixed + £0.010869/CU-hr. Data processing is included in Capacity Unit billing for v2 — there is no separate data processing charge, unlike v1. Verified 2026-04-21.

Also fixed a USD conversion inconsistency: virtual-desktop.ts was using 0.787 while all other USD-only calculators use 0.7548 (~4% overestimate on AVD external licensing). Queued as Sprint 25 — replacing all hardcoded rates with a live D1 exchange_rates table refreshed monthly by cron.

UI consistency pass: dark/light theme token fixes, slider thumb sizing, icon alignment across the sidebar.

Sprint 14April 2026

Azure Site Recovery calculator + D1 housekeeping

Site Recovery has the most misleading pricing page of any Azure service in the calculator. The per-instance fee looks reasonable — £18.87/VM/month. What it doesn't show is that you also pay for replica managed disk storage in your DR region, ongoing delta replication traffic between regions, and compute for failover tests. Add those up and the real monthly cost is typically 3–4× the per-instance fee. The calculator shows all four components together with a cost multiplier so you can build an accurate DR business case rather than an optimistic one.

The replica storage component is the one most engineers miss. For a VM with a 256 GB disk at Standard HDD LRS, replica storage costs £8.32/month on its own — nearly half the instance fee again. Multiply across 20 VMs with 512 GB disks and replica storage becomes the dominant line item, not the instance fee.

Also added two D1 maintenance improvements: a last_seen_at timestamp on every price row (flags potentially retired SKUs after 7 days without an API update — the stale SKU check runs after every nightly cron and posts to Slack if any are found) and a 90-day retention policy on the price refresh logs (prevents unbounded growth — old logs are purged automatically at the end of each successful refresh run).

Note on pricing: Azure Site Recovery is USD-only in the Azure Retail Prices API — confirmed by D1 discovery query on 2026-04-14 (0 rows for any Recovery service_name or product_name). GBP rates derived at 0.7548, same methodology as Key Vault, Azure DevOps, and OpenAI. Cross-region replication transfer rate (£0.015/GB) confirmed from D1 Bandwidth service.

Sprint 13April 2026

Azure DevOps calculator

The parallel jobs confusion is real — I've seen teams paying for 3 additional parallel jobs (£120/month) when they could solve the same problem with a second self-hosted agent at no additional cost. A parallel job is not an agent. It is the right to run one pipeline at a time. The calculator makes this distinction explicit and shows the free minute calculation so you can see exactly when the free tier runs out.

The billing model has four independent dimensions that compound in ways that aren't obvious from the pricing page. A team of 20 developers will often have zero parallel job cost (1 free MS-hosted job, 1,800 free minutes/month handles most teams), but significant user cost once headcount exceeds 5 Basic users. Test Plans adds another dimension — £39.25/user/month versus £4.53 for Basic — so assigning it to the whole team rather than just QA is a common overcharge.

Note on pricing: Azure DevOps is USD-only in the Azure Retail Prices API — same situation as Key Vault and Foundry Models. GBP rates are derived from the USD pricing page using the Microsoft implied rate of 0.7548 (verified 2026-04-14). The service is not in D1 and not part of the nightly price refresh cron.

Sprint 12April 2026

Key Vault calculator + Monitor Alerts extension

Key Vault is the calculator where the answer is most often "almost nothing" — the first 10,000 operations are free and typical web apps rarely exceed that. A web app that reads secrets on startup and caches them generates fewer than 50 operations per month and costs £0. The interesting edge case is Managed HSM, which looks like "more secure Key Vault" but is actually a dedicated hardware device billed continuously at approximately £2,700/month. Added the calculator so engineers can see the cost before choosing the tier.

The billing trap that catches teams is reading secrets from Key Vault on every request without caching. At 100 requests per second, that is 260 million operations per month — roughly £295/month vs £0 for the same application caching secrets on startup. The fix is a single line of code. The calculator shows this in real time as you change the operations input.

Also added Monitor Alerts pricing to the Log Analytics calculator — metric rules (£0.0752/rule/month), log search alert rules (£1.1286/rule/month at 5-minute frequency), and UK SMS notification costs (£0.0271/notification) now roll up into the Log Analytics total so you can estimate the full monitoring stack in one place. Activity log alerts are always free. The section is collapsible so existing Log Analytics users see no change until they opt in.

Note on Key Vault pricing: the Azure Retail Prices API returns 0 rows for currencyCode='GBP' for Key Vault — same situation as Foundry Models (Azure OpenAI). GBP rates are derived from the USD API values using the Microsoft implied rate of 0.7548 (verified against Archive LRS pricing: £0.0157/$0.0208). Monitor Alerts rates are from D1 (Azure Monitor, uksouth), verified 2026-04-14.

Sprint 11April 2026

Managed Disks calculator + methodology reference page

The HDD vs SSD transaction trap is one of the most consistent cost surprises in Azure. Standard HDD has no monthly transaction cap — at any meaningful IOPS level, the transaction charges can exceed the SSD base fee. The calculator shows the break-even transaction volume so you can see whether your workload warrants HDD or SSD before you deploy.

Standard HDD charges £0.0005 per 10,000 I/O operations with no ceiling. For a disk generating 10 million operations per month, that adds £46 to the base fee. The equivalent Standard SSD disk has a higher base fee but the transaction rate (£0.0015 per 10K) applies to a different access pattern. Premium SSD eliminates the variable entirely — fixed monthly fee, no per-operation billing, full IOPS and throughput included in the SKU price. For any production workload where IOPS is non-trivial, Premium SSD's total cost is frequently lower than Standard HDD once transactions are included.

Also expanded the Methodology page into a full price source reference: every calculator's API service name, region filter, and hardcoded prices are now documented in one place. Includes exact D1 verification queries for each service and formula-level test cases for the more complex calculators (Log Analytics, SQL Database, Azure OpenAI, Virtual Desktop). This is the reference for the independent accuracy audit after Sprint 14.

Note on Managed Disks pricing: the Azure Retail Prices API files these under serviceName='Storage' with different productName values per disk family. The price refresh worker uses productName filters and stores all entries as service_name='Azure Managed Disks' in D1 for consistent querying. Premium SSD v2 and Ultra Disk IOPS rates are hardcoded — the API returns £0 for those meters.

Sprint 10April 2026

Azure OpenAI calculator + worker TypeScript cleanup + firewall observability

Token pricing is completely unlike anything else in Azure — there's no hourly compute, no GB of storage, just input tokens and output tokens at different rates per model. The thing that trips most teams up is the PTU decision: Provisioned Throughput Units look cheaper on paper but only save money if you're sustaining load for 7+ days per month. Below that, PAYG wins. The calculator shows the break-even point for your specific usage level so you can make the decision with actual numbers rather than guessing.

The break-even is calculated directly from your input: PTU monthly cost (fixed, always-on) divided by your Standard daily cost gives you the number of active days at which PTU becomes cheaper. The recommendation updates in real-time as you change model, token volumes, PTU count, and commitment term.

Also cleaned up pre-existing TypeScript conflicts in the worker codebase — unused variable warnings in front-door.ts and sql-database.ts that accumulate silently under noUnusedLocals — and added console.warn logging to the Firewall calculator's fallback pricing path so D1 cache misses become visible in Cloudflare Worker logs rather than silently using hardcoded defaults.

Note on pricing: Azure OpenAI is now filed under serviceName 'Foundry Models' in the Azure Retail Prices API (not 'Azure OpenAI'). All rates verified from the GBP endpoint of the API on 2026-04-13. OpenAI model prices change frequently — re-verified each sprint.

Sprint 9April 2026

Azure Firewall calculator + search autocomplete + refresh guardrails

Azure Firewall pricing is one of those services that looks simple until the second-order costs show up. The hourly deployment fee is visible, so teams focus on that first. But the bigger planning mistake is usually either choosing Basic for traffic levels where the higher per-GB processing rate wipes out the saving, or enabling diagnostic logs without modelling the Log Analytics bill that comes after. I added the Azure Firewall calculator with Basic, Standard, and Premium pricing for UK South, plus a logging estimate and a direct link into the Log Analytics calculator with the derived ingestion volume pre-filled.

Also upgraded the site search from a simple exact-match jump box into a real autocomplete dropdown. It now ranks results by label match first, then keyword relevance, supports keyboard navigation, closes on click-outside, and shows result type badges for calculators, tools, and guides. That matters because the site has reached the point where engineers expect to type "firewall" or "billing traps" and get the right destination immediately rather than memorising the nav.

On the backend, I hardened the nightly price refresh Worker with row-count caps, 50-row D1 insert chunking, an elapsed-time budget stop, and post-refresh health checks for critical services. The goal is partial success instead of total failure when Azure's pricing API returns more data than expected or a service starts drifting below its normal row count. Finished with a small but visible polish pass on toggle switches so the control feels more native in both themes.

Sprint 8April 2026

Azure SQL Database calculator + Toggle light mode fix

The DTU vs vCore decision trips up more engineers than almost anything else in Azure. Microsoft still supports both models, which means there are engineers running S3 Standard databases who don't know they could save 30–40% by switching to vCore with Azure Hybrid Benefit. The calculator shows the equivalent vCore cost alongside the DTU cost so you can see the comparison directly.

Also added the March 2026 Savings Plan for Databases — Microsoft's own pricing calculator hasn't been updated for it yet. The Savings Plan gives a 35% compute discount with a 1-year commitment but without locking to a specific vCore count or tier, which makes it more flexible than a 1-year Reserved Instance (33% saving) and useful for workloads that are still scaling.

Fixed a visual bug where toggle switches were invisible in light mode. The track background was hardcoded to a dark value via a Tailwind class that only resolved correctly on dark backgrounds. Replaced with CSS variables following the UI playbook.

Sprint 7April 2026

Azure Front Door / CDN / WAF calculator

Front Door is one of the hardest Azure services to price. The billing model switched from Classic (retiring) to a zone-based structure — Zone 1 covers Europe, Americas, and Pacific, Zone 2 is the Middle East and Africa. The Azure Retail Prices API uses `productName eq 'Azure Front Door'` with `armRegionName eq 'Zone 1'` — not the serviceName filter that works for every other service. It took three API queries to confirm the correct filter, because the wrong one returns zero rows and gives no error.

Standard tier costs £26.33/month base plus £0.0049 per 10,000 requests. Premium costs £248.30/month base — the jump is real, but Premium includes WAF managed rulesets and Private Link support that Standard doesn't. The WAF policy base fee (£3.76/month) is a separate line item on Standard; on Premium, managed WAF rules are treated as bundled.

Also removed DDoS IP Protection from the Front Door calculator. IP Protection is a standalone product for individual public IPs — it's not combinable with Front Door's own DDoS mitigation. The network protection plan covers the Front Door profile's VIP. That distinction isn't clear in the pricing documentation.

Sprint 6April 2026

Mobile navigation, billing traps expansion, price refresh hardening

The mobile hamburger menu was long overdue. The sidebar navigation didn't work at all on phones — the whole left nav was hidden with no way to access it. Added a slide-in drawer with a backdrop overlay. The z-index stacking between the header and sidebar needed careful ordering to stop the sidebar from covering the logo.

Expanded Billing Traps from 7 to 11 traps. The four new ones came from reader reports: ADF Auto-DIU defaulting to 4 (costs 2× a manually-set 2 DIU pipeline), FSLogix Standard transaction costs, Sentinel Data Lake retention cliff at month 4, and Standard HDD vs SSD transaction cap inversion (where high-read SSD workloads can end up cheaper than HDD on transaction charges alone).

Hardened the price refresh cron after an April 12 failure. The Virtual Machines service returns ~13,000 global SKUs — adding it to the refresh list caused the Worker to exceed its 30-second CPU budget. Fixed by narrowing the VM filter to exactly the 5 SKUs the AVD calculator uses. Also added a 429 retry with exponential backoff and a 25-second per-service timeout so one slow service can't block the entire run.

Sprint 5April 2026

Azure Virtual Desktop calculator

The FSLogix Standard vs Premium storage trap is one of the most expensive mistakes in AVD deployments. Standard tier looks cheaper per-GB but charges per transaction — an active VDI workload generates tens of thousands of transactions per login. I added the AVD calculator with a side-by-side Standard vs Premium comparison that shows the break-even point. Also added the per-user monthly cost view that IT directors actually ask for.

The transaction modelling was the hardest part. Standard tier charges separately for reads and writes at different rates, and the ratio varies wildly between desktops (mostly reads) and task workers (more writes). I modelled a 70/30 read-write split as the default, which is conservative — an active developer desktop runs much hotter on writes.

Sprint 4April 2026

Data Factory calculator + EA/CSP discount modifier

Several engineers asked how to apply their EA or CSP discount to estimates. I added a discount modifier to every calculator — enter your negotiated percentage, see the adjusted total alongside the PAYG rate. It sounds simple but required wiring state across every calculator and making sure the discount persisted across page navigation.

I also added the Data Factory calculator after Microsoft's own engineering blog admitted their billing "lacks clarity and transparency." The DIU tip (manually setting 2 DIUs instead of Auto halves dev/test costs) came from a reader who found their estimate was 2× what they expected. Auto defaults to 4 DIUs, which is right for production — but most dev pipelines run fine on 2.

Sprint 3April 2026

Networking calculator

NAT Gateway has no pause or stop state. An engineer who deploys one for a weekend test and forgets about it will find it billing at £33/month until deleted. I added the networking calculator covering NAT Gateway, VNet peering, Public IP, and DDoS Protection.

The hub-spoke double-charge warning (NVA routing charges peering twice) came from a reader's architecture review. They had a NAT Gateway in both hub and spoke VNets, meaning every byte of egress from a spoke was metered twice. The official pricing page doesn't warn about this. Neither does the Azure calculator, because it doesn't know your routing topology.

Sprint 2April 2026

Homepage and navigation restructure

A cloud architect on Reddit pointed out the Archive tier calculator didn't warn about retrieval costs — "that could lead to expensive mistakes for the layperson." They were right. The Archive tier shows a storage rate of ~£0.001/GB/month, which looks almost free. It hides the rehydration cost at the point where you make the tier decision. I added the retrieval cost warning directly in the calculator at point-of-decision.

Also restructured the sidebar into four groups and rewrote the homepage hero to show specific insights rather than a comparison table. The comparison table was accurate but passive — it described what the calculators did rather than showing why they existed.

Sprint 1April 2026

Calculator updates — Pv4, Flex Consumption, Sentinel Data Lake

App Service Premium v4 SKUs were released in September 2025 with up to 24% savings vs Pv3. A reader asked for them in the original Reddit thread — shipped within the week. Also added Flex Consumption for Azure Functions (now the default for new apps) and the Sentinel Data Lake tier dual-model pricing.

Sentinel Data Lake is particularly confusing: Microsoft offers 3 months of free retention, which sounds generous, but the billing kicks in at month 4 and the rate is different from Analytics Logs. Several readers had calculated retention costs assuming the Analytics Logs rate. The models are different enough to matter at scale.

Sprint 0April 2026

Credibility foundations

The original Reddit post got one comment calling it "AI garbage." The comment got zero upvotes and no replies, but the underlying concern was legitimate — nothing on the site proved the numbers were real or that a real person was monitoring them.

I added the Methodology page showing the exact API query, formula disclosure on every calculator result showing the working, and a Trust Bar with the live price refresh timestamp. The hardest part was correcting a £2.76/GB rate that Claude Code invented — the actual D1 value was £2.167/GB. Now every price is verified directly against D1 before any sprint ships.

The formula disclosure was the most useful change. It shows users the exact calculation: "Storage: 500 GB × £0.018/GB = £9.00." When someone questions a number, they can check the formula directly rather than trusting a black box.

Found a pricing error or have a suggestion? Contact →