<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Platform Engineering | The .NET Blog</title><link>https://thedotnetblog.com/zh/tags/platform-engineering/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>zh</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/zh/tags/platform-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>用 Agentic Platform Engineering 消除迁移的重复性工作</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</guid><description>Git-Ape 演示了将真实的 AWS Terraform 部署迁移到 Azure Bicep 的过程——提取部署意图并重新映射架构，而不是进行 1:1 的语法转换。</description><content:encoded>&lt;p&gt;&lt;em&gt;本文已自动翻译。要查看原始版本，&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/"&gt;请点击此处&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;Removing the Monkey Work of Migration with Agentic Platform Engineering&lt;/a&gt; — Git-Ape（git 智能体平台工程工具）将真实的 AWS Terraform 仓库迁移到 Azure 的演练，专注于提取部署意图而非逐行转换。&lt;/p&gt;
&lt;h2 id="输入contoso-migration"&gt;输入：contoso-migration&lt;/h2&gt;
&lt;p&gt;源项目是一个真实的 Terraform 项目（&lt;code&gt;contoso-migration&lt;/code&gt;），在 AWS 上部署 Next.js 应用——EC2 用于计算，ALB 用于负载均衡，S3 用于制品，IAM 密钥用于身份认证。成本：约 34 美元/月。目标不是在 Azure 上复现相同的基础设施；而是弄清楚这个部署实际上要做什么，然后用 Azure 原生服务重新构建它。&lt;/p&gt;
&lt;h2 id="步骤-1验证与认证"&gt;步骤 1：验证与认证&lt;/h2&gt;
&lt;p&gt;Git-Ape 首先验证所有必需的 CLI 工具——&lt;code&gt;az&lt;/code&gt;、&lt;code&gt;aws&lt;/code&gt;、&lt;code&gt;gh&lt;/code&gt;、&lt;code&gt;jq&lt;/code&gt;、&lt;code&gt;git&lt;/code&gt;——并在进行任何操作之前确认活跃的认证会话。不做部分运行。&lt;/p&gt;
&lt;h2 id="步骤-2意图提取"&gt;步骤 2：意图提取&lt;/h2&gt;
&lt;p&gt;智能体通过 GitHub API 读取整个源仓库，并提取部署意图：运行时（Node.js）、计算类型、入口模式、制品处理、身份模型、网络和监控。这是关键步骤——它构建了一个关于部署做什么的语义模型，而不是它使用了哪些 Terraform 关键字。&lt;/p&gt;
&lt;h2 id="步骤-3服务映射"&gt;步骤 3：服务映射&lt;/h2&gt;
&lt;p&gt;AWS 服务映射到 Azure 等效服务：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EC2 → App Service（Linux，Node 20 LTS）&lt;/li&gt;
&lt;li&gt;ALB → App Service 内置负载均衡&lt;/li&gt;
&lt;li&gt;IAM 角色/密钥 → Managed Identity&lt;/li&gt;
&lt;li&gt;Terraform → Bicep + GitHub Actions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="步骤-4评审智能体"&gt;步骤 4：评审智能体&lt;/h2&gt;
&lt;p&gt;在生成输出之前，评审智能体运行并发现两个阻塞问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;启动时构建反模式&lt;/strong&gt; — 原始 Terraform 在 EC2 启动时运行 &lt;code&gt;npm install &amp;amp;&amp;amp; npm run build&lt;/code&gt;。修复：在 CI 中构建，部署已就绪的制品。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不必要的 Blob Storage&lt;/strong&gt; — S3 用于制品暂存，通过适当的 CI/CD 可以完全省去。评审智能体将其彻底删除。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="步骤-5生成的输出"&gt;步骤 5：生成的输出&lt;/h2&gt;
&lt;p&gt;结果是约 80 行 Bicep，而不是原来的 200 多行 Terraform。智能体创建了一个新的 GitHub 仓库，包含 &lt;code&gt;infra/main.bicep&lt;/code&gt; 和 &lt;code&gt;.github/workflows/deploy.yml&lt;/code&gt;，并删除了所有 AWS 特定文件。&lt;/p&gt;
&lt;h2 id="安全态势对比"&gt;安全态势对比&lt;/h2&gt;
&lt;p&gt;迁移还带来了显著的安全升级：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;AWS 原始&lt;/th&gt;
&lt;th&gt;Azure 输出&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;仅 HTTP&lt;/td&gt;
&lt;td&gt;仅 HTTPS，TLS 1.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSH 对 0.0.0.0/0 开放&lt;/td&gt;
&lt;td&gt;无 SSH 暴露&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IAM 访问密钥&lt;/td&gt;
&lt;td&gt;OIDC + Managed Identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;无监控&lt;/td&gt;
&lt;td&gt;Application Insights&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;成本：约 13 美元/月，而原来是 34 美元/月。&lt;/p&gt;
&lt;h2 id="与语法转换器的区别"&gt;与语法转换器的区别&lt;/h2&gt;
&lt;p&gt;评审智能体步骤是将其与机械翻译区分开来的关键。它发现了在 AWS 上可行但在 Azure 上会出错的模式——并修复了它们而不是复制它们。输出不是&amp;quot;Azure 语法的 AWS&amp;quot;；而是以更简洁方式实现同一目标的 Azure 原生部署。&lt;/p&gt;
&lt;p&gt;请查看&lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;完整演练&lt;/a&gt;以获取完整的智能体追踪和生成的文件。&lt;/p&gt;</content:encoded></item><item><title>智能体平台工程正在成为现实 — Git-APE展示了方法</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</guid><description>微软的Git-APE项目将智能体平台工程付诸实践 — 使用GitHub Copilot智能体和Azure MCP将自然语言请求转化为经过验证的云基础设施。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文为自动翻译。查看原文请&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;平台工程一直是那种在技术大会上听起来很棒的术语，但通常意味着&amp;quot;我们搭了一个内部门户和一个Terraform封装器。&amp;ldquo;真正的承诺 — 真正安全、受治理且快速的自助式基础设施 — 总是差那么几步。&lt;/p&gt;
&lt;p&gt;Azure团队刚刚发布了&lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;智能体平台工程系列的第二部分&lt;/a&gt;，这次全是关于动手实现。他们称之为&lt;strong&gt;Git-APE&lt;/strong&gt;（是的，这个缩写是故意的），这是一个开源项目，使用GitHub Copilot智能体加Azure MCP服务器，将自然语言请求转化为经过验证和部署的基础设施。&lt;/p&gt;
&lt;h2 id="git-ape究竟做什么"&gt;Git-APE究竟做什么&lt;/h2&gt;
&lt;p&gt;核心思路：开发者不再需要学习Terraform模块、浏览门户UI或向平台团队提交工单，而是直接和Copilot智能体对话。智能体理解意图、生成基础设施即代码、根据策略进行验证并部署 — 全部在VS Code内完成。&lt;/p&gt;
&lt;p&gt;配置如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/Azure/git-ape
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; git-ape
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在VS Code中打开工作区，GitHub Copilot会自动发现智能体配置文件。你直接与智能体交互：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape deploy a function app with storage in West Europe
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;智能体在底层使用Azure MCP Server与Azure服务交互。VS Code设置中的MCP配置启用特定功能：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.serverMode&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;namespace&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.enabledServices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;deploy&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bestpractices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;group&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;subscription&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;functionapp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;storage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;sql&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;monitor&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.readOnly&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="为什么这很重要"&gt;为什么这很重要&lt;/h2&gt;
&lt;p&gt;对于我们在Azure上构建的人来说，这将平台工程的对话从&amp;quot;如何构建一个门户&amp;quot;转变为&amp;quot;如何将我们的护栏描述为API。&amp;ldquo;当你的平台接口是AI智能体时，你的约束和策略的质量就成了产品本身。&lt;/p&gt;
&lt;p&gt;第一部分博客阐述了理论：描述良好的API、控制模式和明确的护栏使平台做好了智能体化的准备。第二部分通过交付实际工具证明它确实有效。智能体不会盲目生成资源 — 它会根据最佳实践进行验证、遵守命名约定并应用你组织的策略。&lt;/p&gt;
&lt;p&gt;清理同样简单：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape destroy my-resource-group
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="我的看法"&gt;我的看法&lt;/h2&gt;
&lt;p&gt;说实话 — 这里更多是关于模式而非具体工具。Git-APE本身是一个演示/参考架构。但底层的理念 — 智能体作为平台的接口、MCP作为协议、GitHub Copilot作为宿主 — 这就是企业开发者体验的前进方向。&lt;/p&gt;
&lt;p&gt;如果你是一个正在寻找如何让内部工具对智能体友好的平台团队，没有比这更好的起点了。如果你是.NET开发者想知道这和你的世界如何关联：Azure MCP Server和GitHub Copilot智能体可以与任何Azure工作负载配合使用。你的ASP.NET Core API、你的.NET Aspire技术栈、你的容器化微服务 — 都可以成为智能体部署流程的目标。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;Git-APE是对智能体平台工程实践的一个早期但具体的展示。克隆&lt;a href="https://github.com/Azure/git-ape"&gt;仓库&lt;/a&gt;，试试演示，开始思考你的平台的API和策略需要是什么样子，才能让智能体安全地使用它们。&lt;/p&gt;
&lt;p&gt;阅读&lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;完整文章&lt;/a&gt;获取详细教程和演示视频。&lt;/p&gt;</content:encoded></item></channel></rss>