AWS 기술 블로그
W컨셉, AWS Transform과 Kiro로 .NET 10까지 대규모 현대화 여정
W컨셉은 ‘알려지지 않은 우수한 국내 디자이너 브랜드 판로를 개척한다’는 목표로 설립되어 국내 디자이너 브랜드를 가장 먼저 발굴해 온 대한민국 대표 패션 플랫폼입니다.

W컨셉은 패션, 뷰티, 라이프스타일에 이르기까지 독창적인 디자인과 감성을 담은 디자이너 브랜드의 의류·잡화부터 취향을 넓히는 라이프스타일 아이템까지 스타일을 완성하는 차별화된 경험을 선사합니다. W컨셉은 대한민국 대표 패션·라이프스타일 플랫폼으로, 독보적인 브랜드 큐레이션과 고객 데이터를 결합하여 패션 커머스의 혁신을 이어가고 있습니다.
패션 이커머스 플랫폼 W컨셉은 약 160만 라인 이상의 코드 라인(총 1,613,895 코드 라인)의 레거시 .NET 환경에서 구동되는 애플리케이션을 운영하고 있었습니다. W컨셉은 먼저 플랫폼 업그레이드를 통한 이점에 집중했습니다. 최신 플랫폼인 .NET 10 전환으로 얻을 수 있는 성능 향상, 생산성 극대화, 그리고 현대적 인프라 활용을 통한 확장성을 동시에 확보하는 것입니다. W컨셉의 목표는 단순한 버전 업그레이드에 그치지 않고, Windows 기반 인프라를 비용 효율적인 Linux 기반 아키텍처로 전환하여 실질적인 비용 절감까지 달성하는 것이었습니다.
해당 프로젝트는 2026년 5월 14일 착수 미팅(Kick-off meeting)을 시작으로 경험 기반 가속화(EBA, Experience-Based Acceleration) 프로세스에 따라 진행되었고, 7월 2일까지 약 7주 만에 코드 변환부터 컨테이너화, Amazon ECS 배포에 이르는 주요 현대화 작업을 완수했습니다. 이 여정의 중심에는 AWS Transform for .NET, AWS Transform for Containerization, 그리고 AI 코드 어시스턴트인 Kiro가 있었습니다. 이 글에서는 그 과정에서 얻은 전략과 교훈을 공유합니다.
사전 진단
현대화에 앞서 사전 평가 과정을 통해 애플리케이션의 구조와 특성을 파악했습니다.

그림 1 아키텍처 구성의 전환
목표가 단순한 .NET 10 전환을 넘어 운영 환경의 Linux 전환을 통한 비용 절감이었기 때문에, Windows 종속적인 요소를 사전에 식별하는 것이 핵심 과제였습니다. 평가 과정에서 W컨셉이 현대화를 대비해 미리 준비해 둔 몇 가지 아키텍처 요소를 확인했고, 이는 프로젝트 전체의 속도를 좌우하는 결정적인 이점이 되었습니다.
첫 번째는 본인인증/결제 COM+ 모듈의 API 분리입니다. COM+는 대표적인 Windows 종속 기술입니다. W컨셉은 본인인증/결제(Payment)에 해당하는 COM+ 모듈을 사전에 API 형태로 분리해 두었고, 덕분에 Linux 전환의 가장 큰 걸림돌이 이미 제거된 상태에서 프로젝트를 시작할 수 있었습니다.
두 번째는 Private NuGet Packages의 .NET Standard 기반 구성입니다. .NET Standard 기반 라이브러리는 여러 아키텍처를 지원하는 호환성 중심으로 설계되어 있어, .NET 현대화와 멀티 아키텍처 지원에 큰 이점을 제공했습니다.
세 번째는 파일 업로드 서비스의 Amazon S3/Amazon CloudFront 전환입니다. 기존 Windows Server는 SMB 프로토콜 방식을 통해 이미지 서버로 파일을 업로드하고 있었고, 이는 전환되는 신규 아키텍처 및 보안 등의 문제점을 고려하여 기존 SMB 프로토콜 방식 대신 S3 업로드 및 CloudFront를 통한 CDN 서비스까지 전환을 완료하여 프로젝트 진행 과정에서 발생할 수 있는 예외 요소를 차단하였습니다.
코드 현대화: AWS Transform for .NET과 Kiro의 하이브리드 전략
코드 변환의 중심 도구는 AWS Transform for .NET이었습니다. 이 도구를 이용한 변환은 무료로 제공되어 비용 부담 없이 활용할 수 있었고, 특히 Visual Studio IDE환경에서 AWS Transform for .NET을 이용하여 변환 시 자율 모드(Autonomous Mode) 덕분에 코드 현대화 변환 작업이 개발자의 일상 업무와 병렬로 진행될 수 있었습니다. 변환이 진행되는 동안에도 개발팀은 기존 업무를 계속할 수 있어 전반적인 업무 효율화를 달성했습니다.
전체 변환 대상은 약 백만 코드 라인에 육박했고, 라이브러리 프로젝트 간의 복잡한 종속성과 다수의 UI 페이지로 구성된 크고 복잡한 프로젝트였습니다. W컨셉 개발팀은 이런 대규모 프로젝트를 효율적으로 변환하기 위해 변환 범위를 라이브러리 프로젝트와 UI 프로젝트로 분리하는 자체 변환 전략을 수립했습니다.
먼저 라이브러리 프로젝트는 AWS Transform for .NET을 통해 빠른 시간 내에 변환을 완료했습니다. 반면 다수의 페이지로 구성된 UI 프로젝트는 AWS Transform의 산출물을 Kiro의 Context 입력으로 활용하여 변환을 마무리하는 방식을 택했습니다. 구체적으로는 AWS Transform for .NET이 제공하는 변환 계획(Modernization Plan)과 추가 작업(Next Steps)에 대한 마크다운 파일 산출물을 확보한 뒤, 해당 산출물을 Kiro의 Context 입력으로 제공하고, AI 코드 어시스턴트인 Kiro가 UI 프로젝트를 포함한 전체 현대화 작업을 마무리하는 워크플로우입니다.
이렇게 대량의 반복 변환을 자동 검증까지 수행하는 AWS Transform for .NET에는 라이브러리를, 페이지별 확인과 수정이 필요한 작업에 강한 Kiro에는 UI를 맡겨 분업함으로써, 대규모 코드 변환의 전체 소요 시간을 효과적으로 단축할 수 있었습니다.
컨테이너화와 배포 전략
코드 변환이 마무리된 후에는 AWS Transform for Containerization을 이용해 애플리케이션의 두 가지 UI 영역, 즉 Web/Mobile 버전과 PC 버전에 대한 컨테이너화를 수행하고, Dockerfile 등의 컨테이너화 산출물을 확보했습니다.
배포 단계에서 주목할 점은 기존 CI/CD 자산을 그대로 재활용했다는 것입니다. 이미 운영 중이던 Jenkins 파이프라인에 AWS Transform이 생성한 Dockerfile 등의 산출물을 통합했고, 이를 통해 운영 프로세스의 변화를 최소화하면서 Amazon ECS에 Linux 기반 컨테이너 형태로 배포를 완료했습니다. 이로써 프로젝트의 두 번째 목표였던 비용 절감 관점의 인프라 전환까지 달성했으며, 배포된 애플리케이션은 QA팀의 테스트를 통해 품질 검증을 마쳤습니다.
코드 변환 이후부터 서비스 프로덕션 배포까지 Kiro의 활용
Kiro는 이번 프로젝트에서 단순히 코드 변환의 마무리 작업 역할만 담당한 것은 아닙니다.
- OS 환경의 변경으로 인한 간단한 대/소문자 오류부터 .NET 10으로 전환 이후 런타임 환경에서 발생되는 다양한 오류를 효과적으로 분석하고 처리하는 과정
- AWS Transform이 생성한 Dockerfile을 프로젝트 환경에 맞게 Customizing 하고 배포 파이프라인에 기존 서비스 자원을 통합하는 과정
- JMeter와 Datadog을 활용한 성능 테스트의 디테일한 시나리오 작성과 테스트 과정에서 발생한 중요한 문제점을 최적의 가이드를 통해 해결하는 과정
이러한 과정마다 Kiro와 함께했고, 최종 QA 검증을 통해 프로덕션 배포까지 진행되는 동안 높은 완성도와 함께 주목한 점은 단계마다 상당한 시간이 소요될 수 있는 작업을 Kiro라는 AI 기반 에이전틱 IDE를 통해 많은 부분 단축하며 해낸 부분입니다.
주요 성과
결론적으로 이번 EBA를 통해 .NET 현대화를 진행하면서 얻은 주요 성과는 다음과 같습니다.
- .NET 10 버전 현대화 완료
- Windows Server 기반 EC2에서 Linux 기반 Amazon ECS 컨테이너로 전환하여, 라이선스비용 절감
- AWS Transform을 통해 마이그레이션 공수 90% 절감/Windows 대비 비용 효율적인 Linux 기반
- AWS Transform for .NET(무료)과 Kiro 연계의 라이브러리/사용자 인터페이스(UI) 프로젝트 분리 변환으로 변환 시간 단축
- AWS Transform for Containerization으로 Mobile 및 PC Web 버전 컨테이너화
- 기존 Jenkins CI/CD 파이프 라인 재활용 및 Amazon ECS Linux 컨테이너 배포
- QA팀 테스트 완료를 통한 품질 검증
- EBA 프로세스 기반, 약 7주 만에 주요 현대화 작업 완수
특히, EBA프로그램을 통한 애플리케이션의 성공 요인으로 다음의 세가지를 들 수 있습니다
첫째, 사전 아키텍처 준비의 중요성입니다. Windows 종속 요소(COM+)의 API 분리와 .NET Standard 기반 라이브러리 구성이 현대화의 결정적 이점으로 작용했습니다. 사전 아키텍처 정비가 현대화의 속도를 좌우합니다.
둘째, 도구 간 역할 분담입니다. 자동화 도구(AWS Transform)로 라이브러리를 빠르게 변환하고, 그 산출물을 AI 코드 어시스턴트(Kiro)의 Context로 활용해 UI 프로젝트를 마무리하는 하이브리드 전략이 대규모 변환의 효율을 극대화했습니다.
셋째, 기존 자산의 재활용입니다. 기존 Jenkins CI/CD 파이프라인을 유지하면서 컨테이너화 산출물을 통합해, 운영 변화 부담을 최소화하며 Linux 전환을 달성했습니다.
지속 가능한 현대화를 위한 제언
이번 EBA에서 축적한 경험은 유사 프로젝트의 반복적인 현대화에 일정한 패턴으로 학습·재사용할 수 있습니다. W컨셉이 자체적으로 현대화를 지속하기 위한 두 가지 방안을 제시합니다.
하나는 검증된 변환 패턴의 반복 적용입니다. AWS Transform for .NET의 자율 모드 (Autonomous Mode)로 개발자 업무와 병렬로 1차 코드 변환을 수행한 뒤, AWS Transform의 산출물(변환 계획·추가 작업)을 Kiro와 같은 AI 코드 어시스턴트의 Context로 학습시켜 추가 변환을 마무리하는 방식입니다. 이 “자동 변환(AWS Transform) → 산출물 기반 AI 마무리(Kiro)” 하이브리드 패턴은 향후 유사 프로젝트에서 지속적으로 재사용 가능한 방법론입니다.
다른 하나는 특성화 테스트(Characterization Testing) 기반 검증입니다. 변환이 정상적으로 완료되었는지 확인하는 테스트 작업은 Kiro의 스펙(Spec) 기반 테스트 프로젝트 생성 기능의 도움을 받아 진행할 수 있습니다. 요구사항을 스펙으로 정의하면 Kiro가 이에 맞는 테스트 프로젝트의 골격과 테스트 코드를 생성해 주므로, 특성화 테스트를 처음 도입하는 팀도 낮은 진입 장벽으로 시작할 수 있습니다. 진행 순서는 다음과 같습니다.
- Golden Master 확보: 레거시 코드의 기존 동작을 기준(Baseline)으로 하는 테스트 코드 작성
- 변환 코드에 동일 테스트 적용: 변환된 코드에 동일한 테스트를 실행하여 성공여부 검증
- 기능 동등성 보장: 변환 코드가 레거시 기능을 온전히 동등하게 수행함을 검증
특히 Kiro를 통해 Playwright 테스트 프로젝트를 생성하면 이 과정을 한층 수월하게 진행할 수 있습니다. 레거시 애플리케이션을 대상으로 Playwright 기반의 엔드 투 엔드 테스트를 생성해 Golden Master를 확보하고, 변환된 코드에 동일한 테스트를 실행하여 기능이 유지되는지 확인합니다. 만약 실패하는 테스트가 있다면 “기존 기능의 동등성이 보장되도록 문제를 해결해 달라”고 Kiro에게 자연어로 요청하는 것만으로 원인 분석과 코드 수정까지 이어지는 사이클을 반복할 수 있습니다. 이처럼 테스트 생성부터 검증, 수정까지 AI의 도움을 받을 수 있어, 기존에는 부담이 컸던 특성화 테스트를 보다 쉽게 현대화 프로세스에 정착시킬 수 있습니다.
이 검증 방식을 변환 프로세스에 적용하면, 레거시 기능의 동등성을 체계적으로 보장하면서 보다 효율적으로 현대화를 지속할 수 있습니다.
마무리
W컨셉의 사례는 대규모 .NET 애플리케이션의 현대화가 더 이상 수년 단위의 프로젝트가 아님을 보여줍니다. 사전 아키텍처 준비, 자동화 도구(AWS Transform)와 AI 코드 어시스턴트(Kiro)의 역할 분담, 그리고 기존 CI/CD 자산의 재활용이라는 세 가지 축이 맞물리며, 160만 라인 이상의 코드 규모의 애플리케이션을 7주 만에 .NET 10과 Linux 환경으로 옮길 수 있었습니다. .NET 현대화를 고민하고 있다면, 무료로 제공되는 AWS Transform for .NET으로 첫걸음을 시작해 보시기 바랍니다.