编程#代码智能体#云计算

azure-cloud-migrate:先评估再迁代码

出自微软 azure-skills 的技能:先评估现有云应用依赖了哪些平台能力,再按场景把代码与配置迁到 Azure,产物写进独立目录。

Skill 资料

安装命令
npx skills add microsoft/azure-skills --skill azure-cloud-migrate

生成的封面卡片:标题下方是三条迁移路径,AWS Lambda 到 Azure Functions,Heroku、Beanstalk、App Engine 到 App Service,Fargate、Kubernetes、Cloud Run 到 Azure Container Apps

把跑在 AWS 或 Heroku 上的应用迁到 Azure,换服务名往往是小事,真正容易出问题的是代码里写死的平台能力:Kubernetes 内部域名、任务队列的触发方式、运行时的环境变量。azure-cloud-migrate 是微软 azure-skills 仓库里的一个官方技能,它要求先出一份迁移评估,再动代码。

它让智能体按什么顺序做事

技能文件把流程写成固定的五步,规则里明确「按阶段顺序执行,不得跳过」,并且「在改任何代码之前先生成评估」。

  1. 建目录:在workspace 根目录建 <workspace-name>-azure/,所有产物写进去,不动原始目录。
  2. 评估:读源码,确认它用了哪些原平台能力,按场景参考文档生成评估报告。
  3. 迁移:按场景的代码迁移指南改代码与配置。
  4. 询问:迁移完成后停下来问,是本地测试还是部署到 Azure。
  5. 交接:交给 azure-prepare 准备基础设施、测试和部署。

进度记在 migration-status.md,长耗时操作要求逐资源报告状态。

它约束了什么

  • 固定场景表:Lambda 到 Functions;Beanstalk、Heroku、App Engine 到 App Service;Fargate、Kubernetes、Cloud Run、Spring Boot 到 Container Apps。没有匹配场景时,改用 MCP 文档与最佳实践工具。
  • 必须扫服务发现:技能规则第 8 条点名 Kubernetes 的内部域名(例如 http://order-service:3001)在 Container Apps 里解析不了,评估阶段就要扫描写死的主机名和端口,并提出用环境配置注入新地址。
  • 破坏性操作要确认:涉及删除或改动的操作必须先问用户。
  • 依赖 MCP 工具:规则要求使用 mcp_azure_mcp_get_azure_bestpractices 和 mcp_azure_mcp_documentation 两个 MCP 工具,所以需要先配好 Azure MCP Server。
  • 用目标平台的最新运行时,不沿用旧版本。

适合谁

适合正在做跨云迁移、手上是 Lambda、Heroku、Kubernetes 这类工作负载的团队,尤其是想先把依赖关系摸清楚再动手的人。它和其他云上部署类技能可以对照看,例如 golive。

有一条要提前知道:技能本身只做到「代码转换完成」,README 明确说转换出的文件只代表迁移的一个阶段,线上行为仍需验证。另外它依赖 Azure MCP Server 与 Azure CLI(v2.60.0 以上),没有这些工具时只能得到静态建议。