Azure에 대한 일반적인 메인프레임 리팩터링

Azure 파일
Azure Load Balancer
Azure SQL Database
Azure Storage
Azure Virtual Machines

다음 아키텍처에는 AKS(Azure Kubernetes Service) 또는 Azure VM(가상 머신)을 사용할 수 있는 일반적인 리팩터링 접근 방식이 나와 있습니다. 선택은 기존 애플리케이션의 이동성과 기본 설정에 따라 달라집니다. 리팩터링은 코드를 Java 또는 .NET으로 자동 변환하고 사전 관계형 데이터베이스를 관계형 데이터베이스로 변환함으로써 Azure로의 이동 속도를 높일 수 있습니다.

메인프레임 아키텍처

일반적인 메인프레임 시스템의 구성 요소를 보여 주는 아키텍처 다이어그램.

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

워크플로

  • 온-프레미스 사용자는 TN3270 및 HTTPS(A) 같은 표준 메인프레임 프로토콜을 이용하여 TCP/IP를 통해 메인프레임에 액세스합니다.
  • 애플리케이션 수신은 일괄 처리나 온라인 시스템(B)이 될 수 있습니다.
  • COBOL, PL/I, 어셈블러 또는 호환되는 언어가 사용 환경(C)에서 실행됩니다.
  • 일반적인 데이터 및 데이터베이스 서비스에는 계층 구조 또는 네트워크 데이터베이스 시스템, 인덱스 또는 플랫 데이터 파일, 관계형 데이터베이스(D)가 포함됩니다.
  • 일반적인 서비스에는 프로그램 실행, I/O 작업, 오류 검색, 보호(E)가 포함됩니다.
  • 미들웨어 및 유틸리티 서비스에서는 테이프 스토리지, 큐, 출력, 웹 서비스(F)를 관리합니다.
  • 운영 체제는 컴퓨팅 엔진과 소프트웨어(G) 간의 인터페이스입니다.
  • 파티션은 별도의 워크로드를 실행하거나 환경(H) 내에서 작업 유형을 분리합니다.

리팩터링된 Azure 아키텍처

Azure에서 리팩터링된 메인프레임 시스템의 구성 요소를 보여 주는 아키텍처 다이어그램.

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

워크플로

  1. 내용은 ExpressRoute를 통해 원격 클라이언트에서 입력하거나 다른 Azure 사용자가 입력합니다. TCP/IP는 시스템에 연결하는 기본적인 방법입니다.

    • 온-프레미스 사용자는 TLS(전송 계층 보안) 포트 443을 통해 웹 기반 애플리케이션에 액세스할 수 있습니다. 웹 애플리케이션의 프레젠테이션 계층은 변경되지 않은 상태로 유지되어 최종 사용자 재학습을 최소화할 수 있습니다. 또는 최신 UX 프레임워크로 프레젠테이션 계층을 업데이트할 수 있습니다.

    • 온-프레미스 관리 액세스는 Azure Bastion 호스트를 사용해 열린 포트를 최소화함으로써 보안을 극대화합니다.

    • Azure 사용자는 가상 네트워크 피어링을 통해 시스템에 연결됩니다.

  2. Azure에서 Azure Load Balancer는 애플리케이션 컴퓨팅 클러스터에 대한 액세스를 관리합니다. Load Balancer는 입력을 처리하기 위한 스케일 아웃 컴퓨팅 리소스를 지원합니다. 애플리케이션 입력이 컴퓨팅 클러스터 진입점에 도달하는 방법에 따라 수준 7 애플리케이션 수준 또는 수준 4 네트워크 수준 부하 분산 장치를 사용할 수 있습니다.

  3. 애플리케이션 컴퓨팅 클러스터는 Azure VM에서 실행하거나 AKS 클러스터의 컨테이너에서 실행할 수 있습니다. 일반적으로 PL/I 또는 COBOL 애플리케이션에 대한 메인프레임 시스템 에뮬레이션은 VM을 사용하고, Java 또는 .NET으로 리팩터링된 애플리케이션은 컨테이너를 사용합니다. 일부 메인프레임 시스템 에뮬레이션 소프트웨어는 컨테이너의 배포도 지원합니다. 컴퓨팅 리소스는 가속화된 네트워킹 및 RDMA(원격 직접 메모리 액세스)를 통해 프리미엄 또는 울트라 SSD(반도체 드라이브) 관리 디스크를 사용합니다.

  4. 컴퓨팅 클러스터의 애플리케이션 서버는 Java 클래스 또는 COBOL 프로그램 같은 언어 기능에 따라 애플리케이션을 호스트합니다. 서버는 애플리케이션 입력을 수신하고, Azure Cache for Redis 또는 RDMA를 사용하여 애플리케이션 상태와 데이터를 공유합니다.

  5. 애플리케이션 클러스터의 데이터 서비스는 영구 데이터 원본에 대한 다중 연결을 지원합니다. Azure Private Link는 가상 네트워크 내에서 Azure 서비스로 이어지는 개인 연결을 제공합니다. 데이터 원본에는 다음이 포함될 수 있습니다.

    • Azure SQL Database, Azure Cosmos DB, Azure Database for PostgreSQL - 하이퍼스케일 같은 PaaS 데이터 서비스
    • Oracle 또는 Db2 같은 VM의 데이터베이스
    • Azure Databricks 및 Azure Data Lake 같은 빅 데이터 리포지토리
    • Apache Kafka 및 Azure Stream Analytics 같은 스트리밍 데이터 서비스
  6. 데이터 스토리지는 사용량에 따라 로컬 중복 또는 지역 중복일 수 있습니다. 데이터 스토리지에서는 다음 조합을 사용할 수 있습니다.

    • 울트라 또는 프리미엄 SSD 디스크를 포함하는 고성능 스토리지
    • Azure NetApp Files 또는 Azure Files를 포함하는 파일 스토리지
    • Blob, 보관, 백업 스토리지를 포함한 표준 스토리지
  7. Azure PaaS 데이터 서비스는 컴퓨팅 클러스터 리소스 간에 공유할 수 있는 고가용성의 확장 가능한 데이터 스토리지를 제공합니다. 이 스토리지는 지역 중복일 수도 있습니다.

    • Azure Blob Storage는 외부 데이터 원본의 일반적인 랜딩 존입니다.
    • Azure Data Factory는 여러 Azure/외부 데이터 원본의 데이터 수집과 동기화를 지원합니다.
  8. Azure Site Recovery는 VM 및 컨테이너 클러스터 구성 요소용 DR를 제공합니다.

  9. Microsoft Entra ID, Azure 네트워킹, Azure Stream Analytics, Azure Databricks 및 Power BI같은 서비스는 현대화된 시스템과 쉽게 통합할 수 있습니다.

구성 요소

이 예제에서는 다음 Azure 구성 요소를 제공합니다. 이러한 구성 요소 및 워크플로 중 일부는 시나리오에 따라 교환 가능하거나 선택 사항입니다.

  • Azure ExpressRoute는 연결 공급자의 전용 파이버 연결을 통해 온-프레미스 네트워크를 Azure로 확장합니다. ExpressRoute는 Azure 및 Microsoft 365 같은 Microsoft 클라우드 서비스에 연결해 줍니다.

  • Azure Bastion은 TLS를 통해 Azure Portal의 가상 네트워크 VM에 원활한 RDP(원격 데스크톱 프로토콜) 또는 SSH(보안 셸) 연결을 제공합니다. Azure Bastion은 열린 포트를 최소화하여 관리 액세스 보안 성능을 극대화합니다.

  • Azure Load Balancer는 들어오는 트래픽을 컴퓨팅 리소스 클러스터에 분산합니다. 트래픽을 분산하는 규칙 및 기타 조건을 정의할 수 있습니다.

  • AKS(Azure Kubernetes Service)는 컨테이너화된 애플리케이션을 배포하고 관리하는 완전 관리형 Kubernetes 서비스입니다. AKS는 서버리스 Kubernetes, CI/CD(연속 통합 및 지속적인 업데이트) 환경, 엔터프라이즈급 보안 및 거버넌스를 제공합니다.

  • Azure Virtual Machines는 다양한 크기 및 온디맨드 유형의 확장성 있는 컴퓨팅 리소스를 제공합니다. Azure VM을 사용하면 물리적 하드웨어를 구입하고 유지 관리하지 않아도 가상화의 유연성을 얻을 수 있습니다.

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

  • Azure Private Link는 가상 네트워크에서 Azure 서비스로 이어지는 개인 연결을 제공합니다. Private Link는 네트워크 아키텍처를 간소화하고, 공용 인터넷 노출을 방지하여 Azure 엔드포인트 간의 연결을 보호합니다.

  • Azure Cache for Redis는 빠른 캐싱 계층을 애플리케이션 아키텍처에 추가하여 많은 볼륨을 빠른 속도로 처리합니다. Azure Cache for Redis는 완전 관리형 서비스의 이점을 통해 간단하고 비용 효율적으로 성능을 스케일링합니다.

  • Azure Storage는 모든 데이터, 애플리케이션 및 워크로드에 확장 가능하고 안전한 클라우드 스토리지를 제공합니다.

    • Azure Disk Storage는 중요 비즈니스용 애플리케이션을 위한 고성능 지속형 블록 스토리지입니다. Azure 관리 디스크는 Azure VM에서 Azure에 의해 관리되는 블록 수준 스토리지 볼륨입니다. 사용 가능한 디스크 유형은 울트라 디스크, 프리미엄 SSD, 표준 SSD 및 표준 HDD(하드 디스크 드라이브)입니다. 이 아키텍처는 프리미엄 SSD 또는 울트라 디스크 SSD를 사용합니다.

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

    • Azure NetApp Files는 NetApp에서 제공하는 엔터프라이즈급 Azure 파일 공유 기능을 제공합니다. NetApp Files를 사용하면 엔터프라이즈에서 코드 변경 없이 복잡한 파일 기반 애플리케이션을 쉽게 마이그레이션하고 실행할 수 있습니다.

    • Azure Blob Storage는 보관, 데이터 레이크, 고성능 컴퓨팅, 기계 학습 및 클라우드 네이티브 워크로드를 위한 확장 가능하고 안전한 개체 스토리지입니다.

  • Azure 데이터베이스는 최신 애플리케이션 요구 사항에 맞게 완전히 관리되는 관계형 및 NoSQL 데이터베이스를 선택할 수 있습니다. 자동화된 인프라 관리는 확장성, 가용성 및 보안을 제공합니다.

    • Azure SQL Database는 완전 관리형 PaaS 데이터베이스 엔진입니다. SQL Database는 항상 안정적인 최신 버전의 SQL Server와 가용성 99.99%로 패치된 OS에서 실행됩니다. 기본 제공 PaaS 데이터베이스 관리 기능에는 업그레이드, 패치, 백업 및 모니터링이 포함됩니다. 도메인별 중요 비즈니스용 데이터베이스 관리 및 최적화 성능에 집중할 수 있습니다.

    • Azure Database for PostgreSQL은 오픈 소스 Postgres 관계형 데이터베이스 엔진을 기반으로 하는 완전 관리형 데이터베이스입니다. 하이퍼스케일(Citus) 배포 옵션은 더 큰 규모와 성능이 필요한 애플리케이션에서 분할을 사용해 여러 컴퓨터에서 쿼리를 스케일링합니다.

    • Azure Cosmos DB는 모든 규모의 개방형 API가 있는 완전 관리형 고속 NoSQL 데이터베이스입니다.

  • Azure Site Recovery는 빠른 장애 조치(failover) 시 Azure VM을 보조 Azure 지역에 미러링하고, Azure 데이터 센터에서 실패하면 DR를 미러링합니다.

시나리오 정보

워크로드를 Azure로 리팩터링하면 Windows Server 또는 Linux에서 실행되는 메인프레임 애플리케이션을 변환할 수 있습니다. 클라우드 기반 Azure IaaS(Infrastructure as a Service) 및 PaaS(Platform as a Service)를 사용해 이러한 애플리케이션을 보다 비용 효율적으로 실행할 수 있습니다.

또한 메인프레임 애플리케이션에 대한 일반적인 리팩터링 접근 방식은 레거시 소유에서 표준화되고 벤치마킹된 개방형 기술로의 인프라 변환을 가져옵니다. 이 변환은 오늘날의 높은 생산성, 개방형 시스템 표준인 민첩한 DevOps 원칙을 촉진합니다. 리팩터링은 고유한 레거시 인프라, 프로세스, 애플리케이션의 섬에서 더 나은 비즈니스/IT 조정의 통합된 땅으로 전환해 줍니다.

이 일반적인 리팩터링 접근 방식은 AKS(Azure Kubernetes Service) 또는 Azure VM(가상 머신)을 사용할 수 있습니다. 선택은 기존 애플리케이션의 이동성과 기본 설정에 따라 달라집니다. 리팩터링은 코드를 Java 또는 .NET으로 자동 변환하고 사전 관계형 데이터베이스를 관계형 데이터베이스로 변환함으로써 Azure로의 이동 속도를 높일 수 있습니다.

리팩터링에서는 클라이언트 워크로드를 Azure로 이동하기 위해 다양한 방법론을 지원합니다. 한 가지 방법은 전체 메인프레임 시스템을 한 번에 Azure로 변환하고 이동하여 중간 메인프레임 유지 관리 및 시설 지원 비용을 절약하는 것입니다. 이 접근 방식에는 약간의 위험이 따릅니다. 메인프레임에서 Azure로 원활하게 전환하기 위해서는 모든 애플리케이션 변환, 데이터 마이그레이션 및 테스트 프로세스를 조정해야 합니다.

두 번째 방법론은 최종 목표로 완전히 전환하여 애플리케이션을 메인프레임에서 Azure로 점진적으로 이동하는 것입니다. 이 전술은 애플리케이션당 비용을 절약해 줍니다. 각 애플리케이션을 변환하기 위해 배운 단원은 나중에 변환하는 데 도움이 될 수 있습니다. 모든 것을 한 번에 변환하는 것보다 각 애플리케이션을 자체 일정에 맞게 현대화하는 것이 더 편안할 수 있습니다.

잠재적인 사용 사례

Azure에서 리팩터링하면 조직이 다음을 수행할 수 있습니다.

  • 인프라를 현대화하고 메인프레임의 높은 비용과 제한 사항, 경직성에서 벗어납니다.
  • 전체 재개발의 부작용 없이 메인프레임 워크로드를 클라우드로 이동합니다.
  • 다른 온-프레미스 애플리케이션과 연속성을 유지하면서 중요 비즈니스용 애플리케이션을 마이그레이션합니다.
  • Azure의 수평적/수직적 확장성을 활용합니다.
  • DR(재해 복구) 기능을 얻습니다.

고려 사항

Azure Well-Architected Framework에 따라 다음 고려 사항이 이 솔루션에 적용됩니다.

가용성

Azure Site Recovery는 빠른 장애 조치(failover) 시 보조 Azure 지역에 Azure VM을 미러링하고, 주 Azure 데이터 센터에서 실패하면 DR를 미러링합니다.

작업

리팩터링하면 더 빠른 클라우드의 채택을 지원할 뿐만 아니라 DevOps 및 Agile 작업 원칙의 채택도 촉진됩니다. 개발 및 프로덕션 배포 옵션에 대한 유연성을 모두 갖추게 됩니다.

복원력

성능 효율성은 부하 분산 장치를 통해 이 솔루션에 기본 제공됩니다. 하나의 프레젠테이션 또는 트랜잭션 서버에서 실패하면 부하 분산 장치 뒤에 있는 다른 서버가 워크로드를 실행할 수 있습니다.

보안

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

Private Link는 Azure VM과 Azure 서비스 간의 Azure 네트워킹 백본에 격리된 개인 직접 연결을 제공합니다.

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

비용 최적화

Azure는 정확한 리소스 종류 수를 식별하고, 시간 경과에 따른 지출을 분석하고, 초과 지출 없이 비즈니스 요구 사항을 충족하도록 크기를 조정하여 불필요한 비용을 피합니다.

  • Azure는 VM에서 실행하여 비용을 최적화해 줍니다. 사용하지 않을 때에는 VM을 비활성화하고 알려진 사용 패턴의 일정을 스크립팅할 수 있습니다. VM 인스턴스 비용 최적화에 대한 자세한 내용은 Azure Well-Architected Framework를 참조하세요.

  • 이 아키텍처의 VM은 프리미엄 SSD 또는 울트라 디스크 SSD를 사용합니다. 디스크 옵션 및 가격에 대한 자세한 내용은 Managed Disks 가격을 참조하세요.

  • SQL Database 자동으로 크기가 조정되는 서버리스 컴퓨팅 및 하이퍼스케일 스토리지 리소스를 사용하여 비용을 최적화합니다. SQL Database 옵션 및 가격에 대한 자세한 내용은 Azure SQL Database 가격 책정을 참조하세요.

가격 계산기를 사용하여 이 솔루션의 구현 비용을 예측합니다.

참가자

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

보안 주체 작성자:

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

다음 단계