← deemwar engineering examples
Runnable · Node · zero deps · free · no credentials
The Front Door (classic) migration moves your profile. It does not move your logs, your WAF governance, or your price.
Microsoft's migration tool is one-way and reports success when the new profile exists. This page is about what is not in that new profile, what it now costs, and the second deadline most migration plans do not have on them.
The dates
- Azure Front Door (classic) retires 2027-03-31. After that you cannot manage classic resources, reach them through the portal or APIs, or get support for them (retirement FAQ).
- Endpoint cutover by 2028-03-31. "Starting April 1, 2028, classic endpoints are no longer supported and might stop functioning." A migration that finished last year can still break then, through a DNS record or a hardcoded
*.azurefd.net hostname nobody moved (tier migration doc).
- The same tool and the same 2028 cutover apply to Azure CDN Standard from Microsoft (classic), which retires 2027-09-30 (CDN migration doc).
What is not carried over
Two source classes, never blurred: Microsoft's docs are authoritative; Microsoft Q&A reports are real, dated and linked, but not vendor-confirmed, and they are labelled that way.
From Microsoft's published docs
- "Diagnostic logs and metrics aren't migrated." The log fields are different too, so every KQL query, alert and workbook built on classic logs stops matching.
- "[Azure Policy for WAF] isn't available for Azure Front Door Standard and Premium." Governance that enforced your WAF posture silently stops applying.
- Scripted migrations drop the WAF. "If you use Azure PowerShell, Azure CLI, API, or Terraform to migrate, you need to create WAF policies separately."
- Rules engines lose their names. "Renaming of rules engine configuration and routes isn't supported and instead default names are assigned." Redirects and rewrites come back as
urlRedirectMigrated / urlRewriteMigrated.
- Every script has to be rewritten. The resource provider changes from
Microsoft.Network to Microsoft.Cdn; in Terraform that is a resource replacement, not a rename.
- Your own certificates need a managed identity with Key Vault access before migration.
- No way back. "Once you commit to migration in this step, there is no abortion or rollback." You also cannot change the classic configuration once preparation starts.
The tier trap
- One managed WAF rule set forces Premium. The new profile "defaults to Premium tier and you can't downgrade during the migration", and "you can't downgrade a premium tier Front Door profile to standard tier after migration."
- Base fees are per profile: Standard $35/month, Premium $330/month; classic had none (pricing). The tool maps profiles one to one.
- Microsoft's own worked example: 80 classic profiles with WAF cost $17,551 a month on classic and $29,945 on Premium. "Azure Front Door Premium is 1.7x more expensive than Azure Front Door (classic) because of the higher base fee for each profile." Consolidating profiles fixes it, and the tool does not do that for you (understanding pricing).
- Over the Standard quota? "the migration process moves it to Premium tier instead."
Reported on Microsoft Q&A, not confirmed by Microsoft
Check your own profiles
Zero dependencies. It never asks for, stores or transmits a credential: you export with your own az login, and nothing leaves your machine.
az network front-door show -g <rg> -n <name> -o json > fd-<name>.json
az network front-door waf-policy show -g <rg> -n <policy> -o json > waf-<policy>.json
node check.js fd-*.json --waf waf-*.json
node check.js --demo # the shape of the answer, no data needed
$ node check.js --demo
Azure Front Door (classic) -> Standard/Premium: what will not survive.
Classic retires 2027-03-31. Endpoint cutover deadline 2028-03-31. [DEMO DATA]
PROFILE shop-prod -> Premium, forced (WAF "shopwaf" uses managed rule sets)
Premium cannot be downgraded to Standard after migration.
△ WAF www.example.com: policy "shopwaf" must be recreated if you migrate with CLI/API/Terraform.
△ CERT www.example.com: your own Key Vault certificate; grant Key Vault access to a managed identity.
✗ HOST shop-prod.azurefd.net: classic hostname; anything pointing here must move by 2028-03-31.
△ RULES rules engine "headers" (2 rules): gets a default name; anything referencing it breaks.
△ ROUTE 1 redirect route (http-to-https) recreated as urlRedirectMigrated.
PROFILE docs-prod -> Standard (no managed WAF rules found)
BASE FEES AFTER A 1:1 MIGRATION: 1 x Premium ($330) + 1 x Standard ($35) = $365/month, before traffic.
The part nobody checks
A migration is marked done when the new profile exists. That proves the resource is there, not that it serves. After cutover, request every route on the new endpoint and prove three things for each: it answers from the right origin, it presents the right certificate, and the WAF gives the verdict you expect. Then find every place that still names the classic hostname, before April 2028 finds it for you.
If you would rather not do it yourself
We take this on as fixed scope. We will say plainly that you would be among our first customers for this particular engagement. What we bring is the breakage map above and a hard habit of proving that traffic still flows rather than assuming it.
- Pre-migration audit, fixed price. We run the checker across all your classic Front Door and CDN profiles and hand back the target tier per profile, a consolidation plan with the monthly base-fee difference, the WAF, rules-engine, certificate and logging items that need hands, and every place the classic hostname is still referenced.
- Migration and verification, fixed price, two weeks. We consolidate profiles, recreate WAF policies and log queries, rewrite the Terraform or Bicep, cut over, and hand you a route-by-route verification run that proves every hostname serves correctly on the new endpoint.