닷넷 개발자를 혹하게 하는 AWS 포트폴리오

2025-01-18

닷넷 플랫폼은 2015년 오픈소스 프로젝트로 바뀐 후 윈도우뿐 아니라 리눅스, 맥OS 등도 지원하는 크로스플랫폼이다. 클라우드 환경에서도 닷넷은 마이크로소프트 애저뿐 아니라 여러 클라우드 서비스의 앱 플랫폼 역할을 하고 있다. 이에 클라우드 서비스업체는 닷넷을 지원하는 다양한 서비스와 도구를 제공한다. 특히 상당한 규모의 닷넷 사용자를 수용해온 아마존웹서비스(AWS)는 오히려 마이크로소프트보다 기술 지원에 적극적으로 나설 정도다.

AWS는 지난 수년 동안 여러 닷넷 관련 혁신 소식을 내놨고, 작년 12월초 개최된 AWS의 연례 컨퍼런스 ‘AWS 리인벤트 2024’에서도 닷넷 개발자를 위한 신규 기능을 다수 선보였다. 작년 닷넷콘 한국행사에 메인스폰서로 나섰던 AWS는 올해초 개최된 연례 행사 ‘닷넷콘2025x서울’에도 메인스폰서로 지원했다. 이정도면 AWS가 마이크로소프트보다 더 닷넷에 애정을 쏟는 것처럼 보인다.

AWS의 860여개에 달하는 EC2 인스턴스 유형 중 닷넷을 지원하는 인스턴스가 485개다. 255종의 윈도우 AMI를 제공하며, 닷넷 및 SQL서버를 사전구성한 리눅스 AMI 40종을 제공한다. 어떤 AWS의 클라우드 빌딩블록을 사용하더라도 닷넷 환경을 구축하는데 문제가 없다. 매니지드형 서비스, 서버리스 서비스 등에서도 닷넷을 풍부하게 지원한다. 컨테이너든 가상머신이든, 리눅스든, 쿠버네티스든 닷넷을 활용하도록 지원하고 있다. 닷넷 개발자를 위한 AWS의 개발도구도 다양하다. 통합개발환경(IDE), 소프트웨어개발키트(SDK), 커맨드라인도구, CI/CD 도구, 마이그레이션 도구 등을 제공받을 수 있다.

IDE 통합으로 비주얼스튜디오용 AWS 툴킷, 비주얼스튜디오코드용 AWS 툴킷, 젯브레인 라이더용 AWS 툴킷 등을 쓸 수 있다. SDK로 ‘닷넷용 AWS SDK’를 제공하는데, 이는 닷넷코어와 닷넷프레임워크 모두 지원한다. ‘닷넷용 AWS CDK’도 제공한다. 커맨드라인 도구는 AWS CLI, 닷넷 CLI 익스텐션, 파워셸용 AWS 툴, AWS SAM 등을 이용할 수 있다. CI/CD 통합에 애저 데브옵스용 AWS 툴, 아마존 코드카탈리스트, AWS 코드파이프라인/코드빌드 등을 이용할 수 있다.

AWS는 작년 리인젠트서 새롭게 레거시 닷넷 앱을 현대화할 수 있는 기능을 선보였다. 생성형 인공지능(AI) 기반의 개발자 코딩 보조도구인 ‘아마존Q 디벨로퍼’는 ‘코드 트랜스포메이션’이란 기능읉 통해 레거시 닷넷 코드를 닷넷8으로 바꿔준다.

아마존Q 디벨로퍼 코드 트랜스포메이션은 그동안 자바8이나 자바11을 자바17로 업그레이드하는 기능을 제공했다. 자바의 경우 아마존닷컴이 레거시 자바 앱 1000개를 코드 트랜스포메이션 기능으로 이틀만에 전환완료했다. 3만개 앱 코드가 자바17로 업그레이드돼 연간 2억6000만달러. 맨먼스단위 3500억원을 절감했다고 한다.

닷넷용 코드 트랜스포메이션은 닷넷프레임워크 3.5 이상, 닷넷코어 3.1, 닷넷5 및 닷넷7 등의 코드를 닷넷8으로 자동 변환해준다.

닷넷 현대화는 클라우드 네이티브 중심으로 전환되는 새로운 애플리케이션 트렌드 속에서 적지 않은 골칫거리다. 현존하는 대부분의 레거시 닷넷 코드는 기존에 윈도우 종속적인 ‘닷넷 프레임워크’ 앱이다. 이는 성능 저하와 관리 부담 증가, 보안 취약 등의 문제뿐 아니라 최신 오픈소스 소프트웨어나 리눅스 기반의 클라우드 네이티브 기능을 활용하지 못하게 만들기도 한다. 크로스플랫폼을 지원하는 최신 닷넷으로 업그레이드하면 훨씬 더 풍부한 오픈소스 진영의 개발자 풀의 도움을 기대할 수 있고, 리눅스 전환으로 라이선스 비용도 절약할 수 있다. 이는 인스턴스를 상황에 따라 동적으로 확 늘려야 하는 시나리오에서 특히 유용하다.

아마존Q 디벨로퍼의 코드 트랜스포메이션은 언어모델이 룰 기반으로 코드에서 새로 포팅할 부분을 찾아 변경한 뒤 빌드해 실행해보고 에러를 발견하면 학습해서 다시 수정한다. 이런 학습과 반복을 통해 최적의 변환 코드를 만들고 최종적으로 사용자에게 제시하는 것이다. 개발자는 제안된 최종 코드를 보고 채택을 결정하면 된다. 이는 아예 불가능하거나 수주일씩 걸리던 닷넷 앱 현대화 작업을 며칠 단위로 줄여줄 수 있다.

비주얼스튜디오나 비주얼스튜디오코드 안에서 코드를 불러 AWS의 환경으로 보내 변환코드를 생성해 다시 사용자 클라이언트로 보내 제시한다. 이때 모든 코드 작업은 AWS 내부의 분리된 샌드박스에서 진행되며, 코드 암호화도 가능하다. 고객의 코드 변환 과정에서 이뤄지는 학습은 샌드박스 내에서 종료되고 사라지므로, AWS 파운데이션 모델의 재학습에 사용되는 데이터 유출 우려도 없다.

아마존Q 디벨로퍼는 기획, 설계, 코드 구현, 테스트, 배포, 개선 등을 위한 생성형 AI 기능을 제공한다. 프로젝트 제안 개발(/dev), 유닛테스트(/test), 문서화(/document), 코드리뷰(/review) 등의 기능이 새로 추가됐다. 만약 원하는 닷넷 프로젝트를 만들어 달라고 자연어로 요청하면 C#이나 ASP닷넷 같은 언어로 만들어 준다. 자연어로 취약점 같은 코드 상 문제를 찾아달라고 할 수 있다. 유닛테스트와 문서화의 경우 아직 닷넷에서 쓸 수 없다.

서버리스 서비스인 ‘AWS 람다’는 그동안 자바 기반 함수의 초기 구동속도를 향상시키는 ‘스냅스타트 포 자바’를 제공해왔는데 이제 닷넷 기반 함수의 초기 구동속도 향상에도 쓸 수 있게 됐다. 스냅스타트는 컴파일된 코드를 스냅샷으로 찍어 캐시에 뒀다가 실행 시 곧바로 구동시키는 원리인데, 자바의 경우 초기 구동속도를 10배까지 향상시킨다. 이제 AWS 람다에서 닷넷 함수도 1초 미만의 초기 구동 속도를 낼 수 있게 됐다.

데이터베이스(DB)의 경우 분산 관계형DB(RDB)인 ‘아마존 오로라 DSQL’ 기능을 선보였다. 여러 지역, 국가에서 서비스를 운영하는 경우 DB를 분산시켜야 하는데, 이 때 각 DB 상태의 동시성 구현이 매우 어렵다. 지역 인프라와 네트워크의 성능 차이 때문에 업데이트가 모든 지역의 DB에 동시에 이뤄지기 힘들기 때문이다. 여러 리전을 쓰면서 동시성을 맞추려면 DB에 쿼리를 던질 때마다 락을 걸게 되고, 모든 지역의 DB 업데이트가 끝나면 락을 해제하게 된다. 아마존 오로라 DSQL은 각 리전의 DB 테이블을 동일한 스토리지 안에 두고 각 리전을 원자단위 시계로 동기화하는 논리를 운영한다. 그 덕에 각 리전에 쓰기하면 끝이다. 닷넷도 아마존 오로라 DSQL 기능을 쓸 수 있다.

AWS의 머신러닝 플랫폼 서비스인 ‘아마존 세이지메이커’는 지난 리인벤트를 통해 데이터, 분석, AI를 위한 통합 플랫폼으로 거듭났다. 차세대 아마존 세이지메이커는 여러 데이터와 다양한 분석 서비스를 하나로 모아 AI를 만들 수 있게 됐다. 아마존 세이지메이커 유니파이드 스튜디오란 개발도구는 데이터 처리, 분석, AI 개발 등을 수행하는 IDE다. 닷넷의 경우 ‘닷넷용 AWS SDK 위드 아마존 세이지메이커 AI’를 이용하면 API로 세이지메이커 클라이언트를 호출하고, 오브젝트를 요청해 프로세스 결과를 받을 수 있다.

AWS는 생성형 AI 서비스 개발에 다양한 언어모델을 쉽게 사용하게 하는 ‘아마존 베드락’을 제공하는데, 닷넷용 AWS SDK에서 아마존 베드락을 API로 연동할 수 있다. 아마존 베드락은 멀티 AI 에이전트의 활동을 조율하는 오케스트레이션 라이브러리 ‘시맨틱커널(Sematic Kernel)’을 제공한다. 이 역시 닷넷용 AWS SDK에서 이용가능하다.

현재 닷넷 플랫폼의 발전 방향은 클라우드 네이티브다. 작년 11월 출시된 ‘닷넷9’은 클라우드 네이티브 개발 간소화 기술스택인 ‘어스파이어(Aspire)‘ 정식 버전을 포함했다. ‘닷넷 어스파이어’는 현업 환경에 맞게 컨테이너 기반의 분산 애플리케이션을 구축하기 위한 클라우드 네이티브 서비스 개발 간소화 스택이다. 닷넷에서 분산 애플리케이션을 더 쉽게 빌드하는데 도움을 주는 도구, 템플릿, 뉴겟(NuGet) 패키지를 포함한다. 개발자 대시보드, 오케스트레이션, 컴포넌트, 서비스디스커버리, 배포 등 전 스택을 포괄하고 있다. AWS는 닷넷 어스파이어에서 AWS 환경을 쉽게 활용할 수 있게 지원하고 있다.

글. 바이라인네트워크

<김우용 기자>yong2@byline.network

Menu

Kollo 를 통해 내 지역 속보, 범죄 뉴스, 비즈니스 뉴스, 스포츠 업데이트 및 한국 헤드라인을 휴대폰으로 직접 확인할 수 있습니다.