바로 가기

.NET 애플리케이션 현대화란?

URL 복사

.NET(이전 명칭: .NET Core)은 Linux와 Windows에서 실행되는 플랫폼 간 클라우드와 콘솔 애플리케이션을 구축하기 위해 개발자가 사용할 수 있는 오픈소스 개발 플랫폼입니다.

.NET 안에는 .NET 코드를 각기 다른 위치에서 실행할 수 있도록 하는 .NET Core, .NET Framework, Xamarin/Mono의 3가지 플랫폼이 있습니다. .NET Core는 Windows, Linux, macOS 등 어디에서나 실행할 수 있는 플랫폼 간 구현이며, .NET Framework는 웹사이트, 서비스, 데스크톱 애플리케이션 등을 Windows에서 실행할 수 있도록 지원하는 .NET의 원래 구현입니다. Xamarin/Mono는 iOS와 Android를 포함한 주요 모바일 운영 체제에서 애플리케이션을 실행하는 모바일용 .NET입니다.

Microsoft가 Linux를 핵심 플랫폼으로 채택하기 전에 .NET은 원래 Windows 전용 폐쇄형 소스였습니다.

컨테이너화쿠버네티스가 상당히 발전했기 때문에, 이제 어느 서버에서나 .NET을 컨테이너화할 수 있습니다. 조직은 비즈니스 요구 사항에 맞춰 최적의 현대화 전략을 선택할 수 있습니다. 제한된 예산과 일정으로 각기 다른 워크로드에 맞춰 다양한 전략이 필요할 수 있습니다. 때로는 단계별 접근 방식이 사용자로부터 피드백을 수집하고 현대화에 투자하는 것이 올바른지 판단하는 데 더욱 적합하며, 이러한 노력을 통한 혜택을 충분히 얻을 수 있습니다.
기존 .NET 애플리케이션을 현대화하는 방법은 3가지가 있습니다.

  1. 재호스팅: 관련 업계에서 "리프트 앤 시프트(Lift & Shift)"라고도 알려진 재호스팅은 온프레미스 애플리케이션을 수정 없이 클라우드로, 즉 클라우드 인프라 레디 플랫폼으로 마이그레이션하는 프로세스입니다. 이와 같은 마이그레이션 접근 방식을 통해 기존 온프레미스 애플리케이션은 서비스로서의 인프라(IaaS) 플랫폼으로 마이그레이션 또는 재호스팅됩니다. 애플리케이션은 이전과 동일한 구성을 갖게 되며, 클라우드 내에서는 가상 머신(VM)으로 배포됩니다. 이러한 전략은 대개 대규모 애플리케이션을 마이그레이션하는 데 사용되어 제품 출시 일정 단축이나 온프레미스 데이터 센터 축소 등 특정 비즈니스 목표를 충족합니다.
  2. 플랫폼 재구성: 플랫폼 재구성을 통해 컨테이너 및 추가적인 클라우드 관리형 서비스와 같은 최신 기술을 사용하여 클라우드에서 애플리케이션을 실행하는 추가 혜택을 누리고, 중대한 코드 변경 없이 애플리케이션을 클라우드에 최적화할 수 있습니다. 이와 같은 성숙도 모델은 컨테이너를 IaaS 또는 서비스로서의 플랫폼(PaaS)에 배포하는 동시에 데이터베이스, 서비스로서의 캐시(cache as a service), 지속적 통합/지속적 배포(CI/CD) 파이프라인과 관련된 추가적인 클라우드 관리형 서비스를 사용합니다. .NET 애플리케이션을 Windows 컨테이너로 플랫폼을 재구성하는 경우, .NET 애플리케이션의 핵심 아키텍처를 변경하지 않고도 컨테이너 기술의 장점을 얻을 수 있습니다.
  3. 재설계: 재설계 방법에서는 PaaS 서비스를 사용하여 애플리케이션을 PaaS 컴퓨팅 플랫폼으로 이전합니다. 클라우드 네이티브 애플리케이션과 마이크로서비스 아키텍처를 구현하면 장기적인 민첩성을 통해 애플리케이션을 진화시키고 온디맨드 방식으로 손쉽게 확장할 수 있습니다. 이러한 현대화 유형은 보통 클라우드를 위한 특별한 설계가 필요하며, 이때 새로운 코드를 작성하게 됩니다. 이러한 접근 방식을 채택하면 모놀리식 온프레미스 애플리케이션 환경에서는 실현하기 어려운 장점을 얻을 수 있습니다. 모놀리식 애플리케이션을 더 작은 서비스로 분할하여 각 서비스가 개별 목적에 맞게 컨테이너로 배포됩니다. 이러한 마이크로서비스 기반의 접근 방식을 통해 일부 구성 요소는 .NET 또는 Java를 통해 구축되지만 모두 RHEL 및 OpenShift Container Platform 기반의 공통 지원 플랫폼에서 실행할 수 있습니다.

기존의 사례, 툴, 프로세스에 대해 Windows Server로 주로 작업했다면, Linux, 컨테이너, 쿠버네티스를 추가해야 할 수 있습니다. 이는 기존 비즈니스에 영향을 줄 수 있는 변화를 수반하기 때문에 기대가 되면서도 두려운 일입니다. 

이러한 변화가 언제나 쉬운 것은 아니기 때문에 Red Hat은 기술 변화에 대응하고, 비즈니스 목표를 달성하기 위한 전략과 솔루션을 채택하며, 팀이 환경, 기술 및 프로세스 변화에 대처할 수 있도록 역량을 강화하려는 고객을 지원합니다.

제약 요인을 바탕으로 고객이 선택하는 현대화 전략이나 기대하는 혜택에 관계없이 Red Hat은 Microsoft Azure Red Hat OpenShift(ARO)와 같은 제품과 서비스를 제공합니다.

추가 자료

문서

Red Hat OpenShift Operator란?

Red Hat OpenShift Operators automate the creation, configuration, and management of instances of Kubernetes-native applications.

문서

Red Hat OpenShift의 AI/ML

OpenShift에는 AI/ML 워크플로우를 가속화하고 AI 기반 지능형 애플리케이션을 제공하기 위한 주요 기능이 포함되어 있습니다.

문서

Red Hat OpenShift으로 엣지 컴퓨팅 활용

OpenShift의 엣지 컴퓨팅 기능을 사용하여 원격 위치에서 애플리케이션 서비스를 확장하고 실시간으로 데이터 입력을 분석하세요.

OpenShift에 대한 자세한 내용

제품

선택한 인프라에서 애플리케이션 출시 테스트를 완료한 통합 서비스 세트를 포함하는 엔터프라이즈 애플리케이션 플랫폼입니다.

신속하게 모델과 AI 기반 애플리케이션을 개발, 훈련, 서비스하고 모니터링하는 툴을 제공하는 AI 플랫폼입니다.

컨테이너를 추가 또는 축소하더라도 환경 전반에서 영구적으로 데이터를 저장할 수 있는 소프트웨어 정의 스토리지입니다.

빌트인 보안 정책을 갖춘 단일 콘솔로 쿠버네티스 클러스터와 애플리케이션을 관리합니다.

리소스

교육

무료 교육 과정

Running Containers with Red Hat Technical Overview

무료 교육 과정

Developing Cloud-Native Applications with Microservices Architectures

무료 교육 과정

Containers, Kubernetes and Red Hat OpenShift Technical Overview