All skills
microsoft avatar

/azure-upgrade

@36a90f7 official

Assess and upgrade Azure workloads between plans, tiers, or SKUs, or modernize Azure SDK dependencies in source code. WHEN: upgrade Consumption to Flex Consumption, upgrade Azure Functions plan, change hosting plan, function app SKU, migrate App Service to Container Apps, modernize legacy Azure Java SDKs (com.microsoft.azure to com.azure), migrate Azure Cache for Redis (ACR/ACRE) to Azure Managed Redis (AMR).

Use this Skill: https://skilld.dev/gh/microsoft/github-copilot-for-azure/azure-upgrade

This session only. Nothing lands on disk.

referencesservicesfunctionsassessment.md

≈1.1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

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 if TLS/SSL certificates are in use (not yet supported in Flex Consumption)
  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 in the workspace root.

# Upgrade Assessment Report

## 1. Executive Summary

| Property | Value |
|----------|-------|
| **App Name** | <app-name> |
| **Resource Group** | <resource-group> |
| **Current Plan** | <current-plan (e.g., Consumption / Y1 Dynamic)> |
| **Target Plan** | <target-plan (e.g., Flex Consumption / FC1)> |
| **Region** | <region> |
| **Runtime** | <runtime and version> |
| **OS** | <Linux / Windows> |
| **Upgrade Readiness** | <Ready / Needs Attention / Blocked> |
| **Assessment Date** | <date> |

## 2. Compatibility Checks

| Check | Status | Details |
|-------|--------|---------|
| Region supported | ✅ / ❌ | |
| Language stack supported | ✅ / ❌ | |
| Stack version supported | ✅ / ❌ | |
| No deployment slots | ✅ / ⚠️ | |
| No TLS/SSL certificates | ✅ / ⚠️ | |
| Blob triggers use EventGrid | ✅ / ⚠️ / N/A | |
| .NET isolated (not in-process) | ✅ / ❌ / N/A | |

## 3. App Settings Inventory

| Setting | Value | 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)
- [ ] <any blocking issues>

### Warnings (should address but not blocking)
- [ ] <any non-blocking concerns>

## 9. Recommendations

1. **Plan**: <recommended target plan>
2. **Auth**: <switch to Managed Identity if using connection strings>
3. **Monitoring**: <Application Insights configuration>
4. **Scaling**: <recommended instance count and concurrency settings>

## 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.

Source: SKILL.md on GitHub

2 warnings4mo5 checks · Risk SAFE
  • Gen Agent Trust Hub4mo

    This skill facilitates Azure workload upgrades and Java SDK modernization. It includes security considerations such as command execution and fetching data from remote sources, which are within the skill's intended purpose of automating cloud and code migrations.

  • Socket4mo

    No alerts

  • Snyk4mo

    Risk: MEDIUM · 2 issues

  • Runlayer6mo

    3/6 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 36a90f7. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 5 months ago
compatibility
python3.10+
metadata
{
  "author": "Microsoft",
  "version": "0.0.0-placeholder"
}
  • Infrastructure
  • azure
  • azure-functions
  • azure-app-service
  • azure-redis
  • java-sdk
  • migrations
  • sku-upgrades
  • consumption-plan
  • flex-consumption

README badge

README badge for microsoft/github-copilot-for-azure/azure-upgrade

Assesses and automates Azure workload upgrades across plans, tiers, and SKUs—such as Functions Consumption to Flex Consumption, App Service to Container Apps, or Redis migrations to Azure Managed Redis. Also modernizes legacy Azure Java SDK dependencies (com.microsoft.azure to com.azure) in source code. Includes readiness checks, configuration migration, and validation steps.

Generated from the current SKILL.md.

Does this skill handle cross-cloud migration?
No. This skill is for Azure-to-Azure upgrades only (plan changes, SKU swaps, service migrations within Azure). For cross-cloud migration, use the `azure-cloud-migrate` skill.
What Azure upgrades does this skill cover?
It handles Azure Functions plan upgrades (Consumption to Flex Consumption), hosting tier changes, App Service to Container Apps migration, Redis cache upgrades (ACR/ACRE to Azure Managed Redis), and legacy Azure Java SDK modernization (com.microsoft.azure to com.azure).
Will this skill delete my existing app without asking?
No. The skill requires explicit user confirmation before stopping or deleting the original app. All destructive actions trigger a confirmation prompt.
Does this skill support Java SDK modernization?
Yes. It handles source-code modernization from legacy Azure Java SDKs (com.microsoft.azure.*) to modern ones (com.azure.*).
What happens after the upgrade is complete?
The skill asks whether you want to verify performance, clean up the old app, or update your infrastructure-as-code. You can then hand off to `azure-validate` for deep validation or `azure-deploy` for CI/CD setup.

Generated from the current SKILL.md. These answers refresh after source changes.