# Assessment: Functions Plan Upgrade Generate an upgrade assessment report before any changes to Azure resources. ## Prerequisites - User has an existing Azure Functions app on a Consumption or other plan - User has Azure CLI v2.77.0+ installed - User has Owner or Contributor role in the target resource group - The `resource-graph` extension is installed (`az extension add --name resource-graph`) ## Assessment Steps 1. **Identify Source App** — Confirm the function app name, resource group, region, and current hosting plan 2. **Check Region Compatibility** — Verify the target plan is available in the app's region 3. **Verify Language Stack** — Confirm the app's runtime is supported on the target plan 4. **Verify Stack Version** — Confirm the runtime version is supported on the target plan in the region 5. **Check Deployment Slots** — Determine if slots are in use (Flex Consumption doesn't support slots) 6. **Check Certificates** — Determine whether TLS/SSL certificates are in use. Flex Consumption uses the preview site-scoped certificate model, so plan to re-add certificates after migration and verify the documented limits and Linux certificate-loading behavior. 7. **Check Blob Triggers** — Verify blob triggers use EventGrid source (container polling not supported in Flex Consumption) 8. **Assess Dependencies** — Review upstream and downstream service dependencies and plan mitigation strategies 9. **Generate Report** — Create `/upgrade-assessment-report.md` ## Assessment Report Format > ⚠️ **MANDATORY**: Use these exact section headings in every assessment report. Do NOT rename, reorder, or omit sections. The report MUST be saved as `/upgrade-assessment-report.md`. See [Artifact Output Policy](../../../../global-rules.md#artifact-output-policy) for how `` resolves (default: `.azure-upgrade//`). ```markdown # Upgrade Assessment Report ## 1. Executive Summary | Property | Value | |----------|-------| | **App Name** | | | **Resource Group** | | | **Current Plan** | | | **Target Plan** | | | **Region** | | | **Runtime** | | | **OS** | | | **Upgrade Readiness** | | | **Assessment Date** | | ## 2. Compatibility Checks | Check | Status | Details | |-------|--------|---------| | Region supported | ✅ / ❌ | | | Language stack supported | ✅ / ❌ | | | Stack version supported | ✅ / ❌ | | | No deployment slots | ✅ / ⚠️ | | | Certificate requirements assessed | ✅ / ⚠️ / N/A | | | Blob triggers use EventGrid | ✅ / ⚠️ / N/A | | | .NET isolated (not in-process) | ✅ / ❌ / N/A | | ## 3. App Settings Inventory > Record setting names only. Never include app-setting values in the assessment. | Setting | Migrate? | Notes | |---------|----------|-------| | | Yes / No / Convert | | ## 4. Managed Identities | Type | Principal ID | Roles | Action | |------|-------------|-------|--------| | System-assigned | | | Recreate in new app | | User-assigned | | | Reassign to new app | ## 5. Application Configurations | Configuration | Current Value | Migrate? | Notes | |---------------|---------------|----------|-------| | CORS settings | | | | | Custom domains | | | | | HTTP version | | | | | HTTPS only | | | | | TLS version | | | | | Client certificates | | | | | Access restrictions | | | | | Built-in auth | | | | ## 6. Trigger & Binding Analysis | Function | Trigger Type | Source | Migration Risk | Mitigation | |----------|-------------|--------|----------------|------------| | | | | Low / Medium / High | | ## 7. Dependent Services | Service | Dependency Type | Migration Risk | Mitigation Strategy | |---------|----------------|----------------|---------------------| | | Upstream / Downstream | | | ## 8. Blockers & Warnings ### Blockers (must fix before upgrade) - [ ] ### Warnings (should address but not blocking) - [ ] ## 9. Recommendations 1. **Plan**: 2. **Auth**: 3. **Monitoring**: 4. **Scaling**: ## 10. Next Steps - [ ] Review and approve this assessment - [ ] Address any blockers listed above - [ ] Proceed to automated upgrade (Phase 3-4) ``` > 💡 **Tip:** Use `mcp_azure_mcp_get_azure_bestpractices` to get the latest recommendations for the target hosting plan.