편집

다음을 통해 공유


Astadia로 메인프레임 애플리케이션 리팩터링

Azure ExpressRoute
Azure Bastion
Azure Load Balancer
Azure Private Link
Azure Site Recovery

Astadia의 자동화된 COBOL 리팩터링 솔루션은 레거시 애플리케이션과 동일한 작업을 수행하는 클라우드 지원 애플리케이션 및 데이터베이스를 제공합니다. 리팩터링된 애플리케이션은 Azure Virtual Machines가 제공하는 가상 머신에서 Azure 애플리케이션으로 실행됩니다. Azure ExpressRoute를 사용하면 사용자가 사용할 수 있으며 Azure Load Balancer는 부하를 분산합니다.

메인프레임 아키텍처

다음은 Astadia 리팩터링 솔루션에 적합한 시스템의 종류를 나타내는 메인프레임 아키텍처입니다.

Astadia 리팩터링에 적합한 메인프레임 아키텍처의 다이어그램

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

데이터 흐름

  1. TN3270 및 HTTP(S) 사용자 입력은 TCP/IP를 통해 도착합니다.
  2. 메인프레임 입력은 표준 메인프레임 프로토콜을 사용합니다.
  3. 일괄 처리 및 온라인 애플리케이션이 있습니다.
  4. COBOL, PL/I, 어셈블러 및 기타 언어로 작성된 애플리케이션은 사용 가능한 환경에서 실행됩니다.
  5. 데이터는 파일 및 계층, 네트워크 및 관계형 데이터베이스에 보관됩니다.
  6. 일반적으로 사용되는 서비스에는 프로그램 실행, I/O 작업, 오류 검색 및 환경 내 보호가 포함됩니다.
  7. 미들웨어 및 유틸리티 서비스에서는 테이프 스토리지, 큐, 출력, 웹 작업을 관리합니다.
  8. 각 운영 체제는 자체 파티션에서 실행됩니다.
  9. 파티션은 다른 워크로드 또는 작업 유형을 분리합니다.

Azure 아키텍처

메인프레임 기능을 리팩터링된 애플리케이션으로 대체하는 Azure 아키텍처는 다음과 같습니다.

Astadia 리팩터링 솔루션에 대한 아키텍처 다이어그램

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

데이터 흐름

  1. 입력은 ExpressRoute를 통해 원격 클라이언트 및 다른 사용자로부터 제공됩니다. TCP/IP는 시스템에 연결하는 기본적인 방법입니다.
    • 온-프레미스 사용자는 TLS(전송 계층 보안) 포트 443을 통해 웹 기반 애플리케이션에 액세스할 수 있습니다. 사용자 인터페이스는 최종 사용자 재학습을 최소화하기 위해 동일하게 유지됩니다.
    • 온-프레미스 관리 액세스는 Azure Bastion 호스트를 사용합니다.
    • Azure 사용자는 가상 네트워크 피어링을 통해 시스템에 연결됩니다.
  2. Load Balancer는 애플리케이션 컴퓨팅 클러스터에 대한 액세스를 관리합니다. Load Balancer는 입력을 처리하기 위한 스케일 아웃 컴퓨팅 리소스를 지원합니다. 애플리케이션 입력에 따라 수준 7, 애플리케이션 수준 또는 수준 4 네트워크 수준에서 작동합니다.
  3. Astadia 런타임 라이브러리는 Azure Virtual Machines에서 리팩터링된 애플리케이션을 실행합니다. 컴퓨팅 리소스는 가속화된 네트워킹을 통해 Azure 프리미엄 SSD 또는 Azure Ultra Disk Storage 관리 디스크를 사용합니다.
  4. 애플리케이션 클러스터의 데이터 서비스는 영구 데이터 원본에 대한 다중 연결을 지원합니다. Azure Private Link는 가상 네트워크 내에서 Azure 서비스로 이어지는 프라이빗 연결을 제공합니다. 데이터 원본에는 Azure SQL Database 및 Azure PostgreSQL과 같은 데이터 서비스가 포함됩니다.
  5. 데이터 스토리지는 사용량에 따라 로컬 중복 또는 지역 중복일 수 있습니다. 다음이 혼합된 것입니다.
    • 고성능 스토리지:
      • 프리미엄 SSD
      • Ultra Disk Storage
    • Blob, 보관 및 백업 스토리지를 포함한 Azure 표준 SSD
  6. Azure 데이터 서비스는 컴퓨팅 클러스터가 공유하는 고가용성의 확장 가능한 데이터 스토리지를 제공합니다. 스토리지는 지역 중복일 수 있습니다.
    • Azure Blob Storage는 외부 데이터 원본의 데이터에 대한 랜딩 존 역할을 합니다.
    • Azure Data Factory는 데이터를 수집하고 여러 Azure 및 외부 데이터 원본을 동기화합니다.
  7. Azure Site Recovery는 VM(가상 머신) 및 컨테이너 클러스터 구성 요소에 대한 재해 복구를 제공합니다.
  8. Microsoft Entra ID, Azure Networking, Azure DevOps, Azure Stream Analytics, Azure Databricks, GitHub 및 Power BI와 같은 서비스는 현대화된 시스템과 쉽게 통합됩니다.

구성 요소

  • ExpressRoute는 연결 공급자의 프라이빗 전용 파이버 연결을 통해 온-프레미스 네트워크를 Azure로 확장합니다. ExpressRoute는 Azure 및 Microsoft 365 같은 Microsoft 클라우드 서비스에 연결해 줍니다.
  • Azure Bastion은 TLS를 통해 Azure Portal의 가상 네트워크 VM에 원활한 RDP(원격 데스크톱 프로토콜) 또는 SSH(보안 셸) 연결을 제공합니다. Azure Bastion은 열린 포트를 최소화하여 관리 액세스 보안 성능을 극대화합니다.
  • Load Balancer는 들어오는 트래픽을 컴퓨팅 리소스 클러스터에 분산합니다. 구성 가능한 규칙 및 기타 조건을 사용하여 트래픽을 분산합니다.
  • Azure Virtual Machines는 다양한 크기 및 유형의 온디맨드 확장성 있는 VM을 제공합니다. Azure Virtual Machines을 사용하면 가상화의 유연성을 얻을 수 있으며 물리적 하드웨어를 구입하고 유지 관리할 필요가 없습니다.
  • Azure Virtual Network는 Azure 개인 네트워크의 기본 구성 요소입니다. 가상 네트워크 내의 VM은 서로 간에 그리고 인터넷 및 온-프레미스 네트워크와도 안전하게 통신할 수 있습니다. 가상 네트워크는 기존의 온-프레미스 네트워크와 비슷하지만 확장성, 고가용성 및 격리와 같은 Azure 인프라 이점을 제공합니다.
  • Private Link는 가상 네트워크에서 Azure 서비스로의 비공개 연결을 제공합니다. Private Link는 네트워크 아키텍처를 간소화하고, 공용 인터넷 노출을 방지하여 Azure 엔드포인트 간의 연결을 보호합니다.
  • Azure Storage는 모든 데이터, 애플리케이션 및 워크로드에 대해 확장 가능하고 안전한 클라우드 스토리지입니다.
    • Azure Disk Storage는 중요 비즈니스용 애플리케이션을 위한 고성능 지속형 블록 스토리지입니다. Azure 관리 디스크는 VM에서 Azure가 관리하는 블록 수준 스토리지 볼륨입니다. 사용 가능한 디스크 유형은 Ultra Disk Storage, 프리미엄 SSD, 표준 SSD 및 Azure 표준 HDD입니다. 이 아키텍처는 프리미엄 SSD 또는 Ultra Disk Storage를 사용합니다.
    • Azure Files는 산업 표준 SMB(서버 메시지 블록) 프로토콜을 통해 액세스할 수 있는, 클라우드에서 완전히 관리되는 파일 공유를 제공합니다. 클라우드 및 온-프레미스 Windows, Linux 및 macOS 배포는 파일 공유를 동시에 탑재하여 액세스를 공유합니다.
    • Azure NetApp Files는 NetApp에서 제공하는 엔터프라이즈급 Azure 파일 공유를 제공합니다. NetApp Files를 사용하면 엔터프라이즈에서 코드 변경 없이 복잡한 파일 기반 애플리케이션을 쉽게 마이그레이션하고 실행할 수 있습니다.
    • Blob Storage는 보관, 데이터 레이크, 고성능 컴퓨팅, 기계 학습 및 클라우드 네이티브 워크로드를 위한 확장 가능하고 안전한 개체 스토리지입니다.
  • Azure는 최신 애플리케이션 요구 사항에 맞게 완전히 관리되는 관계형, NoSQL 및 메모리 내 데이터베이스를 선택할 수 있습니다. 자동화된 인프라 관리는 확장성, 가용성 및 보안을 제공합니다. 데이터베이스 유형에 대한 개요는 Azure의 데이터베이스 유형을 참조하세요.
    • SQL Database는 완전 관리형 데이터베이스 엔진입니다. SQL Database 항상 안정적인 최신 버전의 SQL Server 및 고가용성을 갖춘 패치된 OS에서 실행됩니다. 기본 제공 데이터베이스 관리 기능에는 업그레이드, 패치, 백업 및 모니터링이 포함됩니다. 이러한 작업을 처리하면 도메인별 중요 비즈니스용 데이터베이스 관리 및 최적화에 집중할 수 있습니다.
    • Azure Database for PostgreSQL은 오픈 소스 Postgres 관계형 데이터베이스 엔진을 기반으로 하는 완전 관리형 데이터베이스입니다. 더 큰 규모와 성능이 필요한 애플리케이션의 경우 하이퍼스케일(Citus) 배포 옵션은 쿼리를 분할하여 여러 컴퓨터에 걸쳐 쿼리를 조정합니다.
    • Azure Cosmos DB는 모든 규모의 개방형 API가 포함된 빠른 완전 관리형 NoSQL 데이터베이스입니다.
  • Site Recovery는 Azure 데이터 센터가 실패하는 경우 빠른 장애 조치(failover) 및 재해 복구를 위해 VM을 보조 Azure 지역에 미러링합니다.
  • Data Factory는 스케일 아웃, 서버리스 데이터 통합 및 데이터 변환을 위한 ETL(추출, 변환 및 로드) 서비스입니다. 코드가 필요 없는 UI로 직관적 작성 및 단일 창을 통한 모니터링 및 관리를 지원합니다.

시나리오 정보

회사에서 COBOL 및 메인프레임 시스템을 교체해야 하는 중요한 이유가 있습니다.

  • 도메인 환경 부족: COBOL 및 메인프레임 기술을 이해하는 개발자는 은퇴하고 있고, 이들을 대체하도록 교육을 받은 개발자는 거의 없습니다. 인재 풀은 계속 작아지고 COBOL에 의존하는 비용과 위험은 증가합니다.
  • 제한된 유연성: COBOL 및 이를 지원하는 기본 시스템은 최신 클라우드 기반 애플리케이션용으로 설계되지 않았습니다. 이들은 융통성이 없고 통합하기 어렵습니다.
  • 엄청난 비용: IBM 메인프레임 하드웨어 및 소프트웨어 비용이 높습니다. 보조 메인프레임 애플리케이션 및 데이터베이스에 대한 라이선스 및 유지 관리 비용이 증가하고 있습니다.

COBOL 및 메인프레임 시스템에 대한 방법이 있습니다. Astadia의 자동화된 COBOL 리팩터링 솔루션은 레거시 애플리케이션과 동일한 작업을 수행하는 클라우드 지원 애플리케이션 및 데이터베이스를 제공합니다. 리팩터링된 애플리케이션은 Azure Virtual Machines가 제공하는 가상 머신에서 Azure 애플리케이션으로 실행됩니다. Azure ExpressRoute를 사용하면 사용자가 사용할 수 있으며 Azure Load Balancer는 부하를 분산합니다.

리팩터링하면 비용이 절감되고, 더욱 심도 깊은 통합이 가능하며, 사용자 지정으로 비즈니스 요구 사항을 충족할 수 있습니다. COBOL 및 메인프레임의 부담과 비용은 다음을 포함하여 새로운 품질 및 확장성 세계로 연결됩니다.

  • 자동화된 테스트 및 품질 보증
  • 컨테이너화된 배포 및 오케스트레이션을 위한 Docker 및 Kubernetes

리팩터링 솔루션은 다음과 같은 특징이 있는 애플리케이션을 만듭니다.

  • 기능적으로 원래 대응 항목과 동일합니다.
  • 선택한 Java 또는 C#으로 작성되었습니다.
  • 개체 지향 개념 및 패러다임을 따릅니다.
  • 유지 관리가 용이합니다.
  • 교체하는 원래 애플리케이션 이상의 성능을 발휘합니다.
  • 클라우드를 지원합니다.
  • 표준 DevOps 도구 체인 및 모범 사례를 사용하여 제공됩니다.

리팩터링 프로세스에는 흐름 정규화, 코드 재구성, 데이터 계층 추출, 데이터 리모델링 및 재구성을 위한 패키징이 포함됩니다. 복제된 코드를 식별하고 더 간단한 유지 관리 및 관리 용이성을 위해 공유 개체로 대체합니다. 또한 이 프로세스는 데이터를 분석하고 종속성을 제어하여 데드 코드를 식별하고 제거합니다.

Java 및 C# 개발자는 표준 DevOps 도구와 CI/CD(지속적인 통합 및 지속적인 업데이트) 개념을 사용하여 클라우드 최적화를 위해 리팩터링된 애플리케이션을 조정합니다. 이러한 도구와 메서드는 메인프레임 애플리케이션에 사용할 수 없습니다. 최적화는 탄력성, 세분화된 서비스 정의 및 클라우드 네이티브 서비스와의 간편한 통합과 같은 효율성 및 비즈니스 이점을 제공합니다.

잠재적인 사용 사례

자동화된 리팩터링은 z/OS, OpenVMS 및 VME를 비롯한 대부분의 COBOL 언어 및 플랫폼에서 사용할 수 있습니다. 사용 대상에는 다음을 수행하려는 조직이 포함됩니다.

  • 인프라를 현대화하고 메인프레임 시스템의 높은 비용, 제한 사항 및 경직성을 벗어납니다.
  • COBOL 및 메인프레임 개발자 부족으로 인한 위험을 방지합니다.
  • 운영 비용 및 자본 지출을 줄입니다.
  • 장기간 수동 다시 쓰기 비용과 위험 없이 메인프레임 워크로드를 클라우드로 이동합니다.
  • 온-프레미스 애플리케이션과의 연속성을 유지하면서 중요 업무용 애플리케이션을 클라우드로 마이그레이션합니다.
  • 시스템을 수평 및 수직으로 확장 가능하게 만듭니다.
  • 재해 복구 기술을 구현합니다.

고려 사항

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

안정성

안정성을 통해 애플리케이션이 고객에 대한 약속을 충족할 수 있습니다. 자세한 내용은 안정성대한 디자인 검토 검사 목록을 참조하세요.

  • 이 아키텍처는 Site Recovery를 사용하여 Azure 데이터 센터가 실패하는 경우 빠른 장애 조치(failover) 및 재해 복구를 위해 VM을 보조 Azure 지역에 미러링합니다.
  • SQL Database의 자동 장애 조치(failover) 그룹 기능은 데이터베이스 복제를 관리하고 보조 지역으로 장애 조치(failover)하여 데이터를 보호합니다. 자세한 내용은 자동 장애 조치(failover) 그룹 개요 및 모범 사례(Azure SQL Database)를 참조하세요.
  • 복원력은 Load Balancer를 사용하여 이 솔루션에 기본 제공됩니다. 하나의 프레젠테이션 또는 트랜잭션 서버에서 실패하면 다른 서버가 워크로드를 실행할 수 있습니다.
  • 가용성을 높이기 위해 VM에 대한 가용성 집합을 만드는 것이 좋습니다. 자세한 내용은 가용성 집합 개요를 참조하세요.
  • 지역 복제를 사용하여 안정성을 높이는 것이 좋습니다. 자세한 내용은 Azure Storage 중복성을 참조하세요.

보안

보안은 의도적인 공격 및 중요한 데이터 및 시스템의 남용에 대한 보증을 제공합니다. 자세한 내용은 보안대한 디자인 검토 검사 목록을 참조하세요.

  • 이 솔루션은 Azure 네트워크 보안 그룹을 사용하여 Azure 리소스와의 트래픽을 관리합니다. 자세한 내용은 네트워크 보안 그룹을 참조하세요.
  • Azure SQL Database용 프라이빗 링크는 Azure 네트워킹 백본으로 격리되고 VM과 SQL Database 사이에서 실행되는 프라이빗 직접 연결을 제공합니다.
  • Azure Bastion은 열린 포트를 최소화하여 관리자 액세스 보안을 최대화합니다. 이것은 TLS를 통해 Azure Portal에서 직접 가상 네트워크 VM에 대한 안전하고 원활한 RDP/SSH 연결을 제공합니다.

비용 최적화

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

  • Azure는 정확한 리소스 종류 수를 식별하고, 시간 경과에 따른 지출을 분석하고, 초과 지출 없이 비즈니스 요구 사항을 충족하도록 미리 크기를 조정하여 불필요한 비용을 피합니다.
  • Azure는 VM에서 실행하여 비용을 최소화합니다. 사용되지 않는 VM을 해제하고 알려진 사용 패턴에 대한 일정을 제공할 수 있습니다. VM용 비용 최적화에 대한 자세한 내용은 Virtual Machines 참조하세요.
  • 이 아키텍처의 VM은 프리미엄 SSD 또는 Ultra Disk Storage 사용합니다. 디스크 옵션 및 가격 책정에 대한 자세한 내용은 관리 디스크 가격 책정을 참조하세요.
  • SQL Database 자동으로 크기가 조정되는 서버리스 컴퓨팅 및 하이퍼스케일 스토리지 리소스를 사용하여 비용을 최적화합니다. SQL Database 옵션 및 가격에 대한 자세한 내용은 Azure SQL Database 가격 책정을 참조하세요.
  • 가격 계산기를 사용하여 이 솔루션의 구현 비용을 예측합니다.

운영 우수성

운영 우수성은 애플리케이션을 배포하고 프로덕션 환경에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 운영 우수성대한 디자인 검토 검사 목록을 참조하세요.

리팩터링하면 더 빠른 클라우드의 채택을 지원할 뿐만 아니라 DevOps 및 기민한 개발 원칙의 채택도 촉진됩니다. 개발 및 프로덕션 배포 옵션에 대한 모든 유연성이 있습니다.

성능 효율성

성능 효율성은 워크로드의 크기를 조정하여 사용자가 효율적인 방식으로 요구 사항을 충족하는 기능입니다. 자세한 내용은 성능 효율성대한 디자인 검토 검사 목록을 참조하세요.

이 솔루션은 컨테이너, VM 또는 Virtual Machine Scale Sets의 배포를 지원합니다. 컨테이너 및 Virtual Machine Scale Sets는 VM과 달리 빠르게 스케일 아웃합니다. 크기 조정 단위를 컨테이너로 전환하면 인프라 사용률이 최적화됩니다.

참가자

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

보안 주체 작성자:

기타 기여자:

다음 단계

  • 자세한 내용은 legacy2azure@microsoft.com에 문의하세요.

Azure

Astadia 웹 사이트

기타