바로 가기

.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은 여러 플랫폼에서 사용할 수 있는 오픈소스 플랫폼으로 자리 잡았지만, 기존 솔루션이 Windows 환경에서만 실행할 수 있는 .NET 프레임워크인 경우 문제가 발생할 수 있습니다. 따라서 .NET Framework를 Linux 환경으로 현대화할 필요가 있습니다. 

대부분의 조직은 레거시 워크로드, 기본 플랫폼과 기술 그리고 전통적인 개발 방식이 상당 부분 비즈니스 민첩성과 혁신을 저해한다는 것을 알고 있습니다. 이는 레거시 시스템이 클라우드 컴퓨팅, 클라우드 네이티브 개발 방식, Linux 컨테이너 및 기타 최근의 기술 발전이 이루어지기 전에 개발되었기 때문입니다. 그러나 이러한 워크로드의 상당수가 여전히 업무상 중요할 뿐더러 상당한 장기 투자가 이루어져 쉽게 교체하거나 폐기할 수 없습니다.

따라서 조직은 이러한 시스템을 유지 관리하면서도 혁신을 통해 새로운 고객 기대치를 충족하고 새로운 기회를 확보해야 하는 어려운 과제를 안고 있습니다. 이러한 레거시 애플리케이션은 유지 관리하는 데 시간, 예산, 리소스가 너무 많이 필요하므로 혁신에 상당한 장애가 될 수 있습니다.

워크로드를 현대화하는 것은 레거시 워크로드를 최신 플랫폼으로 마이그레이션하고, 모놀리스를 마이크로서비스와 같이 유지 관리하기 쉬운 더 작은 구성 요소로 분할하고, 최신 소프트웨어 개발 및 배포 방식을 적용하고, 기존 요소를 새로운 요소와 통합함으로써 레거시 워크로드의 민첩성을 회복하기 위해서입니다.

장점

기존의 .NET 워크로드를 더욱 현대화된 플랫폼으로 이전하는 것은 개발자가 얼마나 많은 노력을 기울일 의지가 있는가, 그리고 그 과정에서 팀이 변화를 어떻게 수용할 것인가의 문제로 귀결됩니다. 이런 점을 고려할 때, 워크로드 현대화를 통해 즉시 얻을 수 있는 장점은 다음과 같습니다.

  • 확장성 향상: 현재 .NET 워크로드는 온디맨드 방식으로 확장이 가능합니다. 
  • 안정성 향상: .NET 워크로드는 안정성과 복구 능력이 강화된 환경에서 더욱 안정적으로 실행됩니다. 
  • 보안 강화: .NET 워크로드는 기존 클라우드 사례를 바탕으로 추가 보안 계층을 제공합니다.
  • 비용 절감: 다양한 자동화를 통해 조직은 비용을 절감할 수 있습니다. 

컨테이너화쿠버네티스가 상당히 발전했기 때문에, 이제 어느 서버에서나 .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