편집

다음을 통해 공유


Raincode 컴파일러를 사용하여 메인프레임 애플리케이션을 Azure로 다시 호스팅

Azure Virtual Machines
AKS(Azure Kubernetes Service)
Azure 파일
Azure ExpressRoute
Azure Load Balancer

이 아키텍처는 Raincode COBOL 컴파일러가 한 줄의 코드도 변경하지 않고 메인프레임 레거시 애플리케이션을 마이그레이션하고 최신 Azure 기반 기술 스택과 원활하게 통합하여 현대화하는 방법을 보여 줍니다. Raincode의 컴파일러 기술을 사용하면 현재 최적화된 메인프레임 애플리케이션을 유지하고 클라우드에 배포할 수 있으므로 수십 년 동안 진행해온 개발을 유지하면서 성능과 유연성을 크게 향상시킬 수 있습니다. Raincode의 솔루션은 전체 아키텍처를 변환하면서 비즈니스 논리를 유지하여 메인프레임을 Azure 네이티브 아키텍처로 변환하는 것을 목표로 합니다. Raincode는 Azure에서 컨테이너화된 배포나 VM(가상 머신) 배포를 통해 Linux 및 Windows에 걸쳐 애플리케이션 유연성을 지원합니다.

아키텍처

레거시 IBM z/OS 아키텍처

다음 다이어그램은 Azure로 마이그레이션하기 전에 레거시 COBOL 기반 메인프레임 아키텍처의 예를 보여 줍니다.

레거시 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로 마이그레이션하는 방법을 보여 줍니다.

Azure로 레거시 아키텍처 마이그레이션 워크플로

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

  1. 웹 기반 애플리케이션에 액세스하기 위해 TLS 포트 443을 통해 제공되는 사용자 액세스입니다. 웹 기반 애플리케이션 프레젠테이션 계층을 거의 변경하지 않고 유지하여 최종 사용자 재학습을 최소화할 수 있습니다. 또는 요구되는 사항이므로 웹 애플리케이션 프레젠테이션 계층을 최신 UX 프레임워크로 업데이트할 수 있습니다.

  2. Azure에서 애플리케이션 컴퓨팅 클러스터에 대한 액세스는 Azure Load Balancer를 통해 수행되므로 스케일 아웃 컴퓨팅 리소스가 입력 작업을 처리할 수 있습니다.

  3. Raincode 시스템 에뮬레이션 소프트웨어는 컨테이너의 배포도 지원할 수 있습니다. Raincode의 최첨단 컴파일러 기술을 사용하면 현재 최적화된 메인프레임 애플리케이션을 유지하고 .NET Core에 배포할 수 있습니다.

  4. 클라우드 네이티브 애플리케이션은 경량 컨테이너로 패키지된 독립적이고 자율적인 서비스 컬렉션입니다.

    가상 머신과 달리 컨테이너는 빠르게 스케일 아웃 및 스케일 인할 수 있습니다. 스케일 단위가 컨테이너로 전환되므로 인프라 사용률이 최적화됩니다.

  5. 데이터 서비스는 Ultra 또는 Premium SSD(반도체 디스크), Azure NetApp Files 또는 Azure Files의 파일 스토리지, 로컬로 중복 또는 지역 중복될 수 있는 표준 Blob, 보관 및 백업 스토리지의 조합을 사용합니다.

  6. 높은 IOPS 및 높은 작동 시간 SLA 둘 다에 대해 하이퍼스케일 또는 중요 비즈니스용 계층을 사용하는 Azure SQL Database입니다. 또한 Azure SQL Database에 대한 Private Link는 Azure VM에서 Azure SQL Database로의 Azure 네트워킹 백본에 격리된 프라이빗 직접 연결을 제공하는 데 사용됩니다. Raincode 데이터 마이그레이션 도구는 DMS/RDMS 스키마를 SQL로 변환할 수 있습니다.

  7. Azure Blob Storage는 외부 데이터 원본의 일반적인 랜딩 존입니다.

  8. 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(연속 통합/지속적인 업데이트) 파이프라인이 동시에 작동하여 클라우드 네이티브 애플리케이션을 배포하고 관리할 수 있습니다.

성능 효율성

  • 클라우드 네이티브 애플리케이션은 경량 컨테이너로 패키지된 독립적이고 자율적인 서비스 컬렉션입니다.

  • 가상 머신과 달리 컨테이너는 빠르게 스케일 아웃 및 스케일 인할 수 있습니다.

  • 스케일 단위가 컨테이너로 전환되므로 인프라 사용량이 최적화됩니다.

보안

비용 최적화

  • Raincode COBOL 컴파일러는 C#을 사용한 새로운 개발을 용이하게 하고 COBOL 라이선스 비용 부담을 해소합니다.

  • SQL 및 CICS에 대한 네이티브 지원. 디버그된 소스 코드는 사전 프로세서의 출력이 아니라 유지 관리되는 원본과 동일합니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.

다음 단계

자세한 내용은 legacy2azure@microsoft.com에 문의하거나 다음 리소스를 확인하세요.