IBM z/OS 메인프레임 결합 기능을 Azure로 리팩터링

AKS(Azure Kubernetes Service)
Azure Virtual Machines
Azure Virtual Network

이 문서에서는 Azure 서비스를 사용하여 IBM z/OS 메인프레임 시스템과 유사한 스케일 아웃 성능 및 고가용성을 제공하는 아키텍처와 CF(결합 기능)를 설명합니다.

메인프레임 아키텍처

다음 다이어그램은 결합 기능 및 병렬 Sysplex 구성 요소를 사용하는 IBM z/OS 메인프레임 시스템의 아키텍처를 보여 줍니다.

결합 기능 및 병렬 Sysplex 구성 요소와 IBM z/OS 메인프레임 아키텍처를 보여 주는 다이어그램

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

워크플로

  • 입력은 TN3270 및 HTTPS(Hypertext Transfer Protocol Secure)(A)와 같은 표준 메인프레임 프로토콜을 통해 TCP/IP(Transmission Control Protocol/Internet Protocol)를 통해 메인프레임으로 이동합니다.

  • 일괄 처리 또는 온라인 트랜잭션 처리 애플리케이션은 입력 (B)을 받습니다. 일괄 처리 작업은 데이터 계층에서 데이터를 공유하는 여러 중앙 전자 단지(CEC)에 분산되거나 복제할 수 있습니다. 온라인 계층은 병렬 Sysplex CICS 또는 CICSPlex를 통해 여러 CEC에 논리적 CICS(고객 정보 제어 시스템) 지역을 분산할 수 있습니다.

  • COBOL(Common Business Oriented Language), PL/I, Assembler 또는 호환되는 애플리케이션(C)은 CICSPlex 환경과 같은 병렬 Sysplex 사용 환경에서 실행됩니다.

  • 다른 애플리케이션 서비스(D)는 CF에서 공유 메모리를 사용할 수도 있습니다.

  • IBM Db2(E)와 같은 병렬 Sysplex 지원 데이터 서비스는 공유 환경에서 스케일 아웃 데이터 스토리지를 제공합니다.

  • MQSeries, 관리 및 인쇄 서비스(F)와 같은 미들웨어 및 유틸리티 서비스는 각 CEC의 z/OS에서 실행됩니다.

  • 각 CEC(G)의 LPAR(논리 파티션)은 z/OS를 실행합니다. 아키텍처에는 IBM z/VM과 같은 다른 운영 환경이나 IBM zIIP(통합 정보 프로세서) 또는 IFL(통합 기능)과 같은 다른 엔진도 있을 수 있습니다.

  • CEC는 CF(H)를 통해 공유 메모리 및 상태에 연결합니다.

  • CF(I)는 여러 CEC를 공유 메모리에 연결하는 물리적 디바이스입니다.

Azure 아키텍처

다음 다이어그램에서는 병렬 Sysplex 및 CF를 사용하여 z/OS 메인프레임과 유사한 기능 및 성능을 제공하는 Azure 서비스를 보여 줍니다.

IBM z/OS 메인프레임 구성 요소가 Azure 기능에 매핑되는 방법을 보여 주는 다이어그램.

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

워크플로

  1. 원격 클라이언트는 Azure ExpressRoute 또는 다른 Azure 애플리케이션에서 입력을 보냅니다. 두 경우 모두 TCP/IP는 시스템에 대한 기본 연결입니다.

    웹 브라우저는 요청 사용자 및 온라인 사용자의 터미널 에뮬레이션을 대체하는 Azure 시스템 리소스에 액세스합니다. 사용자는 TLS(전송 계층 보안) 포트 443을 통해 웹 기반 애플리케이션에 액세스합니다. 사용자 재학습을 최소화하기 위해 웹 애플리케이션의 프레젠테이션 계층은 거의 변경되지 않은 상태로 유지될 수 있습니다. 또는 최신 사용자 환경 프레임워크를 사용하여 웹 애플리케이션 프레젠테이션 계층을 업데이트할 수 있습니다.

    (1a) 보안 강화를 위해 Microsoft Entra ID는 인증 및 권한 부여를 사용하도록 설정하고 적용할 수 있습니다.

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

  3. 사용되는 애플리케이션 컴퓨팅 클러스터의 유형은 애플리케이션이 VM(가상 머신)에서 실행되는지 또는 Kubernetes와 같은 컨테이너 클러스터에서 실행되는지에 따라 달라집니다. 일반적으로 PL/I 또는 COBOL로 작성된 애플리케이션에 대한 메인프레임 시스템 에뮬레이션은 VM을 사용합니다. Java 또는 .NET으로 리팩터링된 애플리케이션은 컨테이너를 사용합니다. 일부 메인프레임 시스템 에뮬레이션 소프트웨어는 컨테이너의 배포도 지원합니다.

  4. Java용 Tomcat 또는 COBOL용 CICS 또는 IMS(정보 관리 시스템) 트랜잭션 처리 모니터와 같은 애플리케이션 서버는 입력을 수신하고 Azure Cache for Redis 또는 RDMA(원격 직접 메모리 액세스)를 통해 애플리케이션 상태 및 데이터를 공유합니다. 이 기능은 메인프레임의 CF와 비슷합니다.

  5. 데이터 서비스는 애플리케이션 클러스터에 있으므로 영구 데이터 원본이 여러 연결을 받을 수 있습니다. 이러한 데이터 원본에는 Azure SQL Database 및 Azure Cosmos DB와 같은 PaaS(Platform as a Service) 데이터 솔루션, Oracle Database 또는 IBM Db2와 같은 VM의 데이터베이스 또는 Azure Databricks 및 Azure Data Lake Storage와 같은 빅 데이터 리포지토리가 포함될 수 있습니다. 애플리케이션 데이터 서비스는 Apache Kafka 및 Azure Stream Analytics와 같은 스트리밍 데이터 분석 서비스에 연결할 수도 있습니다.

    Azure PaaS 데이터 서비스는 클러스터의 여러 컴퓨팅 리소스가 공유할 수 있는 고가용성의 확장 가능한 데이터 스토리지를 제공합니다. 이러한 서비스는 지역이 중복될 수도 있습니다.

  6. 애플리케이션 서버는 Tomcat의 Java 클래스 또는 CICS 에뮬레이션 VM의 CICS 동사를 사용하는 COBOL 프로그램과 같이 언어를 기반으로 하는 다양한 애플리케이션 프로그램을 호스트합니다.

  7. 데이터 서비스는 Azure Ultra Disk Storage 또는 Azure Premium SSD의 고성능 스토리지, Azure NetApp Files 또는 Azure Files의 파일 스토리지, 로컬 중복 또는 지역 중복일 수 있는 표준 Blob, 보관 및 백업 스토리지의 조합을 사용합니다.

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

  9. Azure Data Factory는 여러 내부 및 외부 데이터 원본의 데이터를 수집하고 동기화합니다.

  10. Azure Site Recovery는 VM 구성 요소 및 컨테이너 클러스터 구성 요소에 대한 DR(재해 복구)을 제공합니다.

구성 요소

  • ExpressRoute 는 연결 파트너가 제공하는 프라이빗 연결을 통해 온-프레미스 네트워크를 Microsoft 클라우드로 확장합니다. ExpressRoute를 사용하면 Azure 및 Microsoft 365와 같은 클라우드 서비스에 대한 연결을 설정할 수 있습니다.

  • Azure Bastion은 가상 네트워크 내부에 프로비전하는 완전 관리형 PaaS입니다. Azure Bastion은 TLS를 통해 Azure Portal에서 직접 가상 네트워크의 VM에 대한 안전하고 원활한 RDP(원격 데스크톱 프로토콜) 및 SSH(Secure Shell) 연결을 제공합니다.

  • Load Balancer 는 구성된 부하 분산 규칙 및 상태 프로브에 따라 부하 분산 장치의 프런트 엔드에서 백 엔드 풀 인스턴스로 인바운드 흐름을 분산합니다. 백 엔드 풀 인스턴스는 Azure VM 또는 가상 머신 확장 집합 인스턴스일 수도 있습니다. Load Balancer는 클라이언트의 단일 연락 지점입니다.

    Load Balancer는 Open Systems 상호 연결 모델의 계층 4에서 작동합니다. 수준 7 애플리케이션 수준 및 수준 4 네트워크 프로토콜 수준 부하 분산 장치를 모두 사용할 수 있습니다. 사용해야 하는 형식은 애플리케이션 입력이 컴퓨팅 클러스터의 진입점에 도달하는 방법에 따라 달라집니다.

  • Azure Virtual Machines는 가상화의 유연성을 제공하는 스케일링 가능한 주문형 컴퓨팅 리소스를 제공합니다. Azure VM을 사용하면 Windows 및 Linux를 비롯한 다양한 운영 체제를 선택할 수 있습니다.

    대부분의 Azure 고성능 컴퓨팅 VM 크기는 RDMA 연결을 위한 네트워크 인터페이스를 제공합니다.

  • Azure 가상 네트워크는 Azure 프라이빗 네트워크의 기본 구성 요소입니다. VM과 같은 Azure 리소스가 서로, 인터넷 및 온-프레미스 네트워크와 안전하게 통신할 수 있도록 가상 네트워크를 사용합니다. Azure 가상 네트워크는 기존 온-프레미스 네트워크와 비슷하지만 Azure 인프라 확장성, 가용성 및 격리의 이점을 제공합니다.

    가상 네트워크 인터페이스를 사용하면 Azure VM과 인터넷, Azure 리소스 및 온-프레미스 리소스 간에 통신할 수 있습니다. 여러 네트워크 인터페이스 카드를 하나의 Azure VM에 추가하여 자식 VM에 고유한 전용 네트워크 인터페이스 디바이스 및 IP 주소를 가질 수 있습니다. 해당 구성은 이 아키텍처와 유사합니다.

  • AKS(Azure Kubernetes Service) 는 컨테이너 기반 컴퓨팅 클러스터에서 컨테이너화된 애플리케이션을 배포하고 관리하는 데 사용할 수 있는 완전 관리형 Kubernetes 서비스입니다.

  • Azure Cache for Redis는 데이터 집약적 아키텍처의 성능과 확장성을 향상시키는 완전 관리형 메모리 내 캐시입니다. 이 아키텍처는 Azure Cache for Redis를 사용하여 컴퓨팅 리소스 간에 데이터와 상태를 공유합니다.

  • SQL Database 는 안정적인 최신 버전의 SQL Server 및 패치된 OS를 실행하는 완전 관리형 PaaS 데이터베이스 엔진으로, 99.99%의 가용성을 제공합니다. SQL Database는 사용자 개입 없이 업그레이드, 패치, 백업, 모니터링 및 대부분의 다른 데이터베이스 관리 기능을 처리합니다. 이러한 PaaS 기능을 통해 중요 비즈니스용 도메인별 데이터베이스 관리 및 최적화에 집중할 수 있습니다.

  • SQL Database용 Azure Private Link 는 Azure 네트워킹 백본만 사용하는 Azure VM에서 SQL Database로의 프라이빗 직접 연결을 제공합니다.

  • Azure Cosmos DB는 NoSQL 데이터베이스용 Azure PaaS 서비스입니다.

  • Azure Database for PostgreSQL은 PostgreSQL 데이터베이스용 Azure PaaS 서비스입니다.

  • Azure 관리 디스크는 Azure가 Azure VM에서 관리하는 블록 수준 스토리지 볼륨입니다. 사용 가능한 디스크 유형에는 Ultra Disk Storage, Premium SSD, 표준 SSD 및 표준 HDD가 포함됩니다. 이 아키텍처는 프리미엄 SSD 또는 Ultra Disk Storage에서 가장 잘 작동합니다.

  • Data Factory 는 대규모로 데이터를 수집, 준비 및 변환하는 데 사용할 수 있는 완전 관리형 서버리스 데이터 통합 솔루션입니다.

  • Azure Files는 클라우드 또는 온-프레미스에서 액세스할 수 있는 Azure Storage 계정의 완전 관리형 파일 공유를 제공합니다. Windows, Linux 및 macOS 배포는 Azure 파일 공유를 동시에 탑재하고 업계 표준 SMB(서버 메시지 블록) 프로토콜을 통해 파일에 액세스할 수 있습니다.

  • Stream Analytics 는 데이터를 스트리밍하는 데 사용할 수 있는 Azure 기반 분석 서비스입니다.

  • Azure Databricks는 빅 데이터 분석을 위한 Apache Spark PaaS 서비스입니다.

  • Microsoft Entra ID 는 사용자를 앱, 디바이스 및 데이터에 연결하는 Microsoft 클라우드 기반 ID 및 액세스 관리 솔루션입니다.

시나리오 정보

CF는 성능을 높이기 위해 시스템을 확장할 수 있도록 여러 메인프레임 서버 또는 CEC를 공유 메모리에 연결하는 물리적 디바이스입니다. COBOL 및 PL/I와 같은 언어로 작성된 애플리케이션은 긴밀하게 결합된 스케일 아웃 기능을 원활하게 사용합니다.

IBM Db2 데이터베이스 및 CICS 서버는 데이터 공유와 병렬 컴퓨팅을 결합하는 병렬 Sysplex라는 메인프레임 하위 시스템이 있는 CF를 사용할 수 있습니다. 병렬 Sysplex를 사용하면 최대 32개의 시스템 클러스터에서 워크로드를 공유할 수 있으며, 이는 고성능, 고가용성 및 DR을 제공합니다. Parallel Sysplex가 있는 메인프레임 CF는 일반적으로 CEC 간에 근접한 동일한 데이터 센터에 상주하지만 데이터 센터 전반으로 확장할 수도 있습니다.

Azure 리소스는 공유 데이터 및 고가용성을 통해 유사한 스케일 아웃 성능을 제공할 수 있습니다. Azure 컴퓨팅 클러스터는 Azure Cache for Redis와 같은 데이터 캐싱 메커니즘을 통해 메모리를 공유하고 SQL Database 및 Azure Cosmos DB와 같은 확장 가능한 데이터 기술을 사용합니다. 확장 컴퓨팅 및 고가용성을 분산 Azure 데이터 센터로 확장하기 위해 Azure는 가용성 집합 및 가용성 그룹을 구현하고 지역 중복 기능과 결합할 수 있습니다.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

가용성

이 아키텍처는 Site Recovery를 사용하여 빠른 장애 조치(failover)를 위해 보조 Azure 지역에 Azure VM을 미러링하고 Azure 데이터 센터가 실패하는 경우 DR을 사용합니다.

복원력

부하 분산 장치는 이 솔루션에서 복원력을 만듭니다. 하나의 프레젠테이션 또는 트랜잭션 서버가 실패하면 부하 분산 장치 뒤에 있는 다른 서버가 워크로드를 실행할 수 있습니다.

확장성

서버 집합을 확장하여 더 많은 처리량을 제공할 수 있습니다. 자세한 내용은 가상 머신 확장 집합을 참조하세요.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안에 대한 디자인 검토 검사 목록을 참조 하세요.

  • 이 솔루션은 Azure NSG(네트워크 보안 그룹)를 사용하여 Azure 리소스 간의 트래픽을 관리합니다. 자세한 내용은 NSG를 참조 하세요.

  • SQL Database용 Private Link는 Azure VM에서 SQL Database 로 Azure 네트워킹 백본으로 격리된 프라이빗 직접 연결을 제공합니다.

  • Azure Bastion 은 열린 포트를 최소화하여 관리자 액세스 보안을 최대화합니다. Azure Bastion은 TLS를 통해 Azure Portal에서 직접 가상 네트워크 VM에 안전하고 원활한 RDP/SSH 연결을 제공합니다.

  • Microsoft Entra는 대부분의 Azure 서비스와 원활하게 통합되는 통합 보안 플랫폼입니다.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화에 대한 디자인 검토 검사 목록을 참조 하세요.

  • SQL Database에서 하이퍼스케일 또는 중요 비즈니스용 SQL Database 계층을 사용하여 초당 높은 입력/출력 작업과 높은 작동 시간 SLA를 사용합니다.

  • 이 아키텍처는 프리미엄 SSD 또는 Ultra Disk SSD에서 가장 잘 작동합니다. 자세한 내용은 Managed Disks 가격 책정을 참조하세요.

다음 단계