<?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/ko/tags/platform-engineering/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ko</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/ko/tags/platform-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Agentic Platform Engineering으로 마이그레이션의 반복 작업 제거하기</title><link>https://thedotnetblog.com/ko/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/ko/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/ko/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;소스는 AWS에서 Next.js 앱을 배포하는 실제 Terraform 프로젝트(&lt;code&gt;contoso-migration&lt;/code&gt;)입니다 — 컴퓨팅에 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;결과는 원래 200줄 이상의 Terraform 대신 약 80줄의 Bicep입니다. 에이전트는 &lt;code&gt;infra/main.bicep&lt;/code&gt; 및 &lt;code&gt;.github/workflows/deploy.yml&lt;/code&gt;이 포함된 새 GitHub 리포지토리를 생성하고 모든 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;비용: 원래 $34/월 대비 ~$13/월.&lt;/p&gt;
&lt;h2 id="구문-변환기와의-차이점"&gt;구문 변환기와의 차이점&lt;/h2&gt;
&lt;p&gt;비평 에이전트 단계가 이것을 기계적 번역과 구별시키는 것입니다. AWS에서는 작동하지만 Azure에서는 잘못될 패턴을 발견하고 복제 대신 수정했습니다. 출력은 &amp;ldquo;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/ko/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/ko/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</guid><description>Microsoft의 Git-APE 프로젝트가 에이전틱 플랫폼 엔지니어링을 실전에 적용합니다 — GitHub Copilot 에이전트와 Azure MCP를 사용하여 자연어 요청을 검증된 클라우드 인프라로 전환합니다.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;이 글은 자동 번역되었습니다. 원문은 &lt;a href="https://thedotnetblog.com/ko/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;ldquo;내부 포털과 Terraform 래퍼를 만들었습니다&amp;quot;를 의미하는 용어 중 하나였습니다. 진정한 약속 — 실제로 안전하고, 거버넌스가 적용되고, 빠른 셀프 서비스 인프라 — 는 항상 몇 발짝 떨어져 있었습니다.&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;에이전틱 플랫폼 엔지니어링 시리즈의 파트 2&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 에이전트와 대화합니다. 에이전트가 의도를 해석하고, Infrastructure-as-Code를 생성하고, 정책에 대해 검증하고, 배포합니다 — 모두 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;ldquo;포털을 어떻게 만들까&amp;quot;에서 &amp;ldquo;가드레일을 API로 어떻게 기술할까&amp;quot;로 전환시킵니다. 플랫폼의 인터페이스가 AI 에이전트가 되면, 제약 조건과 정책의 품질이 곧 제품이 됩니다.&lt;/p&gt;
&lt;p&gt;파트 1 블로그는 이론을 제시했습니다: 잘 기술된 API, 제어 스키마, 그리고 명시적인 가드레일이 플랫폼을 에이전트 대응(agent-ready)으로 만듭니다. 파트 2는 실제 도구를 제공하여 이것이 작동한다는 것을 증명합니다. 에이전트는 리소스를 무작정 생성하지 않습니다 — 모범 사례에 대해 검증하고, 명명 규칙을 존중하며, 조직의 정책을 적용합니다.&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>