콘텐츠로 이동

워크로드 별 접근 방식

개요

Microsoft 워크로드는 다양한 유형과 특성을 가지고 있으며, 각 워크로드 유형에 따라 클라우드 네이티브 현대화 접근 방식이 달라집니다. 이 문서에서는 주요 Microsoft 워크로드 유형별 특징과 현대화 접근 방식을 설명합니다.

서버 애플리케이션

Windows Server 및 IIS 기반 웹 서비스

특징:

  • Windows Server OS에 종속적인 구성 요소 포함
  • IIS 웹 서버 기능과 깊이 통합된 애플리케이션
  • Web Farm, Application Request Routing 등 IIS 고유 기능 사용

접근 방식:

  1. 리호스팅(Lift & Shift): Windows 컨테이너를 활용하여 최소한의 변경으로 컨테이너화
  2. 리플랫포밍: .NET 애플리케이션의 경우 Kestrel 웹 서버로 전환
  3. 리팩토링: ASP.NET Core로 완전히 재작성하여 크로스 플랫폼 지원

NT 서비스

특징:

  • Windows 서비스 컨트롤 관리자(SCM)에 의해 관리되는 백그라운드 프로세스
  • 시스템 계정이나 특정 사용자 권한으로 실행
  • Windows 이벤트 로그 사용

접근 방식:

  1. 코드 수정 없는 현대화: ServiceMonitor를 활용한 Windows 컨테이너 리호스팅
  2. 코드 수정을 통한 현대화: 콘솔 애플리케이션으로 전환하여 컨테이너 생명주기에 맞게 조정
  3. 서비스 런처 래핑: NSSM 등으로 래핑된 서비스는 원본 실행 파일을 직접 컨테이너화

데이터베이스

SQL Server

특징:

  • Windows 인증 사용 가능
  • 파일 시스템과의 긴밀한 통합(백업, BCP 등)
  • 저장 프로시저, 트리거 등의 T-SQL 코드

접근 방식:

  1. 관리형 서비스: Azure SQL Database, Amazon RDS 등으로 마이그레이션
  2. 컨테이너화: Linux 컨테이너 상의 SQL Server로 전환
  3. 데이터베이스 플랫폼 전환: PostgreSQL 등 오픈소스 RDBMS로 스키마 및 코드 변환

Access DB

특징:

  • 파일 기반 데이터베이스
  • 종종 VBA 매크로와 결합
  • 클라이언트-서버 구조 없음

접근 방식:

  1. SQL Server 마이그레이션: SSMA(SQL Server Migration Assistant) 활용
  2. 웹 애플리케이션 전환: 데이터를 클라우드 DB로 이전하고 웹 인터페이스 구현
  3. SaaS 솔루션 적용: 데이터를 Power Apps 등 현대적 로우코드 플랫폼으로 이전

웹 애플리케이션

클래식 ASP

특징:

  • VBScript 또는 JScript 사용
  • COM 컴포넌트 종속성
  • 서버 측 렌더링 중심

접근 방식:

  1. Windows 컨테이너 리호스팅: 코드 변경 없이 Windows 컨테이너로 이전
  2. Razor Web Pages 재개발: 유사한 페이지 중심 모델을 사용하는 .NET 기술로 재개발
  3. 현대적 웹 프레임워크 전환: ASP.NET Core MVC나 SPA+API 구조로 완전 재설계

ASP.NET Web Forms

특징:

  • 상태 관리를 위한 ViewState 사용
  • 컴포넌트 기반 개발 모델
  • 이벤트 기반 프로그래밍 모델

접근 방식:

  1. Blazor 서버로 전환: 비슷한 컴포넌트 모델과 이벤트 기반 패러다임 유지
  2. ASP.NET Core MVC로 전환: 현대적 MVC 패턴 적용, 단계적 마이그레이션 가능
  3. 마이크로프론트엔드 전환: 점진적으로 React, Angular 등의 현대적 프레임워크로 전환

ASP.NET MVC

특징:

  • 모델-뷰-컨트롤러 패턴 준수
  • Razor 뷰 엔진 사용
  • 라우팅 기반 URL 구조

접근 방식:

  1. ASP.NET Core MVC로 점진적 마이그레이션: 유사한 구조를 활용하여 코드 이식
  2. Windows 컨테이너 리호스팅 후 점진적 현대화: 기존 코드를 컨테이너화한 후 점진적으로 교체
  3. 마이크로서비스 분해: 대규모 MVC 애플리케이션을 작은 서비스로 분할

ASP.NET XML Web Service (WSDL)

특징:

  • SOAP 기반 웹 서비스
  • WSDL을 통한 서비스 기술
  • 강력한 타입 시스템

접근 방식:

  1. ASP.NET Web API로 전환: RESTful API로 재구현
  2. SOAP 및 REST 병행: 기존 SOAP 서비스를 유지하면서 새로운 기능은 REST로 구현
  3. gRPC 고려: 성능이 중요한 마이크로서비스 간 통신에는 gRPC로 전환

데스크톱 애플리케이션

Windows Forms

특징:

  • 빠른 RAD(Rapid Application Development) 지향
  • 풍부한 UI 컨트롤
  • 이벤트 기반 프로그래밍 모델

접근 방식:

  1. .NET Core Windows Forms로 전환: 호환성이 높은 .NET Core 버전으로 마이그레이션
  2. 웹 애플리케이션으로 전환: 브라우저 기반 UI로 재구현하여 플랫폼 제약 해소
  3. 하이브리드 접근: 핵심 비즈니스 로직은 크로스 플랫폼 라이브러리로 분리, UI는 상황에 맞게 선택

WPF (Windows Presentation Foundation)

특징:

  • XAML 기반 UI 정의
  • 풍부한 그래픽 및 애니메이션 기능
  • 데이터 바인딩 중심 개발

접근 방식:

  1. .NET Core WPF로 전환: 호환성이 높은 .NET Core 버전으로 마이그레이션
  2. XAML 기반 크로스 플랫폼 전환: .NET MAUI 등을 활용하여 다양한 플랫폼 지원
  3. 웹 기술 기반 데스크톱 앱: Electron, WebView2 등을 활용한 웹 기술 기반 데스크톱 앱 개발

협업 플랫폼

SharePoint

특징:

  • 문서 관리 및 협업 기능
  • 워크플로우 및 비즈니스 프로세스 자동화
  • 사용자 지정 웹 파트 및 애플리케이션

접근 방식:

  1. SharePoint Online으로 이전: 클라우드 기반 SharePoint 서비스로 마이그레이션
  2. SPFx(SharePoint Framework) 활용: 현대적 웹 기술 기반의 확장 개발
  3. 마이크로서비스와의 통합: SharePoint를 프론트엔드로 활용하고 백엔드는 마이크로서비스로 구현

Exchange Server

특징:

  • 이메일, 일정, 연락처 등의 기능 제공
  • Active Directory와의 긴밀한 통합
  • PowerShell을 통한 자동화

접근 방식:

  1. Exchange Online으로 이전: Microsoft 365의 일부로 클라우드 이메일 서비스 활용
  2. 하이브리드 배포: 온프레미스와 클라우드 환경의 공존 전략
  3. API 기반 통합: Microsoft Graph API를 통한 현대적 애플리케이션과의 통합

접근 방식 선택 시 고려사항

워크로드별 현대화 접근 방식을 선택할 때 다음 요소를 고려하세요:

  1. 비즈니스 가치: 현대화로 얻을 수 있는 비즈니스 가치와 우선순위
  2. 위험 요소: 각 접근 방식에 따른 기술적 위험과 비즈니스 연속성 위험
  3. 팀 역량: 조직의 기술적 역량과 새로운 기술 습득 가능성
  4. 타임라인: 현대화를 위해 허용된 시간과 단계적 접근 가능성
  5. 비용: 각 접근 방식에 따른 개발, 운영, 라이선스 비용

다음 단계

워크로드 유형과 특성을 이해했다면, 보다 구체적인 현대화 레시피와 단계별 가이드는 시나리오 별 쿡북 섹션에서 확인할 수 있습니다.