<?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>Modernization | The .NET Blog</title><link>https://thedotnetblog.com/ko/tags/modernization/</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>Fri, 17 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ko/tags/modernization/index.xml" rel="self" type="application/rss+xml"/><item><title>Docker Sandbox로 Copilot 에이전트가 머신 위험 없이 코드를 리팩터링할 수 있게 되었다</title><link>https://thedotnetblog.com/ko/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ko/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/</guid><description>Docker Sandbox는 GitHub Copilot 에이전트에게 안전한 마이크로VM을 제공하여 권한 프롬프트 없이, 호스트 위험 없이 자유롭게 리팩터링할 수 있게 합니다. 대규모 .NET 현대화에 왜 이것이 모든 것을 바꾸는지 알아보세요.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;이 글은 자동 번역되었습니다. 원문은 &lt;a href="https://thedotnetblog.com/ko/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/"&gt;여기&lt;/a&gt;에서 확인하세요.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Copilot의 에이전트 모드를 작은 편집 이상의 용도로 써본 적이 있다면, 그 고통을 알 겁니다. 파일 쓰기마다, 터미널 명령마다 — 또 권한 프롬프트. 이제 이걸 50개 프로젝트에서 한다고 상상해 보세요. 전혀 재미없죠.&lt;/p&gt;
&lt;p&gt;Azure 팀이 &lt;a href="https://devblogs.microsoft.com/all-things-azure/best-of-both-worlds-for-agentic-refactoring-github-copilot-microvms-via-docker-sandbox/"&gt;GitHub Copilot 에이전트를 위한 Docker Sandbox&lt;/a&gt;에 관한 포스트를 공개했는데, 솔직히 제가 본 에이전틱 툴링 개선 중 가장 실용적인 것 중 하나입니다. 마이크로VM을 활용해 Copilot에게 완전히 격리된 환경을 제공하여 패키지 설치, 빌드 실행, 테스트 실행까지 — 호스트 시스템을 전혀 건드리지 않고 자유롭게 작업할 수 있게 합니다.&lt;/p&gt;
&lt;h2 id="docker-sandbox가-실제로-제공하는-것"&gt;Docker Sandbox가 실제로 제공하는 것&lt;/h2&gt;
&lt;p&gt;핵심 아이디어는 간단합니다: 완전한 Linux 환경을 갖춘 경량 마이크로VM을 띄우고, 워크스페이스를 그 안에 동기화한 다음, Copilot 에이전트가 내부에서 자유롭게 작업하게 하는 것입니다. 작업이 끝나면 변경 사항이 다시 동기화됩니다.&lt;/p&gt;
&lt;p&gt;단순히 &amp;ldquo;컨테이너 안에서 실행하는 것&amp;rdquo; 이상으로 만드는 요소들입니다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;양방향 워크스페이스 동기화&lt;/strong&gt;로 절대 경로가 보존됩니다. 프로젝트 구조가 샌드박스 안에서도 동일하게 보입니다. 경로 관련 빌드 실패가 없습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;프라이빗 Docker 데몬&lt;/strong&gt;이 마이크로VM 안에서 실행됩니다. 에이전트는 호스트의 Docker 소켓을 마운트하지 않고도 컨테이너를 빌드하고 실행할 수 있습니다. 보안 측면에서 큰 발전입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP/HTTPS 필터링 프록시&lt;/strong&gt;가 에이전트의 네트워크 접근을 제어합니다. 어떤 레지스트리와 엔드포인트를 허용할지는 여러분이 결정합니다. 샌드박스 내 악의적인 &lt;code&gt;npm install&lt;/code&gt;로 인한 공급망 공격? 차단됩니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;YOLO 모드&lt;/strong&gt; — 네, 정말로 그렇게 부릅니다. 에이전트가 호스트를 말 그대로 손상시킬 수 없기 때문에 권한 프롬프트 없이 실행됩니다. 모든 파괴적 행위가 격리됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="net-개발자가-주목해야-하는-이유"&gt;.NET 개발자가 주목해야 하는 이유&lt;/h2&gt;
&lt;p&gt;지금 수많은 팀이 직면하고 있는 현대화 작업을 생각해 보세요. 30개 프로젝트가 있는 .NET Framework 솔루션이 있고, .NET 9로 마이그레이션해야 합니다. 수백 개의 파일 변경이 필요합니다 — 프로젝트 파일, 네임스페이스 업데이트, API 교체, NuGet 마이그레이션.&lt;/p&gt;
&lt;p&gt;Docker Sandbox를 사용하면 Copilot 에이전트를 프로젝트에 지정하고, 마이크로VM 안에서 자유롭게 리팩터링하게 한 다음, &lt;code&gt;dotnet build&lt;/code&gt;와 &lt;code&gt;dotnet test&lt;/code&gt;로 검증하고, 실제로 작동하는 변경 사항만 받아들일 수 있습니다. 실험 과정에서 로컬 개발 환경을 실수로 망가뜨릴 위험이 없습니다.&lt;/p&gt;
&lt;p&gt;포스트에서는 &lt;strong&gt;병렬 에이전트 플릿&lt;/strong&gt; 운영도 설명합니다 — 각각 자체 샌드박스에서 서로 다른 프로젝트를 동시에 처리합니다. 대규모 .NET 솔루션이나 마이크로서비스 아키텍처에서는 엄청난 시간 절약입니다. 서비스당 에이전트 하나, 모두 격리 실행, 모두 독립 검증.&lt;/p&gt;
&lt;h2 id="보안-관점이-중요하다"&gt;보안 관점이 중요하다&lt;/h2&gt;
&lt;p&gt;대부분의 사람들이 놓치는 점이 있습니다: AI 에이전트에게 임의의 명령 실행을 허용하면, 여러분의 전체 머신을 맡기는 겁니다. Docker Sandbox는 이 모델을 뒤집습니다. 에이전트는 일회용 환경에서 완전한 자율성을 얻습니다. 네트워크 프록시가 승인된 소스에서만 다운로드할 수 있도록 보장합니다. 호스트 파일시스템, Docker 데몬, 자격 증명은 그대로 유지됩니다.&lt;/p&gt;
&lt;p&gt;컴플라이언스 요구사항이 있는 팀 — 대부분의 엔터프라이즈 .NET 기업이 해당합니다 — 에게 이것은 &amp;ldquo;에이전틱 AI를 사용할 수 없다&amp;quot;와 &amp;ldquo;안전하게 도입할 수 있다&amp;quot;의 차이입니다.&lt;/p&gt;
&lt;h2 id="정리"&gt;정리&lt;/h2&gt;
&lt;p&gt;Docker Sandbox는 에이전틱 코딩의 근본적인 긴장을 해결합니다: 에이전트가 유용하려면 자유가 필요하지만, 호스트 머신에서의 자유는 위험합니다. 마이크로VM은 둘 다 가능하게 합니다. 대규모 .NET 리팩터링이나 현대화를 계획하고 있다면, 지금 설정할 가치가 있습니다. Copilot의 코드 인텔리전스와 안전한 실행 환경의 조합은 프로덕션 팀이 기다려온 바로 그것입니다.&lt;/p&gt;</content:encoded></item><item><title>GitHub Copilot의 모더나이제이션 평가는 아직 사용하지 않고 있는 최고의 마이그레이션 도구</title><link>https://thedotnetblog.com/ko/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ko/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</guid><description>GitHub Copilot의 모더나이제이션 확장은 단순히 코드 변경을 제안하는 것이 아니라, 실행 가능한 이슈, Azure 대상 비교, 협업 워크플로가 포함된 완전한 마이그레이션 평가를 생성합니다. 평가 문서가 모든 것의 핵심인 이유를 설명합니다.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;이 글은 자동 번역되었습니다. 원문은 &lt;a href="https://thedotnetblog.com/ko/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/"&gt;여기&lt;/a&gt;에서 확인하세요.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;레거시 .NET Framework 앱을 최신 .NET으로 마이그레이션하는 것은 모두가 해야 한다는 것을 알지만 아무도 시작하고 싶어하지 않는 작업 중 하나입니다. 단순히 &amp;ldquo;대상 프레임워크 변경&amp;quot;으로 끝나지 않습니다. 사라진 API, 더 이상 존재하지 않는 패키지, 완전히 다르게 작동하는 호스팅 모델, 그리고 무엇을 컨테이너화하고, 무엇을 다시 작성하고, 무엇을 그대로 둘지에 대한 수백만 가지 작은 결정이 있습니다.&lt;/p&gt;
&lt;p&gt;Jeffrey Fritz가 &lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;GitHub Copilot의 모더나이제이션 평가에 대한 심층 분석&lt;/a&gt;을 발표했는데, 솔직히? .NET에서 본 최고의 마이그레이션 도구입니다. 코드 생성 때문이 아닙니다 — 그건 이제 기본입니다. 생성하는 평가 문서 때문입니다.&lt;/p&gt;
&lt;h2 id="단순한-코드-제안-엔진이-아닙니다"&gt;단순한 코드 제안 엔진이 아닙니다&lt;/h2&gt;
&lt;p&gt;VS Code 확장은 &lt;strong&gt;평가 → 계획 → 실행&lt;/strong&gt; 모델을 따릅니다. 평가 단계는 전체 코드베이스를 분석하고 모든 것을 캡처하는 구조화된 문서를 생성합니다: 무엇을 변경해야 하는지, 어떤 Azure 리소스를 프로비저닝해야 하는지, 어떤 배포 모델을 사용해야 하는지. 이후의 모든 것 — Infrastructure as Code, 컨테이너화, 배포 매니페스트 — 은 평가 결과에서 흘러나옵니다.&lt;/p&gt;
&lt;p&gt;평가는 프로젝트의 &lt;code&gt;.github/modernize/assessment/&lt;/code&gt;에 저장됩니다. 각 실행은 독립적인 보고서를 생성하므로 이력을 쌓아가며 이슈를 수정함에 따라 마이그레이션 태세가 어떻게 발전하는지 추적할 수 있습니다.&lt;/p&gt;
&lt;h2 id="두-가지-시작-방법"&gt;두 가지 시작 방법&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;권장 평가&lt;/strong&gt; — 빠른 경로. 큐레이션된 도메인(Java/.NET 업그레이드, 클라우드 준비, 보안)에서 선택하고 구성을 건드리지 않고도 의미 있는 결과를 얻습니다. 앱의 현재 상태를 처음 확인하기에 좋습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;사용자 정의 평가&lt;/strong&gt; — 표적화된 경로. 분석할 내용을 정확히 구성: 대상 컴퓨팅(App Service, AKS, Container Apps), 대상 OS, 컨테이너화 분석. 여러 Azure 대상을 선택하여 마이그레이션 접근 방식을 나란히 비교합니다.&lt;/p&gt;
&lt;p&gt;그 비교 뷰는 정말 유용합니다. App Service에서 필수 이슈가 3개인 앱이 AKS에서는 7개일 수 있습니다. 둘 다 보는 것은 마이그레이션 경로를 결정하기 전에 호스팅 결정을 내리는 데 도움이 됩니다.&lt;/p&gt;
&lt;h2 id="이슈-분류는-실행-가능합니다"&gt;이슈 분류는 실행 가능합니다&lt;/h2&gt;
&lt;p&gt;각 이슈에는 심각도 수준이 있습니다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;필수&lt;/strong&gt; — 수정해야 하며, 그렇지 않으면 마이그레이션 실패&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;잠재적&lt;/strong&gt; — 마이그레이션에 영향을 줄 수 있으며, 인간의 판단이 필요&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;선택적&lt;/strong&gt; — 권장 개선 사항, 마이그레이션을 차단하지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;그리고 각 이슈는 영향받는 파일과 줄 번호에 링크되고, 무엇이 잘못되었고 왜 대상 플랫폼에 중요한지에 대한 상세한 설명을 제공하며, 구체적인 수정 단계를 제시하고(&amp;ldquo;이걸 고쳐&amp;quot;가 아닌), 공식 문서 링크를 포함합니다.&lt;/p&gt;
&lt;p&gt;개별 이슈를 개발자에게 전달할 수 있으며, 그들은 조치에 필요한 모든 것을 갖추고 있습니다. 이것이 &amp;ldquo;문제가 있다&amp;quot;고 알려주는 도구와 &amp;ldquo;해결 방법&amp;quot;을 알려주는 도구의 차이입니다.&lt;/p&gt;
&lt;h2 id="다루는-업그레이드-경로"&gt;다루는 업그레이드 경로&lt;/h2&gt;
&lt;p&gt;.NET 구체적으로:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.NET Framework → .NET 10&lt;/li&gt;
&lt;li&gt;ASP.NET → ASP.NET Core&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;각 업그레이드 경로에는 어떤 API가 제거되었는지, 어떤 패턴에 직접적인 등가물이 없는지, 어떤 보안 이슈에 주의가 필요한지 아는 탐지 규칙이 있습니다.&lt;/p&gt;
&lt;p&gt;여러 앱을 관리하는 팀을 위해 다중 레포 배치 평가를 지원하는 CLI도 있습니다 — 모든 레포를 클론하고, 전부 평가하고, 앱별 보고서와 통합된 포트폴리오 뷰를 얻을 수 있습니다.&lt;/p&gt;
&lt;h2 id="제-의견"&gt;제 의견&lt;/h2&gt;
&lt;p&gt;레거시 .NET Framework 앱을 보유하고 있다면(솔직히, 대부분의 엔터프라이즈 팀이 그렇습니다), 이것이 시작해야 할 &lt;em&gt;바로 그&lt;/em&gt; 도구입니다. 평가 문서만으로도 시간 투자의 가치가 있습니다 — 모호한 &amp;ldquo;현대화해야 한다&amp;quot;를 명확한 전진 경로가 있는 구체적이고 우선순위가 매겨진 작업 항목 목록으로 변환합니다.&lt;/p&gt;
&lt;p&gt;협업 워크플로도 영리합니다: 평가를 내보내고, 팀과 공유하고, 재실행 없이 가져옵니다. 의사결정자가 도구를 실행하는 사람이 아닌 아키텍처 리뷰? 커버됩니다.&lt;/p&gt;
&lt;h2 id="마무리"&gt;마무리&lt;/h2&gt;
&lt;p&gt;GitHub Copilot의 모더나이제이션 평가는 .NET 마이그레이션을 무섭고 정의되지 않은 프로젝트에서 구조화되고 추적 가능한 프로세스로 변환합니다. 권장 평가로 시작하여 현재 위치를 확인한 다음, 사용자 정의 평가로 Azure 대상을 비교하고 마이그레이션 계획을 수립하세요.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;전체 워크스루&lt;/a&gt;를 읽고 &lt;a href="https://aka.ms/ghcp-appmod/vscode-ext"&gt;VS Code 확장&lt;/a&gt;을 받아 자신의 코드베이스에서 사용해 보세요.&lt;/p&gt;</content:encoded></item></channel></rss>