이 아키텍처는 Raincode COBOL 컴파일러가 한 줄의 코드도 변경하지 않고 메인프레임 레거시 애플리케이션을 마이그레이션하고 최신 Azure 기반 기술 스택과 원활하게 통합하여 현대화하는 방법을 보여 줍니다. Raincode의 컴파일러 기술을 사용하면 현재 최적화된 메인프레임 애플리케이션을 유지하고 클라우드에 배포할 수 있으므로 수십 년 동안 진행해온 개발을 유지하면서 성능과 유연성을 크게 향상시킬 수 있습니다. Raincode의 솔루션은 전체 아키텍처를 변환하면서 비즈니스 논리를 유지하여 메인프레임을 Azure 네이티브 아키텍처로 변환하는 것을 목표로 합니다. Raincode는 Azure에서 컨테이너화된 배포나 VM(가상 머신) 배포를 통해 Linux 및 Windows에 걸쳐 애플리케이션 유연성을 지원합니다.
아키텍처
레거시 IBM z/OS 아키텍처
다음 다이어그램은 Azure로 마이그레이션하기 전에 레거시 COBOL 기반 메인프레임 아키텍처의 예를 보여 줍니다.
이 아키텍처의 Visio 파일을 다운로드합니다.
워크플로
다음 주석은 원본 IBM z/OS에서 Azure로 매핑됩니다.
A. 수요 및 온라인 사용자를 위한 IBM 3270 터미널 에뮬레이션은 Azure의 시스템 리소스에 액세스하기 위해 웹 브라우저로 대체됩니다.
B. COBOL 및 기타 레거시 애플리케이션 코드는 C#/.NET으로 변환됩니다. Raincode는 .NET 및 .NET Core에 대한 100% 스레드로부터 안전하고 관리되는 코드를 생성합니다.
C. Raincode COBOL 컴파일러는 한 줄의 코드도 변경하지 않고 메인프레임 레거시 애플리케이션을 마이그레이션하고 최신 클라우드 기반 기술 스택과 원활하게 통합하여 현대화합니다.
D. 워크로드 자동화, 일정 예약, 보고 및 시스템 모니터링 함수는 현재 Azure에서 사용할 수 있으므로 현재 플랫폼을 유지할 수 있습니다.
E. Db2 및 IDMS와 같은 레거시 데이터베이스 구조는 Azure에서 제공하는 모든 DR/HA 기능을 사용하여 Azure SQL Database로 마이그레이션할 수 있습니다. Raincode는 SQL Server를 통해 또는 Azure SQL DB에서 정적 또는 동적 SQL 쿼리도 지원합니다.
F. 파일 구조(VSAM, 플랫 파일, 가상 테이프 등)는 구조화된 파일 및/또는 Blob Storage 내의 Azure 데이터 구문에 쉽게 매핑됩니다. 중복 지리적 복제 및 Azure 자동 장애 조치(failover) 그룹 복제와 같은 기능을 사용하여 데이터 보호를 제공할 수 있습니다.
G. 선택적 프린터 하위 시스템은 온-프레미스 프린터를 관리합니다.
H. 논리 파티션(LPAR)에서 실행되는 z/OS입니다.
9\. LPAR은 컴퓨터 하드웨어 리소스의 하위 집합을 나타냅니다. 각 LPAR은 별도의 OS를 호스트할 수 있습니다. 이 예제에서는 Z/OS 인스턴스만 보여 주지만 동일한 하드웨어에서 실행되는 다른 LPA는 z/VM과 같은 다른 운영 환경 또는 zIIP 또는 IFL과 같은 다른 엔진을 호스트할 수 있습니다.
마이그레이션 후, Azure 기반 아키텍처
이 다이어그램에서는 Raincode 컴파일러 및 기타 여러 최신 Azure 서비스를 활용하여 레거시 아키텍처를 Azure로 마이그레이션하는 방법을 보여 줍니다.
이 아키텍처의 Visio 파일을 다운로드합니다.
워크플로
웹 기반 애플리케이션에 액세스하기 위해 TLS 포트 443을 통해 제공되는 사용자 액세스입니다. 웹 기반 애플리케이션 프레젠테이션 계층을 거의 변경하지 않고 유지하여 최종 사용자 재학습을 최소화할 수 있습니다. 또는 요구되는 사항이므로 웹 애플리케이션 프레젠테이션 계층을 최신 UX 프레임워크로 업데이트할 수 있습니다.
Azure에서 애플리케이션 컴퓨팅 클러스터에 대한 액세스는 Azure Load Balancer를 통해 수행되므로 스케일 아웃 컴퓨팅 리소스가 입력 작업을 처리할 수 있습니다.
Raincode 시스템 에뮬레이션 소프트웨어는 컨테이너의 배포도 지원할 수 있습니다. Raincode의 최첨단 컴파일러 기술을 사용하면 현재 최적화된 메인프레임 애플리케이션을 유지하고 .NET Core에 배포할 수 있습니다.
클라우드 네이티브 애플리케이션은 경량 컨테이너로 패키지된 독립적이고 자율적인 서비스 컬렉션입니다.
가상 머신과 달리 컨테이너는 빠르게 스케일 아웃 및 스케일 인할 수 있습니다. 스케일 단위가 컨테이너로 전환되므로 인프라 사용률이 최적화됩니다.
데이터 서비스는 Ultra 또는 Premium SSD(반도체 디스크), Azure NetApp Files 또는 Azure Files의 파일 스토리지, 로컬로 중복 또는 지역 중복될 수 있는 표준 Blob, 보관 및 백업 스토리지의 조합을 사용합니다.
높은 IOPS 및 높은 작동 시간 SLA 둘 다에 대해 하이퍼스케일 또는 중요 비즈니스용 계층을 사용하는 Azure SQL Database입니다. 또한 Azure SQL Database에 대한 Private Link는 Azure VM에서 Azure SQL Database로의 Azure 네트워킹 백본에 격리된 프라이빗 직접 연결을 제공하는 데 사용됩니다. Raincode 데이터 마이그레이션 도구는 DMS/RDMS 스키마를 SQL로 변환할 수 있습니다.
Azure Blob Storage는 외부 데이터 원본의 일반적인 랜딩 존입니다.
Active Directory 구현을 만들거나 이미 구현한 상태여야 합니다. Raincode는 Active Directory 확장을 사용하여 RACF 및 Top Secret ID 통합을 제공합니다.
구성 요소
AKS(Azure Kubernetes Service)는 컨테이너 기반 컴퓨팅 클러스터에서 컨테이너화된 애플리케이션을 배포하고 관리하기 위한 완전 관리형 Kubernetes 서비스입니다.
Azure Virtual Network(VNet)는 Azure의 프라이빗 네트워크의 기본 구성 요소입니다. VNet을 사용하면 Azure VM(Virtual Machines)과 같은 다양한 형식의 Azure 리소스가 서로, 인터넷 및 특정 온-프레미스 네트워크와 안전하게 통신할 수 있습니다. VNet은 자체 데이터 센터에서 운영하는 기존 네트워크와 유사하지만, 확장, 가용성 및 격리와 같은 Azure 인프라 이점을 추가로 활용할 수 있습니다.
Azure Files는 산업 표준 SMB(서버 메시지 블록) 프로토콜을 통해 액세스할 수 있는, 클라우드에서 완전히 관리되는 파일 공유를 제공합니다. Azure File 공유는 Windows, Linux 및 macOS의 클라우드 또는 온-프레미스 배포를 통해 동시에 탑재될 수 있습니다.
Azure ExpressRoute를 사용하면 연결 공급자가 지원하는 프라이빗 연결을 통해 온-프레미스 네트워크를 Microsoft 클라우드로 확장할 수 있습니다. ExpressRoute를 사용하면 Microsoft Azure 및 Office 365와 같은 Microsoft 클라우드 서비스에 대한 연결을 설정할 수 있습니다.
Azure Load Balancer는 OSI(Open Systems Interconnect) 모델의 계층 4에서 작동합니다. 클라이언트의 단일 연락 지점입니다. Load Balancer는 부하 분산 장치의 프런트 엔드에 도착하는 인바운드 흐름을 백 엔드 풀 인스턴스에 분산합니다. 이러한 흐름은 구성된 부하 분산 규칙 및 상태 프로브에 따라 진행됩니다. 백 엔드 풀 인스턴스는 Azure Virtual Machines 또는 가상 머신 확장 집합의 인스턴스일 수 있습니다.
Azure SQL Database는 99.99% 가용성으로 최신 안정 버전의 SQL Server 및 패치된 OS에서 항상 실행되는 완전 관리형 PaaS(Platform as a Service) 데이터베이스 엔진입니다. SQL Database는 사용자 개입 없이 업그레이드, 패치, 백업, 모니터링 및 대부분의 다른 데이터베이스 관리 기능을 처리합니다. 이러한 PaaS 기능을 통해 중요 비즈니스용 도메인별 데이터베이스 관리 및 최적화에 집중할 수 있습니다.
Azure Cosmos DB는 NoSQL 데이터베이스용 Azure PaaS 서비스입니다.
Azure Database for PostgreSQL은 PostgreSQL 데이터베이스용 Azure PaaS 서비스입니다.
시나리오 정보
이 아키텍처는 Raincode 솔루션이 Azure에서 실행되는 방법을 보여 줍니다. Azure의 Raincode는 다음 기능을 지원합니다.
.NET 및 .NET Core에 대한 100% 스레드로부터 안전하고 관리되는 코드
주로 메인프레임을 클라우드 네이티브 아키텍처로 변환하려는 솔루션
온-프레미스 또는 Azure SQL DB에서 SQL Server를 통한 정적 또는 동적 SQL 쿼리에 대한 네이티브 지원
Db2(Microsoft의 HIS를 통한) 및 SQL Server 지원
디버거, 컴파일러, 구성, # IntelliSense, 코드 색 지정자 및 프로젝트 관리 기능을 포함하는 Visual Studio 통합
메인프레임 메모리 표현을 제공하는 모든 COBOL 데이터 형식 지원
PL/I 및 ASM370 컴파일러와 원활하게 통합
호출 그래프, 통계 및 기타 컴파일 타임 정보가 있는 리포지토리
컴파일 타임 및 런타임에 네이티브 EBCDIC 지원
Raincode를 사용하여 최신 분산 클라우드 인프라로 마이그레이션하면 다음을 수행할 수 있습니다.
C#을 사용한 새로운 개발 및 유지 관리를 쉽게 진행할 수 있습니다.
COBOL 라이선스 비용 부담에서 벗어날 수 있습니다.
.NET Core를 통해 최신 기술을 사용하여 유연하고 확장 가능한 플랫폼을 채택합니다.
웹 및 모바일과 같은 최신 애플리케이션과 통합하여 고객 환경을 개선합니다.
모놀리식 레거시 애플리케이션을 마이크로 또는 SOA(서비스 지향 아키텍처)로 변환합니다.
Azure의 스케일링 기능 및 가용성 기능을 사용하여 TCO(총 소유 비용)를 제어합니다.
잠재적인 사용 사례
대부분의 사용 사례는 Raincode 컴파일러의 이점을 얻을 수 있습니다. 이점이 나타날 수 있는 상황은 다음과 같습니다.
인프라를 현대화하고 메인프레임과 관련된 높은 비용, 제한 사항 및 경직 상황을 피하려는 기업
클라우드 네이티브 및 DevOps로 이동하여 기술 부채 감소
운영 및 자본 지출 비용 절감
완전 재개발에 따른 부작용 없이 IBM zSeries 메인프레임 워크로드를 클라우드로 전환하기로 선택한 조직
다른 온-프레미스 애플리케이션과의 연속성을 유지하면서 중요 업무용 애플리케이션을 마이그레이션해야 하는 IBM zSeries 메인프레임 고객
Azure에서 제공하는 수평 및 수직 확장성을 찾고 있는 팀.
재해 복구 옵션을 제공하는 솔루션을 선호하는 기업
도구, 프레임워크, 언어 및 사례와 같은 최신 소프트웨어 개발 혁신 활용
고려 사항
이 솔루션에 적용되는 고려 사항은 다음과 같습니다.
가용성
- Raincode 아키텍처는 Azure Site Recovery를 사용하여 Azure 데이터 센터가 실패하는 경우 빠른 장애 조치 및 DR(재해 복구)을 위해 Azure VM을 보조 Azure 지역에 미러링합니다.
작업
클라우드 네이티브 애플리케이션의 각 서비스는 Agile DevOps 프로세스를 통해 관리되는 독립적인 수명 주기를 거치게 됩니다.
여러 CI/CD(연속 통합/지속적인 업데이트) 파이프라인이 동시에 작동하여 클라우드 네이티브 애플리케이션을 배포하고 관리할 수 있습니다.
성능 효율성
클라우드 네이티브 애플리케이션은 경량 컨테이너로 패키지된 독립적이고 자율적인 서비스 컬렉션입니다.
가상 머신과 달리 컨테이너는 빠르게 스케일 아웃 및 스케일 인할 수 있습니다.
스케일 단위가 컨테이너로 전환되므로 인프라 사용량이 최적화됩니다.
보안
이 솔루션은 Azure NSG(네트워크 보안 그룹)를 사용하여 Azure 리소스 간의 트래픽을 관리합니다.
Azure SQL Database용 Private Link는 Azure VM에서 Azure SQL Database로 Azure 네트워킹 백본으로 격리된 프라이빗 직접 연결을 제공합니다.
비용 최적화
Raincode COBOL 컴파일러는 C#을 사용한 새로운 개발을 용이하게 하고 COBOL 라이선스 비용 부담을 해소합니다.
SQL 및 CICS에 대한 네이티브 지원. 디버그된 소스 코드는 사전 프로세서의 출력이 아니라 유지 관리되는 원본과 동일합니다.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Jonathon Frost | 수석 소프트웨어 엔지니어
비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.
다음 단계
자세한 내용은 legacy2azure@microsoft.com에 문의하거나 다음 리소스를 확인하세요.