AWS Transform for .NET 출시

이번에 AWS에서 Amazon Q Developer의 연장선상으로, 기존의 Mono/.NET Framework 기반 애플리케이션 중 ASP .NET MVC로 작성된 웹 애플리케이션을 .NET 8/9으로 포팅하는 것을 돕는 Transform for .NET을 출시했습니다.

다만 아쉽게도 (그리고 당연하게도) Web Form이나 Windows Forms, WPF 기반 애플리케이션의 Transform을 수행하지는 못하며, 주로 .NET Core 이후로도 공통적으로 유지되는 MVC와 Web API 위주로 초점이 맞추어진 지원이 특징입니다. 그럼에도, 개발자의 시간과 리소스를 절약하는데 도움을 줄 수 있고, 기존 클라우드 인프라가 AWS 기반으로 구축되어있는 경우 큰 도움을 받을 수 있는 서비스이므로 참고하시면 좋을 것 같습니다.


아래는 블로그 포스트의 내용을 간추린 요약본입니다. (by ChatGPT 4o)

AWS는 2025년 5월 15일, 대규모 .NET 애플리케이션 현대화를 위한 최초의 에이전트 기반 AI 서비스인 AWS Transform for .NET의 정식 출시를 발표했습니다. 이 서비스는 기존의 Windows 기반 .NET Framework 애플리케이션을 리눅스에서 실행 가능한 크로스 플랫폼 .NET으로 자동 변환하여, 현대화 속도를 최대 4배 향상시키고 운영 비용을 최대 40% 절감할 수 있도록 지원합니다 .


주요 기능 및 특징

1. 대규모 현대화를 위한 웹 기반 경험

  • 코드 리포지토리 연결: GitHub, GitLab, Bitbucket 등의 소스 코드 리포지토리에 직접 연결하여 애플리케이션을 자동으로 분석하고 변환합니다.
  • 자동화된 작업 플랜: 리포지토리의 종속성, 프로젝트 유형, 수정 이력 등을 기반으로 최적의 변환 순서를 제안합니다.
  • 자동 코드 변환 및 테스트: 코드 변환 후 자동으로 빌드하고 유닛 테스트를 실행하며, 결과를 새로운 브랜치에 커밋합니다 .

2. 개발자 중심의 Visual Studio 통합

  • AWS Toolkit 확장: Visual Studio에서 AWS Transform 기능을 직접 사용할 수 있도록 지원합니다.
  • 개별 프로젝트 변환: 솔루션 탐색기에서 프로젝트별로 변환을 실행하고, 코드 변경 사항을 로컬에서 검토할 수 있습니다.

3. 다양한 프로젝트 유형 지원

  • 지원 대상: MVC, WCF, Web API, 클래스 라이브러리, 콘솔 앱, 유닛 테스트 프로젝트 등 다양한 .NET 프로젝트 유형을 지원합니다.
  • NuGet 패키지 처리: 공개 및 비공개 NuGet 패키지 종속성을 자동으로 처리하며, 누락된 패키지는 업로드하여 해결할 수 있습니다.

4. 운영 비용 절감 및 성능 향상

  • 비용 절감: Windows Server 라이선스 비용을 줄이고, 리눅스 기반의 크로스 플랫폼 .NET으로 이전하여 운영 비용을 최대 40% 절감할 수 있습니다.
  • 성능 향상: AWS Graviton 기반 인스턴스를 활용하여 최대 40% 향상된 가격 대비 성능을 제공합니다 .

활용 사례

  • GTI (Grupo Tress Internacional): .NET Framework 애플리케이션을 .NET 8로 변환하여 현대화 작업량을 70% 절감하고, 전체 개발 시간과 노력을 최대 80%까지 줄였습니다.
  • Caribbean Examinations Council: 143,000줄 이상의 .NET Framework 코드를 이틀 만에 크로스 플랫폼 .NET으로 변환하여 약 270시간의 개발 시간을 절약했습니다 .

지원 지역

현재 AWS Transform for .NET은 **미국 동부(버지니아 북부)**와 유럽(프랑크푸르트) 리전에서 이용 가능합니다 .


결론

AWS Transform for .NET은 대규모 .NET 애플리케이션 현대화를 자동화하고 가속화하여, 기업이 기술 부채를 줄이고 최신 클라우드 환경으로의 전환을 원활하게 할 수 있도록 지원합니다. 특히, 에이전트 기반의 AI 서비스를 통해 복잡한 변환 작업을 간소화하고, 개발자의 생산성을 높이며, 운영 비용을 절감할 수 있습니다.

2개의 좋아요

개인적인 의견: 완전히 자동화할 수는 없겠지만, 이 Transform 도구로 커버하지 못하는 시나리오에 대한 전략적인 대체안은 아래와 같은 것들이 있을 수 있겠습니다.

  • Windows Forms, WPF: 직접적인 1:1 대응 관계가 되진 못하겠으나, Avalonia, 그리고 예산 집행이 가능한 경우 XPF로의 마이그레이션이 검토 가능한 방법이 되겠습니다.
  • Web Forms: CoreWebForms, CoreForms가 대안이 될 수 있으며, 장기적으로는 Blazor로의 마이그레이션이 현실적입니다. 특히 Blazor의 경우 Web Form용으로 상용 컴포넌트를 출시하던 업체들 대부분이 Blazor로도 상용 컴포넌트를 출시했기 때문에 상용 컴포넌트의 부재로 인한 공수 폭증을 방어할 수 있습니다.
  • OWIN: ASP .NET MVC와 ASP .NET Core 사이의 전환기에 도입된 오픈 소스 프레임워크로, OWIN의 비즈니스 로직만 추출해서 Minimal API나 ASP .NET Core Middleware로 이관하는 것이 작업량을 줄이는데 도움이 될 것입니다.