azure-upgrade
microsoft/azure-skills
Assess and upgrade Azure workloads between plans, tiers, SKUs, or modernize Azure SDK dependencies in source code.
What is azure-upgrade?
azure-upgrade is a skill for coding agents that guides assessment and automated migration of Azure workloads from one service, hosting plan, or SKU to another — entirely within Azure. It covers Azure Functions plan upgrades (Consumption to Flex Consumption), App Service to Container Apps migrations, Azure Cache for Redis (ACR/ACRE) to Azure Managed Redis (AMR), and Java SDK source-code modernization (com.microsoft.azure to com.azure). The skill follows a structured phase-by-phase workflow, uses Azure MCP tools for documentation and best practices, requires user confirmation before destructive actions, and tracks progress in a workspace file.
- Upgrades Azure Functions from Consumption plan to Flex Consumption plan
- Migrates Azure Cache for Redis (ACR/OSS Basic/Standard/Premium) to Azure Managed Redis (AMR)
- Migrates Azure Cache for Redis Enterprise (ACRE/Enterprise Flash) to Azure Managed Redis (AMR)
- Modernizes legacy Java Azure SDK dependencies (com.microsoft.azure.* to com.azure.*)
- Assesses upgrade readiness before executing any changes
- Generates idempotent, resumable automation scripts and tracks progress in upgrade-status.md
How to install azure-upgrade
npx skills add https://github.com/microsoft/azure-skills --skill azure-upgrade- Azure MCP server available with tools: mcp_azure_mcp_get_azure_bestpractices, mcp_azure_mcp_documentation, mcp_azure_mcp_appservice, mcp_azure_mcp_applicationinsights
- Access to the Azure subscription containing the source workload
- For Java SDK migration: Java project source code accessible in the workspace
- For Redis migration: existing ACR, ACRE, or OSS Redis cache details
- Coding agent compatible with SKILL.md packages (e.g. Claude Code, Cursor)
How to use azure-upgrade
- 1.Install the skill with: npx skills add https://github.com/microsoft/azure-skills --skill azure-upgrade
- 2.Describe your upgrade intent to the agent (e.g. 'Upgrade my function app from Consumption to Flex Consumption')
- 3.The agent identifies the source and target plan/SKU and asks you to confirm
- 4.The agent runs an assessment of your existing workload for upgrade readiness
- 5.Review the assessment, then confirm the target plan or SKU before any changes are made
- 6.The agent executes the upgrade steps, migrating settings, identities, and deploying code
- 7.Validate the upgraded workload by confirming the app is reachable and monitoring is active
- 8.Optionally hand off to azure-validate for deep validation or azure-deploy for CI/CD setup
Use cases
- Upgrading a function app from Consumption to Flex Consumption for better scaling
- Migrating a Premium Redis cache to Azure Managed Redis with SKU selection guidance
- Modernizing a Java project that uses legacy com.microsoft.azure SDK packages
- Changing the hosting plan or SKU of an existing Azure Functions app
- Assessing whether an existing workload is ready for a target Azure plan or tier
- Java developers maintaining apps with legacy Azure SDK dependencies
- Cloud engineers managing Azure Functions workloads needing plan upgrades
- Platform teams migrating Redis caches to Azure Managed Redis
- Developers looking to automate Azure service tier or SKU changes
- Teams preparing Azure workloads for modernization within Azure
azure-upgrade FAQ
No. This skill is only for upgrades within Azure. For cross-cloud migrations, use the azure-cloud-migrate skill instead.
No. The skill will never delete or stop the original app without explicit user confirmation. Destructive actions always require approval.
Java SDK migration runs a source-code modernization flow that rewrites com.microsoft.azure.* dependencies to com.azure.*, and follows a separate reference path rather than the standard upgrade steps.
The skill uses the mcp_azure_mcp_documentation and mcp_azure_mcp_get_azure_bestpractices tools to research the upgrade path for unlisted scenarios.
Progress is tracked in an upgrade-status.md file created in the workspace root during the upgrade process.
Full instructions (SKILL.md)
Source of truth, from microsoft/azure-skills.
name: azure-upgrade description: "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)." license: MIT compatibility: python3.10+ metadata: author: Microsoft version: "1.1.4"
Azure Upgrade
This skill handles assessment and automated upgrades of existing Azure workloads from one Azure service, hosting plan, or SKU to another — all within Azure. This includes plan/tier upgrades (e.g. Consumption → Flex Consumption), cross-service migrations (e.g. App Service → Container Apps), and SKU changes. It also covers Azure SDK for Java source-code modernization (e.g. legacy Java
com.microsoft.azure.*→ moderncom.azure.*). This is NOT for cross-cloud migration — useazure-cloud-migratefor that.
Triggers
| User Intent | Example Prompts |
|---|---|
| Upgrade Azure Functions plan | "Upgrade my function app from Consumption to Flex Consumption" |
| Change hosting tier | "Move my function app to a better plan" |
| Assess upgrade readiness | "Is my function app ready for Flex Consumption?" |
| Automate plan migration | "Automate the steps to upgrade my Functions plan" |
| Modernize legacy Azure Java SDK | "Migrate legacy Azure SDKs for Java", "Upgrade legacy Azure Java SDK", "Migrate my Java project from com.microsoft.azure to com.azure" |
| Migrate Azure Cache for Redis (ACR/OSS) to Azure Managed Redis (AMR) | "Migrate my Redis cache to AMR", "ACR to AMR", "OSS to AMR", "Upgrade my Premium P2 cache to Managed Redis", "Pick an AMR SKU", "Convert my Redis IaC template to AMR" |
| Migrate Azure Cache for Redis Enterprise (ACRE) to Azure Managed Redis (AMR) | "Migrate my Enterprise_E10 cache to AMR", "ACRE to AMR", "Update my ACRE IaC template for AMR", "Migrate EnterpriseFlash to AMR", "Migrate my geo-replicated Enterprise Redis" |
Rules
- Follow phases sequentially — do not skip
- Generate an assessment before any upgrade operations
- Load the scenario reference and follow its rules
- Use
mcp_azure_mcp_get_azure_bestpracticesandmcp_azure_mcp_documentationMCP tools - Destructive actions require
ask_user— global-rules - Always confirm the target plan/SKU with the user before proceeding
- Never delete or stop the original app without explicit user confirmation
- All automation scripts must be idempotent and resumable
Upgrade Scenarios
| Source | Target | Reference |
|---|---|---|
| Azure Functions Consumption Plan | Azure Functions Flex Consumption Plan | consumption-to-flex.md |
Legacy Azure Java SDK (com.microsoft.azure.*) | Modern Azure Java SDK (com.azure.*) | languages/java/README.md |
| Azure Cache for Redis (ACR/OSS) Basic/Standard/Premium | Azure Managed Redis (AMR) | services/redis/redis-to-amr.md |
| Azure Cache for Redis Enterprise (ACRE) / Enterprise Flash | Azure Managed Redis (AMR) | services/redis/redis-to-amr.md |
SDK upgrade scenarios (e.g. Java legacy → modern) run a source-code modernization flow that is distinct from Azure service/plan/SKU upgrades: follow the scenario reference, not the Steps below.
No matching scenario? Use
mcp_azure_mcp_documentationandmcp_azure_mcp_get_azure_bestpracticestools to research the upgrade path.
MCP Tools
| Tool | Purpose |
|---|---|
mcp_azure_mcp_get_azure_bestpractices | Get Azure best practices for the target service |
mcp_azure_mcp_documentation | Look up Azure documentation for upgrade scenarios |
mcp_azure_mcp_appservice | Query App Service and Functions plan details |
mcp_azure_mcp_applicationinsights | Verify monitoring configuration |
Steps
- Identify — Determine the source and target Azure plans/SKUs. Ask user to confirm.
- Assess — Analyze existing app for upgrade readiness → load scenario reference (e.g., consumption-to-flex.md)
- Pre-migrate — Collect settings, identities, configs from the existing app
- Upgrade — Execute the automated upgrade steps (create new resources, migrate settings, deploy code)
- Validate — Hit the function app default URL to confirm the app is reachable, then verify endpoints and monitoring
- Ask User — "Upgrade complete. Would you like to verify performance, clean up the old app, or update your IaC?"
- Hand off to
azure-validatefor deep validation orazure-deployfor CI/CD setup
Track progress in upgrade-status.md inside the workspace root.
References
- Global Rules
- Workflow Details
- Functions
- Redis
- Redis (ACR or ACRE) to AMR Migration — routes to dedicated amr-migration-skill (ACR/OSS) or acre-to-amr-migration-skill (Enterprise)
- Java SDK Migration Templates
Next
After upgrade is validated, hand off to:
azure-validate— for thorough post-upgrade validationazure-deploy— if the user wants to set up CI/CD for the new app
Related skills
More from microsoft/azure-skills and the wider catalog.
finetuning
Fine-tune models on Azure AI Foundry with SFT, DPO, or RFT training methods.
azure-ai
Azure AI services skill for Search, Speech, OpenAI, and Document Intelligence in coding agents
azure-deploy
Execute Azure deployments for prepared applications with built-in error recovery and validation.
azure-diagnostics
Debug Azure production issues using AppLens, Azure Monitor, resource health, and systematic triage.
azure-prepare
Generate Azure deployment infrastructure (Bicep/Terraform, azure.yaml, Dockerfiles) for new or existing apps
azure-storage
Azure Storage skill: Blob, File Shares, Queue, Table, and Data Lake with access tier guidance and lifecycle management