AWS 기술 블로그

놀유니버스의 AWS Transform for .NET과 Amazon Q Developer를 활용한 .NET 현대화 성공 사례

현대 기업들이 디지털 전환을 가속화하면서, 레거시 애플리케이션의 현대화는 더 이상 선택이 아닌 필수가 되었습니다. 특히 .NET 애플리케이션의 현대화는 많은 기업들이 직면한 공통 과제입니다. 이 글을 통해 놀유니버스가 AWS Transform for .NETAmazon Q Developer를 활용하여 어떻게 .NET 현대화 프로젝트에서 획기적인 성과를 달성했는지 그 여정을 공유하고자 합니다.

[NoUniverse 소개 페이지: https://nol-universe.com/about]

놀유니버스(NOL UNIVERSE)는 야놀자 플랫폼과 인터파크트리플의 통합 법인으로, ‘놀고 싶을 때 가장 먼저 떠오르는 친구’이자 삶을 다채롭게 채우는 ‘Life Motivator‘입니다.

NOL, NOL 인터파크투어, NOL 티켓, 트리플을 중심으로 항공·숙소·교통 등 여행의 모든 과정부터 공연·전시·스포츠 등 여가 생활까지, 일상과 비일상을 아우르는 다채로운 경험을 선사합니다. 놀유니버스는 대한민국 대표 여행·여가·문화 종합 플랫폼으로서, 방대한 데이터와 개인화 AI 기술을 결합하여 고객 경험의 혁신을 이어가고 있습니다.

현대화가 필요 했던 이유

놀유니버스가 .NET 현대화를 결정한 주요 이유는 다음과 같습니다:

  • 기술적 한계: .NET Framework는 4.8 이후 사실상 기능 업데이트가 종료된 상태였으며, .NET 8.0은 장기 지원 버전으로 새로운 C# 언어 기능과 성능 최적화를 제공합니다.
  • 플랫폼 제약: 기존 .NET Framework는 Windows 전용인 반면, .NET 8.0은 크로스 플랫폼을 지원해 Docker 등 클라우드 네이티브 환경으로의 전환이 가능합니다.
  • 인력 문제: .NET 환경 전문가 육성 및 채용의 어려움이 있었습니다.
  • 자원 제약: 운영 업무 대응으로 대규모 코드 전환에 필요한 시간과 개발자가 부족한 상황이었습니다.
  • 레거시 시스템: 문서화 부족으로 레거시 시스템의 구조 이해가 어려웠습니다.

현대화 전략

[AWS Transform for .NET과 Amazon Q Developer를 이용한 현대화 전략 아키텍처]

기존 아키텍처의 한계

  • 인프라 및 운영 측면의 한계
    • 기존 IDC 환경에서 운영되던 IIS 기반 ASP.NET MVC 애플리케이션은 확장성과 운영 효율성 측면에서 제약을 보였습니다. 트래픽 급증 시 하드웨어 증설에 수주가 소요되어 즉각적인 대응이 불가능했고, Windows Server 패치 적용 시마다 계획된 다운타임이 발생했습니다.
  • 애플리케이션 아키텍처의 문제점
    • .NET Framework 4.x에 종속된 기술 스택으로 인해 비동기 처리, 현대적 의존성 주입 등 최신 개발 패러다임을 적용하기 어려웠습니다.
  • 보안 및 컴플라이언스 취약점
    • 온프레미스 환경의 보안 관리는 전문 인력 부족과 도구의 한계로 인해 많은 취약점을 노출했습니다. 오래된 프레임워크 구조상 최신 웹 보안 위협에 대한 능동적인 대처가 필요했고, 각 서버별로 분산된 로그 시스템으로 인해 통합적인 보안 모니터링과 감사를 강화해야 하는 과제가 있었습니다. 수동으로 관리되는 백업 시스템의 암호화 및 접근 제어 미흡으로 컴플라이언스 요구사항 충족에 어려움을 겪었습니다.

AWS Transform for .NET 활용을 통한 코드 전환 시작

AWS Transform for .NET은 레거시 .NET Framework 애플리케이션을 현대적인 크로스플랫폼 .NET 환경으로 자동 변환해주는 AI 기반 마이그레이션 도구입니다. 복잡한 의존성 분석부터 코드 변환, 컨테이너화 준비까지 전체 현대화 프로세스를 자동화하여 수개월이 걸리던 작업을 수주 내로 단축시킵니다. 특히 대규모 엔터프라이즈 애플리케이션의 경우 수백만 라인의 코드도 병렬 처리를 통해 효율적으로 변환할 수 있어, 기존 수동 마이그레이션 대비 3-5배의 생산성 향상을 제공합니다.

[AWS 콘솔에서 제공하는 AWS Transform 웹 인터페이스]

놀유니버스는 이 AWS Transform for .NET을 활용하여 150만 라인의 코드와 1,500개의 소스 파일을 단 10시간만에 성공적으로 분석하고 변환했습니다 . 특히 복잡하게 얽힌 종속적인 프로젝트들을 개별적으로 처리하는 대신, AWS Transform의 병렬 처리 기능을 활용하여 모든 프로젝트를 한번에 동시 변환함으로써 의존성 충돌 없이 성공적인 빌드를 달성했습니다.

Amazon Q Developer 활용을 통한 코드 전환 마무리

Amazon Q Developer는 AWS에서 제공하는 AI 기반 개발 어시스턴트로, 코드 생성, 테스트 작성, 버그 수정, 코드 최적화 등 개발 전 과정을 지원합니다. IDE 플러그인과 CLI를 통해 개발자의 워크플로우에 자연스럽게 통합되어 실시간으로 코드 제안과 문제 해결 방안을 제공하며, 특히 AWS 서비스와의 통합 개발 시 최적화된 코드 패턴 과 보안 모범 사례를 자동으로 적용해줍니다. 런타임 오류 분석부터 성능 최적화 제안까지, 개발자가 고품질 코드를 빠르게 작성할 수 있도록 포괄적인 AI 지원을 제공 합니다.

놀유니버스는 AWS Transform으로 변환된 코드의 품질과 안정성을 보장하기 위해 Amazon Q Developer/CLI를 적극 활용했습니다. Q Developer의 AI 기반 테스트 생성 기능을 통해 변환된 150만 라인의 코드에 대한 단위 테스트와 통합 테스트를 자동으로 작성하여 코드 커버리지를 확보했으며, .NET Framework에서 크로스플랫폼 .NET으로의 변환 과정에서 발생한 런타임 오류들을 Q Developer CLI의 지능형 분석을 통해 신속하게 식별하고 해결했습니다. 이를 통해 수동으로 수주가 걸릴 테스트 코드 작성과 오류 수정 작업을 단 며칠 만에 완료하여 전체 현대화 프로젝트의 품질과 속도를 동시에 향상시킬 수 있었습니다.

ECS 기반의 애플리케이션 컨테이너화

Amazon ECS(Elastic Container Service)는 AWS에서 제공하는 완전 관리형 컨테이너 오케스트레이션 서비스로, Docker 컨테이너를 쉽게 배포, 관리, 확장할 수 있게 해 줍니다. 기존 IIS 기반 애플리케이션과 달리 컨테이너 단위로 애플리케이션을 격리하여 배포할 수 있어 무중단 배포, 자동 스케일링, 장애 복구 등이 가능하며, AWS의 다른 서비스들과 긴밀하게 통합되어 로드밸런서, 보안 그룹, IAM 등을 통한 엔터프라이즈급 보안과 네트워킹을 제공합니다. 특히 크로스플랫폼 .NET 애플리케이션의 경우 Linux 컨테이너로 실행하여 라이선스 비용을 절감하고 성능을 향상시킬 수 있어 레거시 Windows 환경에서 벗어나는 현대화 전략의 핵심 구성 요소입니다.

놀유니버스는 AWS Transform으로 현대화된 .NET 애플리케이션을 리눅스 컨테이너로 패키징하여 기존 Windows Server 의존성을 완전히 제거하고 라이선스 비용을 절감했습니다. GitHub Actions를 활용한 CI/CD 파이프라인을 구축하여 코드 커밋 시 자동으로 Docker 이미지를 빌드하고 Amazon ECR에 푸시한 후 ECS 서비스로 무중단 배포하는 완전 자동화된 배포 프로세스를 구현했습니다. 이를 통해 기존 IIS 환경에서 수동으로 진행되던 배포 작업을 완전히 자동화하고, ECS의 자동 스케일링과 로드 밸런싱 기능을 활용하여 트래픽 변화에 탄력적으로 대응할 수 있는 현대적인 컨테이너 기반 아키텍처를 성공적으로 구축했습니다.

결론 및 향후 계획

주요 성과

  • 생산성 3배 증가
    • 6주간의 스프린트를 통해 빠른 시간 안에 예상치 못한 대규모 프로젝트의 분석 및 전환 작업을 성공적으로 진행할 수 있었고, 과거 진행했던 동일 작업 대비 약 3배 빠르게 마무리 할 수 있었습니다.
  • 비용 절감 50% 감소
    • .NET 현대화 과정에서 동일 업무 소요 공수를 6MM에서 3MM으로 단축하여 약 50% Man/Month 비용 절감 효과를 달성했습니다.
  • 플레이북 구축을 통한 확장성
    • 레거시 Microsoft 워크로드를 위한 재사용 가능하고 확장 가능한 현대화 가이드를 수립하여 향후 유사한 프로젝트에 활용할 수 있는 체계적인 방법론을 확보했습니다.

놀유니버스의 .NET 현대화 프로젝트는 AWS의 AI 기반 도구들을 활용하여 레거시 시스템을 현대적인 클라우드 네이티브 환경으로 성공적으로 전환한 모범 사례입니다. 앞으로 Microsoft SQL Server 현대화를 포함한 추가적인 현대화 작업을 통해 더욱 안정적이고 효율적인 IT 인프라를 구축해 나갈 예정입니다. 이러한 지속적인 현대화 노력을 통해 놀유니버스는 디지털 혁신을 가속화하고 고객에게 더 나은 서비스를 제공할 수 있을 것입니다. 구축된 현대화 플레이북을 기반으로 다른 레거시 시스템들의 체계적인 현대화를 진행하여 전사적인 디지털 전환을 완성해 나갈 계획입니다.

본 글은 공개된 자료 및 가이드라인을 기반으로 작성되었으며, 일반적인 서비스 구현 경험 및 개발 인사이트 공유를 목적으로 하고 있습니다. 예시코드, 명칭, 성능 지표, 데이터 등은 모두 실제 서비스 코드 및 내부 데이터와 무관하며, 외부 공개 가능한 수준으로 재가공/범주화 되었습니다.

따라서 본 글은 특정 서비스의 기술적 세부 내용이나 회사의 고유 노하우를 담고 있지 않으며, 일반적인 개발 지식 공유 차원에서 작성된 것으로,놀유니버스는 AWS의 서비스나 제품에 관하여 판매 제안, 권유, 조언 등을 하지 않습니다. 아울러AWS의 제품이나 서비스에 관한 특정 업무 적합성, 타당성 등에 관한 책임을 부인하며 어떠한 보증(명시적, 묵시적)도 하지 않음을 알려 드립니다.

황인범

NOL Universe에서 NOL 티켓의 기술 리드를 담당하고 있습니다. NOL 티켓이 어떤 티케팅 플랫폼보다 빠르게 변화할 수 있도록 돕고 있습니다.

배성민

NOL 티켓 백엔드 팀에서 서비스 곳곳을 연결하며 가치를 더하는 개발을 하고 있습니다. 폭넓은 서비스 이해도를 바탕으로, 팀원들과 유기적으로 협업하며 더 효율적이고 단단한 구조를 만들어가고 있습니다.

오하린

놀유니버스 엔터 BE팀에서 Backend 개발을 담당하고 있습니다. 즐겁고 긍정적인 분위기 속에서 협업하며 효율적인 시스템을 만들어가는 일, 그리고 더 나은 구조와 사용자 경험을 고민하는 과정에서 큰 보람을 느낍니다.

Hyunsoo Cho

Hyunsoo Cho

조현수 솔루션즈 아키텍트는 이커머스/금융/SaaS 산업군에서 소프트웨어 개발자 경험을 바탕으로 디지털 기업의 다양한 요구사항에 적합한 아키텍처를 설계하고, AWS 기반의 제품과 서비스 개발에 도움을 주는 역할을 수행하고 있습니다.

Byung Chun Kang

Byung Chun Kang

강병천 솔루션즈 아키텍트는 오랜 기간 현업에서 다양한 분야의 윈도우 기반 애플리케이션에 대한 개발 및 디버깅을 전문적으로 다뤄온 경험을 가지고 있으며, 현재는 Microsoft 제품에서 수행하는 애플리케이션과 서비스들을 클라우드 환경으로 마이그레이션하는 분야에서 고객분들께 도움을 드리고 있습니다.

Andy Cho

Andy Cho

조현호 커스터머 솔루션즈 매니저는 기술적 프로젝트 관리를 통해 고객의 대규모 마이그레이션 및 현대화 목표 달성 가속화를 지원하고 있습니다.

Dongcheol Ryu

Dongcheol Ryu

류동철 솔루션스 아키텍트는 다양한 산업군에서의 Microsoft worklods 경험을 바탕으로 현재는 AWS 파트너사들의 MS 기술 역량 강화와 MS 워크로드 기반 클라우드 시스템 설계 등의 업무를 지원하고 있습니다.