azure-cloud-migrate
microsoft/azure-skills
Assess and migrate cross-cloud workloads (AWS, GCP, Heroku) to Azure with automated reports and code conversion
What is azure-cloud-migrate?
azure-cloud-migrate is a structured skill for coding agents that guides assessment and code migration of existing cloud workloads to Azure. It covers eight migration paths including AWS Lambda→Azure Functions, Elastic Beanstalk/Heroku/Google App Engine→App Service, and AWS Fargate/Kubernetes/GCP Cloud Run/Spring Boot→Azure Container Apps. The skill enforces a sequential phase workflow: create output directory, generate an assessment report, convert code and config, then hand off to infrastructure provisioning. All output is written to a separate Azure directory, leaving the source untouched.
- Generates a migration assessment report before any code changes are made
- Converts source code and configuration from AWS/GCP/Heroku conventions to Azure equivalents
- Supports eight named migration paths across Functions, App Service, and Container Apps targets
- Scans source code for hardcoded service hostnames and flags them for environment-variable-driven URL injection
- Tracks migration progress in a migration-status.md file and reports resource-level status during long-running operations
- Hands off to azure-prepare skill for infrastructure provisioning, testing, and deployment
How to install azure-cloud-migrate
npx skills add https://github.com/microsoft/azure-skills --skill azure-cloud-migrate- Azure MCP tools available to the agent: mcp_azure_mcp_get_azure_bestpractices and mcp_azure_mcp_documentation
- Access to the source cloud workload's code and configuration
- azure-prepare skill available for the infrastructure and deployment handoff phase
- Agent runtime that supports sequential skill phase execution (e.g., Claude Code, Cursor)
How to use azure-cloud-migrate
- 1.Install the skill: npx skills add https://github.com/microsoft/azure-skills --skill azure-cloud-migrate
- 2.Open your source cloud project workspace in your coding agent
- 3.Invoke the skill and specify your migration scenario (e.g., 'migrate Lambda to Functions' or 'migrate Fargate to Container Apps')
- 4.Review the generated assessment report in <workspace-root-basename>-azure/ before any code is changed
- 5.Approve or adjust the migration plan; the skill will then convert code and configuration files
- 6.Check migration-status.md for progress updates during long-running steps
- 7.When prompted, choose to test locally or deploy to Azure
- 8.Hand off to azure-prepare for infrastructure provisioning and deployment
Use cases
- Migrating AWS Lambda functions to Azure Functions
- Moving AWS Elastic Beanstalk, Heroku, or Google App Engine apps to Azure App Service
- Migrating AWS Fargate (ECS) workloads to Azure Container Apps
- Porting Kubernetes workloads (GKE, EKS, self-hosted) to Azure Container Apps
- Migrating GCP Cloud Run services or Spring Boot apps to Azure Container Apps
- Developers moving AWS workloads to Azure
- Teams migrating GCP or Heroku applications to Azure
- Engineers evaluating Azure equivalents for existing cloud-native services
- Organizations doing cross-cloud migration projects requiring structured assessment and code conversion
azure-cloud-migrate FAQ
No. All output is written to a new <workspace-root-basename>-azure/ directory at the workspace root. The source directory is never modified.
The skill falls back to using the mcp_azure_mcp_documentation and mcp_azure_mcp_get_azure_bestpractices MCP tools to guide the migration.
No. Code assessment and conversion are handled by this skill. Infrastructure, testing, and deployment are handed off to the azure-prepare skill.
During assessment it scans source code for hardcoded Kubernetes-style DNS hostnames and ports, then flags them to be replaced with environment-variable-driven URL injection, since those DNS names do not resolve in Azure Container Apps.
No. Any destructive actions require explicit user confirmation via ask_user before proceeding.
Full instructions (SKILL.md)
Source of truth, from microsoft/azure-skills.
name: azure-cloud-migrate description: "Assess 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." license: MIT metadata: author: Microsoft version: "1.2.1"
Azure Cloud Migrate
This skill handles assessment and code migration of existing cloud workloads to Azure.
Rules
- Follow phases sequentially — do not skip
- Generate assessment before any code migration
- Load the scenario reference and follow its rules
- Use
mcp_azure_mcp_get_azure_bestpracticesandmcp_azure_mcp_documentationMCP tools - Use the latest supported runtime for the target service
- Destructive actions require
ask_user— functions global-rules | app-service global-rules - Report progress to user — During long-running operations (deployments, image pushes), provide resource-level status updates so the user is never left waiting without feedback — see workflow-details.md
- Audit service discovery in app code — Kubernetes DNS names (e.g.,
http://order-service:3001) do not resolve in Container Apps. During assessment, scan source code for hardcoded hostnames/ports in HTTP clients and flag them for env-var-driven URL injection
Migration Scenarios
| Source | Target | Reference |
|---|---|---|
| AWS Lambda | Azure Functions | lambda-to-functions.md (assessment, code-migration) |
| AWS Elastic Beanstalk | Azure App Service | beanstalk-to-app-service.md |
| Heroku | Azure App Service | heroku-to-app-service.md |
| Google App Engine | Azure App Service | app-engine-to-app-service.md |
| AWS Fargate (ECS) | Azure Container Apps | fargate-to-container-apps.md (assessment, deployment) |
| Kubernetes (GKE/EKS/Self-hosted) | Azure Container Apps | k8s-to-container-apps.md |
| GCP Cloud Run | Azure Container Apps | cloudrun-to-container-apps.md |
| Spring Boot (Azure Spring Apps/VMs) | Azure Container Apps | spring-apps-to-aca.md |
No matching scenario? Use
mcp_azure_mcp_documentationandmcp_azure_mcp_get_azure_bestpracticestools.
Output Directory
All output goes to <workspace-root-basename>-azure/ at workspace root, where <workspace-root-basename> is the name of the top-level workspace directory itself (NOT a subdirectory within it). Never modify the source directory.
Steps
- Create
<workspace-root-basename>-azure/at workspace root - Assess — Analyze source, map services, generate report using the scenario-specific assessment guide → functions assessment | app-service assessment
- Migrate — Convert code/config using the scenario-specific migration guide → functions code-migration | app-service code-migration
- Ask User — "Migration complete. Test locally or deploy to Azure?"
- Hand off to azure-prepare for infrastructure, testing, and deployment
Track progress in migration-status.md — see workflow-details.md.
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