BLOG
엔터프라이즈 워크로드를 Linux(리눅스)로 마이그레이션하면 운영 체제 라이센스 비용을 절감할 수 있고, 예기치 않은 라이센스 정책 변경으로 운영이 중단될 때의 번거로움으로부터 담당 조직을 해방시킬 수 있습니다.
윈도우에서 리눅스로 플랫폼을 재구성하기 위해 필요한 노력은 애플리케이션이 구현된 방식에 따라 달라집니다. 핵심은 전략적 중요성과 구현 노력의 균형을 맞춰 적절한 특성을 가진 워크로드를 식별하고 타깃화하는 것입니다. 이때 애플리케이션은 다음과 같이 4가지 범주로 구분할 수 있습니다.
- 전략적 중요성-상, 노력 강도-하
- 전략적 중요성-상, 노력 강도-상
- 전략적 중요성-하, 노력 강도-하
- 전략적 중요성-하, 노력 강도-상
이러한 범주 간 관계를 다음과 같이 도식화해 보았습니다.
그림1: Windows에서 Linux로 애플리케이션 마이그레이션의 관계(및 우선순위)를 나타내는 사분면
그림 1과 같이 범주 1(전략적 중요성-상, 노력 강도-하)에 해당하는 워크로드를 우선 순위에 두고, 범주 2(전략적 중요성-상, 노력 강도-상)에 해당하는 워크로드를 그 다음 순위에 두어야 합니다.
위 2가지 범주의 마이그레이션이 완료되면 IT팀은 다음으로 구축에 필요한 노력이 적게 드는 범주 3(전략적 중요성-하, 노력 강도-하) 애플리케이션을 플랫폼을 재구축할 수 있습니다.
범주 4(전략적 중요성-하, 노력 강도-상)는 일반적으로 플랫폼 재구축에 적합하지 않습니다. 이러한 마이그레이션은 가장 낮은 우선순위가 되어야 합니다.
어떤 경우에는 조직이 마이그레이션 팀의 신뢰를 쌓기 위해 범주 3을 먼저 이전하는 것을 선택하기도 합니다. 마이그레이션이 실패할 경우에는 그에 대한 영향을 비교적 적게 받으면서 마이그레이션을 연습한 셈이 되므로 좋은 방법이 될 수도 있습니다.
마이그레이션에 필요한 노력 강도 측정
전략적 중요성은 비즈니스 사용자가 식별할 수 있는 애플리케이션의 비즈니스 영향을 뜻하므로 중요도를 매기는 것이 비교적 간단하지만, 마이그레이션 및 구축에 드는 노력 강도의 경우 이를 가늠하는 것이 어려울 수 있습니다.
마이그레이션에 대한 노력 강도 평가는 엔터프라이즈 워크로드, 애플리케이션 로직 계층 및 데이터베이스 계층의 계층화된 구성 요소를 검토함으로 측정할 수 있습니다.
.NET을 .NET core로 마이그레이션
.NET 애플리케이션은 Linux에 배포하기 전에 .NET Core로 먼저 마이그레이션할 수 있습니다. .NET online documentation에서 더욱 자세한 안내 사항을 확인하실 수 있습니다.
마이그레이션 팀은 NET Core에서 사용할 수 없는 .NET 기능을 반드시 알아 두어야 합니다(예. AppDomains, Remoting, Code Access Security (CAS), Security Transparency, and System.EnterpriseServices). 라이브러리가 이러한 기술 중 하나 이상을 사용하는 경우 alternative approaches suggested by Microsoft(Microsoft에서 제안하는 대체 접근 방식)을 확인하여 대체 기술을 사용해 주시기 바랍니다.
SQL Server를 Windows에서 Linux로 플랫폼 재구축
데이터베이스 계층의 경우 AWS’s Windows to Linux re-platforming assistant for Microsoft SQL Server Databases를 사용하여 AWS상에서 Windows에서 Linux로 SQL 서버를 플랫폼 구성할 수 있습니다. 해당 re-platforming assistant는 기존 Microsoft SQL Server 워크로드를 Windows에서 Linux 운영 체제로 이동하는 데 도움을 주는 스크립팅 툴입니다. 클라우드에서 호스팅되는 모든 윈도우즈 서버 가상 시스템이나 2008 버전 이상의 마이크로소프트 SQL 서버를 실행하는 온프레미스 환경에서 이 re-platforming assistant를 사용할 수 있습니다.
SQL Server의 핵심 데이터베이스 엔진은 Linux와 동일하지만 Linux에서는 사용할 수 없는 일부 SQL Server 기능이 있습니다. Linux에서 지원되지 않는 기능 목록을 검토하여 데이터베이스 구현을 평가하고 마이그레이션 영향을 분석하십시오.
다음은 Windows Server 및 SQL Server 배포의 폭과 깊이를 평가하는 데 필요한 질문으로 이를 통해 Microsoft Windows Severs 또는 Microsoft SQL Server에서 실행되는 워크로드의 유형과 복잡성을 검증할 수 있습니다.
Windows 애플리케이션 서버
- 대다수의 워크로드가 어떤 버전의 .NET에서 실행되고 있습니까?
- IIS 웹 서버가 멀티 테넌트(Multi-tenant) 호스트입니까? 단일 테넌트 호스트입니까?
- 타사 윈도우즈 소프트웨어 패키지를 많이 사용하십니까?
- 가장 중요한 소프트웨어 패키지는 무엇입니까?
- 정규 작업 또는 최대 작업 중 서버 리소스가 제한되어 있습니까?
- AppDomains, Remoting, Code Access Security (CAS), Security Transparency, and System.EnterpriseServices와 같이.NET Core에서 사용할 수 없는 .NET 프레임워크 라이브러리의 기능과 기술을 사용하고 계십니까?
Windows SQL 서버
- 총 몇 개의 데이터베이스 서버를 가지고 계십니까?
- 각 데이터베이스 서버(HA Production, Production, Development 또는 Test)의 상태는 무엇입니까?
- CPU, 메모리 및 스토리지 측면에서 각 데이터베이스 서버의 “rough” 하드웨어 구성은 무엇입니까?
- 각 서버의 대략적인 “객체”(데이터베이스, 테이블, 저장 프로시저 및 보기) 수는 몇입니까?
- SQL Server Reporting Service 또는 SQL Server Integration Service와 같은 특정 서비스를 사용하십니까? 그렇다면 실행 중인 설정, 수 또는 보고서 또는 ETL 작업을 설명할 수 있습니까?
- 데이터 웨어하우징, 온라인 트랜잭션 처리(OLTP) 또는 온라인 분석 처리(OLAP)와 같은 용도로 구축된 데이터베이스가 있습니까?
- 메모리 또는 디스크 할당과 같은 고유한 구성을 가진 데이터베이스/서버는 무엇입니까?
- 일반 작업이나 피크 작업 중 리소스 제약을 받는 데이터베이스 서버가 있습니까?
- Linux상의 SQL Server 2019에서 사용할 수 없는 기능과 서비스를 사용하고 계십니까?
플랫폼 재구축 외에도, 라이센스 의존성과 관련된 중단과 비용 문제를 해결할 수 있는 다른 옵션이 있습니다. 복잡한 애플리케이션의 경우 AWS의 containers(컨테이너), serverless(서버리스) 및 databases(데이터베이스)를 사용하여 클라우드 네이티브 서비스에서 Windows 워크로드를 현대화할 수 있습니다.
성공적인 오픈 소스 클라우드 플랫폼 운영을 위한 다음 절차
AWS는 AWS Migration Acceleration Program (MAP)을 통해 윈도우즈 서버 및 SQL 서버 워크로드를 플랫폼 재구축 또는 현대화하는 사용자들을 위해 툴링, 방법론, 컨설팅을 지원하며 추가 인센티브를 제공합니다.
MAP는 상당한 비용 절감, 라이센스 자유성 외에도 AWS 클라우드 서비스를 통해 민첩성을 높이고 신속하게 혁신할 수 있도록 도움을 줍니다. Davinci, Visma, NextGen Healthcare, Ancestry 및 기타 많은 조직들은 AWS에서 Windows 워크로드를 마이그레이션하고 현대화하기 위해 AWS를 선택했습니다. 이러한 고객 사례에 대해 자세히 알고 싶으시다면 고객 사례 페이지를 참고해 주시기 바랍니다.
Windows의 플랫폼 재설계 또는 현대화 이니셔티브에 대해 더 알아보시려면 AWS에 문의하거나의견 섹션에 코멘트를 남겨 주십시오. 또한 modernization blog channel에서 매주 업데이트 되는 현대화 사례들을 확인하실 수 있습니다.
** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 개제하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달 드리도록 하겠습니다.