Amazon Web Services 한국 블로그
AWS Mainframe Modernization 정식 출시 – 메인프레임 애플리케이션 현대화 및 클라우드 이전 지원
지난 AWS re:Invent에서 예고한 AWS Mainframe Modernization 서비스를 정식 출시합니다. 메인프레임 애플리케이션을 현대화하고 이를 AWS 완전관리형 런타임 환경에 배포할 수 있도록 지원하며, 마이그레이션 및 현대화를 계획하고 구현하는 데 유용한 도구와 리소스도 제공합니다.
1964년 4월 7일에 System/360이 도입된 이후로 메인프레임 컴퓨터는 많은 산업들이 스스로를 변화할 수 있게 했습니다. 메인프레임은 사람들이 물건을 구매하는 방식, 사람들이 여행을 예약하고 구매하는 방식, 정부가 세금을 관리하거나 사회 서비스를 제공하는 방식에 혁명을 일으켰습니다. 포춘지 선정 100대 기업 중 3분의 2가 핵심 비즈니스를 메인프레임에 두고 있습니다. 2018년의 추정에 따르면 일일 상거래에서 3조 USD(3USD x 10^12)가 메인프레임을 통해 흐릅니다.
메인프레임은 COBOL, PL/1 및 Natural 등의 프로그래밍 언어와 같은 자체 기술 세트를 사용하여 VSAM, DB2, IMS DB 또는 Adabas 등의 소수 또는 데이터베이스 및 데이터 파일의 이름을 지정합니다. 또한 “애플리케이션 서버” (또는 트랜잭션 관리자라고 부름)인 CICS 또는 IMS TM 등을 실행합니다. 최근 IBM 메인프레임은 Java 프로그래밍 언어로 개발하고 WebSphere 애플리케이션 서버에 배포한 애플리케이션도 실행합니다.
메인프레임을 실행하는 많은 고객이 AWS 클라우드를 활용하기 위해 메인프레임 기반 애플리케이션을 현대화하기를 원한다고 말했습니다. 이들은 민첩성과 혁신 역량을 강화하고, AWS에서 워크로드를 실행한 경험이 있는 인재 풀에 액세스하며, 비용 대비 성능 비율을 개선하는 지속적인 AWS 트렌드의 이점을 활용하고자 합니다.
애플리케이션 현대화는 다음 네 단계로 구성된 여정입니다.
- 먼저 상황을 평가합니다. 마이그레이션할 준비가 되셨나요? 비즈니스 사례를 정의하고 마이그레이션 팀을 교육합니다.
- 둘째, 모바일화합니다. 프로젝트를 시작하고, 개념 증명을 위한 애플리케이션을 식별하며, 마이그레이션 계획 및 비즈니스 사례를 구체화합니다.
- 셋째, 마이그레이션하고 현대화합니다. 각 애플리케이션에 대하여 심층적으로 탐색하고, 올바른 애플리케이션 아키텍처 및 마이그레이션 여정을 결정하며, 코드 베이스를 리플랫포밍 또는 리팩터링하고, 테스트하여 실운영 환경에 배포합니다.
- 마지막으로 운영 및 최적화합니다. 배포된 애플리케이션을 모니터링하고, 리소스를 관리하며, 보안 및 규정 준수가 최신 상태인지 확인합니다.
AWS Mainframe Modernization는 여정의 각 단계에서 도움을 드릴 겁니다.
평가 및 모바일화
평가 및 모바일화 단계에서, 분석 및 개발 도구에 액세스하여 애플리케이션 포트폴리오의 범위를 파악하고, 필요에 따라 소스 코드를 변환할 수 있습니다. 일반적으로 이 서비스는 메인프레임 애플리케이션의 자산을 탐색하고, 모든 데이터 및 기타 종속성을 식별하도록 지원합니다. 저희는 애플리케이션 리플랫포밍 또는 리팩터링 여부에 따라 소스 코드를 조정 또는 리팩터링할 수 있는 통합 개발 환경을 제공합니다.
애플리케이션 자동 리팩터링
메인프레임 애플리케이션 자산이 최신 언어 및 에코시스템으로 자동 변환되는 자동 리팩터링 패턴을 사용할 수 있습니다. AWS Mainframe Modernization는 자동화된 리팩터링을 통해, Blu Age 도구를 사용하여 COBOL, PL/1 또는 JCL 코드를 Java 서비스 및 스크립트로 변환합니다. 화면, 인덱스 파일, 배치 애플리케이션을 최신 애플리케이션 스택으로 변환하기 위한 패턴과 규칙을 구현하여, 최신 코드, 데이터 액세스 및 데이터 형식을 생성합니다.
애플리케이션 리플랫포밍
또한 애플리케이션을 리플랫포밍하도록 선택할 수 있습니다. 다시 말해, 소스 코드를 최소한으로 변경하면서, 애플리케이션을 AWS로 이전할 수 있습니다. 리플랫포밍 시, 완전 관리형 런타임에는 트랜잭션 관리자, 데이터 매핑 도구, 화면 및 맵 리더, 배치 실행 환경 등의 Micro Focus 메인프레임 호환 구성 요소가 사전 설치되어 있으므로, 최소한으로 변경하여 애플리케이션을 실행할 수 있습니다.
이 블로그 게시물은 리플랫포밍과 리팩터링 간의 미묘한 차이에 대해 자세히 알아볼 수 있게 해줄 것입니다.
메인프레임 애플리케이션을 위한 DevOps
AWS Mainframe Modernization 서비스는 지속적인 통합 및 지속적 배포 파이프라인을 쉽게 생성할 수 있게 AWS CloudFormation 템플릿을 제공합니다. 또한 모니터링 서비스를 배포 및 구성하여, 관리형 런타임을 모니터링합니다. 이를 통해 Agile 및 DevOps 방법론의 모범 사례를 사용해서, 마이그레이션 후 애플리케이션을 유지 관리하거나 계속 발전시킬 수 있습니다.
관리형 서비스
AWS Mainframe Modernization은 차별화되지 않은 헤비 리프팅을 관리하고, 보안, 고가용성, 확장성, 시스템 관리 및 코드와 같은 인프라 사용 측면에서, 15년간의 클라우드 아키텍처 모범 사례를 기반으로 하는 완전관리형 런타임 환경을 제공합니다. 이는 모두 메인프레임에서 실행되는 비즈니스 크리티컬한 애플리케이션에 중요합니다.
분석 도구, 개발 도구 및 리플랫포밍 또는 리팩터링 런타임은 사전 설치되어 즉시 사용할 수 있습니다. 하지만 사전 설치된 환경 외에도 더 많은 것이 있습니다. 이 서비스는 전체 인프라를 배포하고 관리합니다. 특히 Amazon CloudWatch를 사용해 필요한 네트워크, 로드 밸런서를 배포하고 로그 수집을 구성합니다. 애플리케이션 버전 관리, 배포 및 고가용성 종속성을 관리합니다. 따라서 이 서비스를 통해 자체 인프라를 설계, 테스트, 자동화 및 배포하는 데 드는 시간을 절약할 수 있습니다.
완전관리형 런타임에는 AWS console, AWS Command Line Interface(CLI) 및 애플리케이션 프로그래밍 인터페이스(API)를 통해 운영할 수 있는 광범위한 자동화 및 관리형 인프라 리소스가 포함됩니다. 따라서 복잡한 인프라 관리의 부담 및 차별화되지 않은 헤비 리프팅이 사라집니다. 이를 통해 새로운 기능을 혁신 및 구축하는 데 시간을 들이고 집중할 수 있습니다.
앱을 배포해 봅시다
평소처럼, 작동 방식을 보여드리려 합니다. 저는 데모 뱅킹 애플리케이션을 사용하고 있습니다. 애플리케이션은 리플랫포밍되었고, 두 개의 .zip 파일로 사용할 수 있습니다. 첫 번째 파일은 애플리케이션 바이너리을 포함하며, 두 번째 파일은 데이터 파일을 포함합니다. 이러한 압축 파일의 콘텐츠를 Amazon Simple Storage Service(S3) 버킷에 업로드했습니다. 전제 조건의 일환으로 PostgreSQL Aurora 데이터베이스를 생성했으며, 사용자 이름과 암호를 AWS Secrets Manager에 저장했고, AWS Key Management Service(KMS)에서 암호화 키를 생성했습니다.
환경 생성
Micro Focus 런타임 엔진을 사용하여 AWS Mainframe Modernization 관리형 런타임 환경에서 BankDemo 샘플 애플리케이션을 배포하고 실행해 보겠습니다. 간결하게 주요 단계만 강조하겠습니다. 전체 튜토리얼이 서비스 설명서의 일부로 제공됩니다.
AWS Management Console을 열고AWS Mainframe Modernization으로 이동합니다. 환경으로 이동해 환경 생성을 선택합니다.
리플랫포밍한 애플리케이션을 배포하고 있으므로, 환경에 이름을 부여하고 Micro Focus 런타임을 선택합니다. 다음을 선택합니다.
구성 지정 섹션에서 모든 기본값, 즉 독립형 런타임 환경, M2.m5.large
EC2 인스턴스 유형 및 기본값 VPC 및 서브넷을 그대로 둡니다. 다음을 선택합니다.
스토리지 연결 섹션에서 EFS 엔드포인트를 /m2/mount/demo
로 마운트합니다. 다음을 선택합니다.
검토 및 생성 섹션에서 구성을 검토하고 환경 생성을 선택합니다. 잠시 후 환경 상태가 사용 가능으로 전환됩니다.
애플리케이션 생성
이제 환경이 준비되었으므로, 여기에 샘플 뱅킹 애플리케이션을 배포해 보겠습니다. 애플리케이션 섹션을 선택하고 애플리케이션 생성을 선택합니다.
애플리케이션에 이름을 지정하고, 엔진 유형에서 Micro Focus를 선택합니다.
리소스 및 구성 지정 섹션에서, 애플리케이션의 JSON 정의를 입력합니다. JSON은 애플리케이션의 다양한 파일이 있는 위치와, Secrets Manager에 액세스하는 방법을 런타임 환경에 알려줍니다. 설명서의 튜토리얼 섹션에서 샘플 JSON 파일을 찾을 수 있습니다.
마지막 섹션에서 애플리케이션을 검토 및 생성합니다. 애플리케이션 생성을 선택합니다. 잠시 후 애플리케이션을 사용할 수 있게 됩니다.
사용할 수 있게 되면, 애플리케이션을 환경에 배포합니다. AWSNewsblog-SampleBanking 앱을 선택한 다음, 작업 드롭다운 메뉴를 선택하고 애플리케이션 배포를 고릅니다.
데이터 세트 가져오기
애플리케이션을 시작하기 전 마지막 단계는 데이터 세트를 가져오는 것입니다. 탐색 창에서 애플리케이션을 선택한 다음 AWSNewsBlog-SampleBank을 선택합니다. 그런 다음 데이터 세트 탭을 선택하고 가져오기를 선택합니다. 콘솔을 사용하여 데이터 세트 구성 값을 개별적으로 지정하거나, 데이터 세트 구성 JSON 파일이 포함된 S3 버킷의 위치를 제공할 수 있습니다.
설명서의 튜토리얼에서 제공하는 JSON 파일을 사용합니다. JSON 파일을 S3에 업로드하기 전에 $S3_DATASET_PREFIX
변수를 S3 버킷 및 접두사의 실제 값으로 변경합니다. 이 예에서는 awsnewsblog-samplebank/catalog
를 사용합니다.
내 애플리케이션과 그 데이터 세트가 이제 클라우드에 배포되었습니다.
애플리케이션 시작
마지막 단계는 애플리케이션을 시작하는 것입니다. 애플리케이션 섹션으로 이동합니다. 그런 다음 AWSNewsBlog-SampleBank를 선택합니다. 작업 드롭다운 메뉴에서 애플리케이션 시작을 선택합니다. 잠시 후 애플리케이션 상태가 실행 중으로 변경됩니다.
애플리케이션에 액세스
애플리케이션에 액세스하려면 3270 터미널 에뮬레이터가 필요합니다. 플랫폼에 따라 몇 가지 옵션을 사용할 수 있습니다. Micro Focus에서 제공하고, AWS Marketplace에서 사용 가능한 웹 기반 TN3270 웹 기반 클라이언트를 사용하기로 결정했습니다. 이것이 AWS Mainframe Modernization 환경 엔드포인트를 가리키도록 터미널 에뮬레이터를 구성하고, 포트 6000을 사용합니다.
세션이 시작되면 CICS 환영 메시지가 나타납니다. BANK
를 입력하고 ENTER 키를 눌러 앱을 시작합니다. BA0001
및 사용자 및 암호 A
로 인증합니다. 주 애플리케이션 메뉴가 표시됩니다. 메뉴의 첫 번째 옵션을 선택하고 ENTER 키를 누릅니다.
축하합니다. 리플랫포밍한 애플리케이션이 클라우드에 배포되었고, 표준 IBM 3270 터미널 에뮬레이터를 통해 사용할 수 있습니다.
요금 및 가용성
AWS Mainframe Modernization 서비스는 미국 동부(버지니아 북부), 미국 서부(오레곤), 아시아 태평양(시드니), 캐나다(중부), 유럽(프랑크푸르트), 유럽(아일랜드) 및 남아메리카(상파울루) AWS 리전에서 사용할 수 있습니다.
사용한 만큼만 요금을 지불합니다. 선결제 비용은 없습니다. 타사 라이선스 비용은 시간당 요금에 포함됩니다. Blu Age를 기반으로 리팩터링한 애플리케이션의 런타임 환경은 시간당 2.50USD부터 시작합니다. Micro Focus를 기반으로 리플랫포밍한 애플리케이션의 런타임 환경은 시간당 5.55USD부터 시작합니다. 여기에는 소프트웨어 라이센스(Blu Age 또는 Micro Focus)가 포함됩니다. 평소와 같이 AWS Support 플랜을 사용할 수 있습니다. Blu Age 및 Micro Focus 소프트웨어도 다룹니다.
약정 플랜은 가격 할인가에 이용할 수 있습니다. 요금 세부 정보는 서비스 요금 페이지에서 확인할 수 있습니다.
이제 빌드를 시작하세요 ;-)