Azure에 IBM z/OS 메인프레임 CF(결합 기능) 리팩터링

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

이 아키텍처는 Azure가 CF(Coupling Facilities)가 있는 IBM z/OS 메인프레임 시스템과 유사한 스케일 아웃 성능 및 고가용성을 제공하는 방법을 보여 줍니다.

아키텍처

메인프레임 아키텍처

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

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

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

워크플로

  • 입력은 TN3270 및 HTTPS(A)와 같은 표준 메인프레임 프로토콜을 사용하여 TCP/IP를 통해 메인프레임으로 이동합니다.
  • 애플리케이션 수신은 일괄 처리나 온라인 시스템(B)일 수 있습니다. 일괄 처리 작업은 데이터 계층에서 데이터를 공유하는 여러 CEC에 분산되거나 복제될 수 있습니다. 온라인 계층은 병렬 Sysplex CICS 또는 CICSPlex를 사용하여 여러 CEC에 논리적 CICS 영역을 분산할 수 있습니다.
  • COBOL, PL/I, 어셈블러 또는 호환되는 애플리케이션(C)은 CICSPlex와 같은 병렬 Sysplex 지원 환경에서 실행됩니다.
  • 다른 애플리케이션 서비스(D)는 CF에서 공유 메모리를 사용할 수도 있습니다.
  • Db2(E)와 같은 병렬 Sysplex 지원 데이터 서비스를 사용하면 공유 환경에서 데이터 스토리지를 확장할 수 있습니다.
  • MQSeries, 관리 및 인쇄(F)와 같은 미들웨어 및 유틸리티 서비스는 각 CEC의 z/OS에서 실행됩니다.
  • 각 CEC(G)의 LPAR(논리 파티션)은 z/OS를 실행합니다. z/VM과 같은 다른 운영 환경이나 zIIP 또는 IFL과 같은 다른 엔진도 존재할 수 있습니다.
  • CEC는 CF(H)를 통해 공유 메모리 및 상태에 연결합니다.
  • CF(I)는 여러 CEC를 연결하여 메모리를 공유하는 물리적 디바이스입니다.

Azure 아키텍처

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

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

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

워크플로

  1. 입력은 Express Route를 통해 원격 클라이언트에서 또는 다른 Azure 애플리케이션에서 제공됩니다. 두 경우 모두 TCP/IP가 시스템에 대한 기본 연결입니다.

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

    Azure VM(Virtual Machines)에 대한 관리자 액세스의 경우 Azure Bastion 호스트는 열린 포트를 최소화하여 보안을 극대화합니다.

  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 또는 Db2와 같은 VM의 데이터베이스 또는 Databricks 및 Azure Data Lake와 같은 빅 데이터 리포지토리가 포함될 수 있습니다. 애플리케이션 데이터 서비스는 Kafka 및 Azure Stream Analytics와 같은 스트리밍 데이터 분석 서비스에 연결할 수도 있습니다.

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

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

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

  8. Azure Blob Storage는 외부 데이터 원본에 대한 일반적인 방문 영역입니다.

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

  10. Azure Site Recovery는 VM 및 컨테이너 클러스터 구성 요소용 DR를 제공합니다.

구성 요소

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

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

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

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

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

    대부분의 Azure HPC(고성능 컴퓨팅) VM 크기에는 RDMA 연결을 위한 네트워크 인터페이스가 있습니다.

  • Azure Virtual Network는 Azure 프라이빗 네트워크의 기본 구성 요소입니다. 가상 네트워크를 사용하면 VM과 같은 Azure 리소스는 안전하게 서로 간에 통신하거나 인터넷 및 온-프레미스 네트워크와 통신할 수 있습니다. Azure Virtual Network는 기존 온-프레미스 네트워크와 유사하지만 Azure 인프라 확장성, 가용성 및 격리의 이점이 포함되어 있습니다.

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

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

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

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

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

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

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

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

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

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

  • Azure Stream Analytics는 스트리밍 데이터를 위한 Azure 기반 분석 서비스입니다.

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

시나리오 정보

CF(Coupling Facilities)는 여러 메인프레임 서버 또는 CEC(Central Electronics Complexes)를 공유 메모리와 연결하는 물리적 디바이스로, 시스템을 확장하여 성능을 향상합니다. COBOL 및 PL/I와 같은 언어로 작성된 애플리케이션은 긴밀하게 결합된 스케일 아웃 기능을 원활하게 활용합니다.

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

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

고려 사항

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

가용성

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

복원력

복원력은 Load Balancers 때문에 이 솔루션에 기본 제공됩니다. 하나의 프레젠테이션 또는 트랜잭션 서버에서 실패하면 Load Balancer 뒤에 있는 다른 서버가 워크로드를 실행할 수 있습니다.

확장성

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

보안

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

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

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

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

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

다음 단계