Azure upgrade skill

Assess and upgrade Azure workloads between plans, tiers, or SKUs, or modernize Azure SDK dependencies in source code.

by microsoft·MIT license·★ 1,532 Stars on the repo·GitHub ↗

Use now

Files of Azure upgrade

microsoft/main1 file shown
SKILL.md
Show the full text92 lines
azure-upgrade/SKILL.md92 lines · 6.0 KB

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.* → modern com.azure.*). This is NOT for cross-cloud migration — use azure-cloud-migrate for 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

  1. Follow phases sequentially — do not skip
  2. Generate an assessment before any upgrade operations
  3. Load the scenario reference and follow its rules
  4. Use mcp_azure_mcp_get_azure_bestpractices and mcp_azure_mcp_documentation MCP tools
  5. Destructive actions require ask_user — global-rules
  6. Always confirm the target plan/SKU with the user before proceeding
  7. Never delete or stop the original app without explicit user confirmation
  8. 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_documentation and mcp_azure_mcp_get_azure_bestpractices tools 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

  1. Identify — Determine the source and target Azure plans/SKUs. Ask user to confirm.
  2. Assess — Analyze existing app for upgrade readiness → load scenario reference (e.g., consumption-to-flex.md)
  3. Pre-migrate — Collect settings, identities, configs from the existing app
  4. Upgrade — Execute the automated upgrade steps (create new resources, migrate settings, deploy code)
  5. Validate — Hit the function app default URL to confirm the app is reachable, then verify endpoints and monitoring
  6. Ask User — "Upgrade complete. Would you like to verify performance, clean up the old app, or update your IaC?"
  7. Hand off to azure-validate for deep validation or azure-deploy for CI/CD setup

Track progress in upgrade-status.md inside the workspace root.

References

Next

After upgrade is validated, hand off to:

  • azure-validate — for thorough post-upgrade validation
  • azure-deploy — if the user wants to set up CI/CD for the new app
1---
2name: azure-upgrade
3description: "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)."
4license: MIT
5compatibility: python3.10+
6metadata:
7 author: Microsoft
8 version: "1.2.1"
9---
10 
11# Azure Upgrade
12 
13> 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.*` → modern `com.azure.*`). This is NOT for cross-cloud migration — use `azure-cloud-migrate` for that.
14 
15## Triggers
16 
17| User Intent | Example Prompts |
18|-------------|-----------------|
19| Upgrade Azure Functions plan | "Upgrade my function app from Consumption to Flex Consumption" |
20| Change hosting tier | "Move my function app to a better plan" |
21| Assess upgrade readiness | "Is my function app ready for Flex Consumption?" |
22| Automate plan migration | "Automate the steps to upgrade my Functions plan" |
23| 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" |
24| 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" |
25| 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" |
26 
27## Rules
28 
291. Follow phases sequentially — do not skip
302. Generate an assessment before any upgrade operations
313. Load the scenario reference and follow its rules
324. Use `mcp_azure_mcp_get_azure_bestpractices` and `mcp_azure_mcp_documentation` MCP tools
335. Destructive actions require `ask_user` — [global-rules](references/global-rules.md)
346. Always confirm the target plan/SKU with the user before proceeding
357. Never delete or stop the original app without explicit user confirmation
368. All automation scripts must be idempotent and resumable
37 
38## Upgrade Scenarios
39 
40| Source | Target | Reference |
41|--------|--------|-----------|
42| Azure Functions Consumption Plan | Azure Functions Flex Consumption Plan | [consumption-to-flex.md](references/services/functions/consumption-to-flex.md) |
43| Legacy Azure Java SDK (`com.microsoft.azure.*`) | Modern Azure Java SDK (`com.azure.*`) | [languages/java/README.md](references/languages/java/README.md) |
44| Azure Cache for Redis (ACR/OSS) Basic/Standard/Premium | Azure Managed Redis (AMR) | [services/redis/redis-to-amr.md](references/services/redis/redis-to-amr.md) |
45| Azure Cache for Redis Enterprise (ACRE) / Enterprise Flash | Azure Managed Redis (AMR) | [services/redis/redis-to-amr.md](references/services/redis/redis-to-amr.md) |
46 
47> 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.
48 
49> No matching scenario? Use `mcp_azure_mcp_documentation` and `mcp_azure_mcp_get_azure_bestpractices` tools to research the upgrade path.
50 
51## MCP Tools
52 
53| Tool | Purpose |
54|------|---------|
55| `mcp_azure_mcp_get_azure_bestpractices` | Get Azure best practices for the target service |
56| `mcp_azure_mcp_documentation` | Look up Azure documentation for upgrade scenarios |
57| `mcp_azure_mcp_appservice` | Query App Service and Functions plan details |
58| `mcp_azure_mcp_applicationinsights` | Verify monitoring configuration |
59 
60## Steps
61 
621. **Identify** — Determine the source and target Azure plans/SKUs. Ask user to confirm.
632. **Assess** — Analyze existing app for upgrade readiness → load scenario reference (e.g., [consumption-to-flex.md](references/services/functions/consumption-to-flex.md))
643. **Pre-migrate** — Collect settings, identities, configs from the existing app
654. **Upgrade** — Execute the automated upgrade steps (create new resources, migrate settings, deploy code)
665. **Validate** — Hit the function app default URL to confirm the app is reachable, then verify endpoints and monitoring
676. **Ask User** — "Upgrade complete. Would you like to verify performance, clean up the old app, or update your IaC?"
687. **Hand off** to `azure-validate` for deep validation or `azure-deploy` for CI/CD setup
69 
70Track progress in `upgrade-status.md` inside the workspace root.
71 
72## References
73 
74- [Global Rules](references/global-rules.md)
75- [Workflow Details](references/workflow-details.md)
76- **Functions**
77 - [Consumption to Flex Consumption](references/services/functions/consumption-to-flex.md)
78 - [Assessment](references/services/functions/assessment.md)
79 - [Automation Scripts](references/services/functions/automation.md)
80- **Redis**
81 - [Redis (ACR or ACRE) to AMR Migration](references/services/redis/redis-to-amr.md) — routes to dedicated [amr-migration-skill](https://github.com/AzureManagedRedis/amr-migration-skill) (ACR/OSS) or [acre-to-amr-migration-skill](https://github.com/AzureManagedRedis/acre-to-amr-migration-skill) (Enterprise)
82- **Java SDK Migration Templates**
83 - [Plan Template](references/languages/java/templates/PLAN_TEMPLATE.md)
84 - [Progress Template](references/languages/java/templates/PROGRESS_TEMPLATE.md)
85 - [Summary Template](references/languages/java/templates/SUMMARY_TEMPLATE.md)
86 
87## Next
88 
89After upgrade is validated, hand off to:
90- `azure-validate` — for thorough post-upgrade validation
91- `azure-deploy` — if the user wants to set up CI/CD for the new app
92 

Discussion

Alternatives

Azure app onboardEnd-to-end orchestrator: from a business idea, app idea, or existing app to running Azure deployment with cost estimates and pre-deploy approval. Analyzes your app, auto-detects the right Azure services, scaffolds infrastructure code, and deploys — tailored to your app, not a template. Handles moving existing apps to Azure without rewriting or with minimal changes. WHEN: bring your app to Azure, plan my app, cost to run, is my code ready to deploy, deploy my app to the cloud, deploy all my services, what Azure services do I need, plan my Azure deployment, deploy my new app to Azure, one-click deploy, I have an app and want it on Azure, migrate my app to Azure, help me get started, build an app, no code yet, starter project. DO NOT USE FOR: use azd for deployment(use azure-deploy), optimizing existing costs (use cost-optimization), code readiness checks only (use azure-app-onboard-prereq).Infrastructure & ops · MITAzure App Onboard Prereq — Repository EvaluationAssess whether source code is ready to deploy to Azure — the check BEFORE infrastructure work. Evaluates build health, app completeness, dependencies and local services, stack compatibility, and deployment feasibility. Answers questions about what your app needs before it can be deployed — frameworks, dependencies, and configuration. Checks whether dependencies are compatible and identifies deployment blockers and unsupported frameworks. WHEN: "evaluate my repo", "is my app ready to deploy", "what does my app need to deploy", "what do I need before deploying", "does my app need", "can I ship this to Azure", "scan my repo for issues", "is this app deployable", "check if my app is ready for Azure", "do I need a Dockerfile", "what's blocking my deployment", "are there any blockers", "are my dependencies compatible", "does Azure support my framework", "what needs to change before deploying", "check my app configuration".Infrastructure & ops · MITDocker MCP gatewayDocker's own CLI plugin: run any server from the Docker MCP Catalog in its own container, behind one connection, with secrets kept out of env vars.Coding · MITAzure cloud migrateAssess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud Run migration, Fargate to ACA, ECS/Kubernetes/GKE/EKS to Container Apps, Spring Boot to Container Apps, cross-cloud migration.Infrastructure & ops · MIT