Azure에서 IBM z/OS 온라인 트랜잭션 처리

Azure Front Door
Azure Traffic Manager
AKS(Azure Kubernetes Service)
Azure Spring Apps
Azure Cache for Redis

OLTP(온라인 트랜잭션 처리) 시스템은 사용자와 직접 상호 작용하며 비즈니스의 얼굴입니다. 동적으로 조정 가능한 인프라를 통해 비즈니스는 사용자를 만족시키기 위해 제품을 빠르게 실현하고 출시할 수 있습니다.

아키텍처

다음 다이어그램은 마이그레이션할 워크로드의 아키텍처, z/OS 메인프레임에서 실행되는 OLTP 시스템을 보여 줍니다.

z/OS용 OLTP 아키텍처

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

워크플로

다음 워크플로는 이전 다이어그램에 해당합니다.

  1. 사용자는 TN3270 및 HTTPS와 같은 표준 메인프레임 프로토콜을 사용하여 TCP/IP를 통해 메인프레임에 연결합니다.
  2. 트랜잭션 관리자는 사용자와 상호 작용하고 애플리케이션을 호출하여 사용자 요청을 충족합니다.
  3. 애플리케이션 계층의 프런트 엔드에서 사용자는 CICS/IMS 화면 또는 웹 페이지와 상호 작용합니다.
  4. 트랜잭션 관리자는 COBOL 또는 PL/1로 작성된 비즈니스 논리를 사용하여 트랜잭션을 구현합니다.
  5. 애플리케이션 코드는 데이터 계층(일반적으로 DB2, IMS DB 또는 VSAM)의 스토리지 용량을 사용합니다.
  6. 트랜잭션 처리와 함께 다른 서비스는 인증, 보안, 관리, 모니터링 및 보고를 제공합니다. 해당 서비스는 시스템의 다른 모든 서비스와 상호 작용합니다.

여기서는 이 아키텍처를 Azure로 마이그레이션하는 방법을 알아보세요.

z/OS OLTP 워크로드를 마이그레이션하기 위한 아키텍처를 보여 주는 다이어그램

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

  1. 메인프레임 사용자는 3270개 터미널과 온-프레미스 연결에 익숙합니다. 마이그레이션된 시스템에서는 퍼블릭 인터넷을 통해 또는 Azure ExpressRoute로 구현된 프라이빗 연결을 통해 Azure 애플리케이션과 상호 작용합니다. Microsoft Entra ID는 인증을 제공합니다.

  2. 입력 요청은 Azure Front Door 또는 Azure Traffic Manager 같은 글로벌 부하 분산 장치 서비스로 이동합니다. 부하 분산 장치는 지리적으로 분산된 사용자 기반에 서비스를 제공할 수 있습니다. 지원되는 워크로드에 대해 정의된 규칙에 따라 요청을 라우팅합니다. 이 부하 분산 장치는 애플리케이션 계층의 부하 분산을 위해 Azure Application Gateway 또는 Azure Load Balancer와 조정할 수 있습니다. Azure Content Delivery Network 서비스는 WAF(Web Application Firewall) 서비스를 사용하여 보호되는 빠른 응답을 위해 에지 서버에서 정적 콘텐츠를 캐시합니다.

  3. 애플리케이션 계층의 프런트 엔드는 Azure App Service와 같은 Azure 서비스를 사용하여 애플리케이션 화면을 구현하고 사용자와 상호 작용합니다. 화면은 메인프레임 화면의 마이그레이션된 버전입니다.

  4. 애플리케이션 계층의 백 엔드에 있는 COBOL 및 PL/1 코드는 비즈니스 논리를 구현합니다. 이 코드는 Azure Functions, WebJobs 및 Azure Spring Apps 마이크로 서비스와 같은 서비스를 사용할 수 있습니다. 애플리케이션은 AKS(Azure Kubernetes Service) 컨테이너에서 실행할 수 있습니다.

  5. 메모리 내 데이터 저장소는 처리량이 높은 OLTP 애플리케이션을 가속화합니다. 해당 저장소 중 하나는 Azure SQL Database 및 Azure SQL Managed Instance의 기능인 메모리 내 OLTP입니다. 또 다른 저장소는 Azure Cache for Redis입니다.

  6. 데이터 계층에는 다음 항목이 포함될 수 있습니다.

    1. Azure Storage 서비스를 사용하여 구현된 파일, 테이블 및 Blob.
    2. Azure SQL 제품군의 관계형 데이터베이스.
    3. PostgreSQL 및 MySQL 오픈 소스 데이터베이스의 Azure 구현.
    4. Azure Cosmos DB, NoSQL 데이터베이스.

    이러한 저장소는 애플리케이션 계층에서 사용하도록 메인프레임에서 마이그레이션된 데이터를 저장합니다.

  7. Application Insights 및 Azure Monitor와 같은 Azure 네이티브 서비스는 시스템 상태를 사전에 모니터링합니다. Azure 대시보드를 사용하여 Monitor 로그를 통합할 수 있습니다.

구성 요소

이 아키텍처는 여러 Azure 클라우드 서비스로 구성되며 네트워킹 및 ID, 애플리케이션, 스토리지 및 모니터링의 네 가지 리소스 범주로 나뉩니다. 각 역할과 해당 역할에 대한 서비스는 다음 섹션에서 설명합니다.

네트워킹 및 ID

  • Azure ExpressRoute는 온-프레미스 인프라와 Azure 데이터 센터 간에 프라이빗 연결을 전달합니다.
  • Microsoft Entra ID 는 온-프레미스 디렉터리와 동기화할 수 있는 ID 및 액세스 관리 서비스입니다.
  • Azure Front Door는 즉각적인 장애 조치(failover)를 통해 글로벌 HTTP 부하 분산을 제공합니다. 해당 캐싱 옵션은 정적 콘텐츠의 제공을 더 빠르게 할 수 있습니다.
  • Azure Traffic Manager는 선택한 트래픽 라우팅 방법에 따라 들어오는 DNS 요청을 전달합니다.
  • Azure Web Application Firewall은 SQL 삽입, 사이트 간 스크립팅 등의 악의적인 공격과 일반적인 웹 취약성으로부터 웹앱을 보호하는 데 도움이 됩니다.
  • Azure CDN(Content Delivery Network)은 빠른 응답을 위해 정적 콘텐츠를 에지 서버에 캐시하고 네트워크 최적화를 사용하여 동적 콘텐츠에 대한 응답을 개선합니다. CDN은 사용자 기반이 글로벌인 경우에 특히 유용합니다.
  • Azure Application Gateway는 애플리케이션 제공 컨트롤러 서비스입니다. 애플리케이션 계층인 계층 7에서 작동하며 다양한 부하 분산 기능을 제공합니다.
  • Azure Load Balancer는 계층 4(TCP, UDP) 부하 분산 장치입니다. 이 아키텍처에서는 Spring Apps 및 AKS의 부하 분산 옵션을 보여줍니다.

애플리케이션

  • Azure API Management는 API의 게시, 라우팅, 보안, 로깅 및 분석을 지원합니다. 데이터를 표시하고 확장하는 방법과 데이터에 액세스할 수 있는 앱을 제어할 수 있습니다. 앱에 대한 액세스를 제한하거나 타사를 허용할 수 있습니다.
  • Azure App Service는 웹앱을 빌드, 배포 및 스케일링하기 위한 완전 관리형 서비스입니다. .NET, .NET Core, Node.js, Java, Python 또는 PHP를 사용하여 앱을 빌드할 수 있습니다. 앱은 컨테이너에서 실행하거나 Windows 또는 Linux에서 실행할 수 있습니다. 메인프레임 마이그레이션에서 프런트 엔드 화면 또는 웹 인터페이스를 HTTP 기반 REST API로 코딩할 수 있습니다. 해당 API는 메인프레임 애플리케이션에 따라 분리될 수 있으며 마이크로 서비스 기반 시스템을 오케스트레이션하기 위해 상태 비저장일 수 있습니다.
  • WebJobs는 웹앱, API 앱 또는 모바일 앱과 동일한 인스턴스에서 프로그램이나 스크립트를 실행하는 Azure App Service 기능입니다. 웹 작업은 공유 가능하고 재사용 가능한 프로그램 논리를 구현하는 경우 좋은 선택일 수 있습니다. 기술 정보는 Azure App Service에서 WebJobs로 백그라운드 작업 실행을 참조하세요.
  • AKS(Azure Kubernetes Service)는 컨테이너화된 애플리케이션을 배포 및 관리하기 위한 완전 관리형 Kubernetes 서비스입니다. AKS는 운영 오버헤드를 Azure로 오프로드하여 Azure에서 관리형 AKS 클러스터의 배포를 간소화합니다.
  • Azure Spring Apps는 Microsoft 및 VMware가 공동으로 빌드하고 운영하는 완전 관리형 Spring 서비스입니다. 이를 통해 Spring 마이크로 서비스를 쉽게 배포, 관리 및 실행하고 Java 또는 .NET을 사용하여 Spring 애플리케이션을 작성할 수 있습니다.
  • Azure Service Bus는 간단한 하이브리드 통합을 위한 신뢰할 수 있는 클라우드 메시징 서비스입니다. Service Bus 및 Storage 큐는 프런트 엔드를 마이그레이션된 시스템의 비즈니스 논리와 연결할 수 있습니다.
  • Azure Functions는 애플리케이션 인프라를 설정하지 않고도 함수라는 작은 코드 조각을 실행할 수 있는 환경을 제공합니다. 이를 사용하여 대량 데이터를 처리하고, 시스템을 통합하고, IoT를 사용하고, 간단한 API와 마이크로 서비스를 빌드할 수 있습니다. 마이크로 서비스를 사용하면 Azure 서비스에 연결되고 항상 최신 상태인 서버를 만들 수 있습니다.
  • Azure Cache for Redis는 컴퓨팅 리소스 간에 데이터와 상태를 공유하기 위한 완전 관리형 메모리 내 캐싱 서비스입니다. 여기에는 Redis Labs(Redis Enterprise)의 상용 제품과 OSS Redis(오픈 소스 Redis)가 모두 관리되는 서비스로 포함됩니다. Azure Cache for Redis 등의 메모리 내 데이터 저장소를 스케일링하고 사용하도록 디자인하여 처리량이 높은 OLTP 애플리케이션의 성능을 향상할 수 있습니다.

스토리지

모니터링

  • Azure Monitor 는 Azure 및 온-프레미스 환경에서 개인 데이터를 수집, 분석 및 작동합니다.
  • Log Analytics는 강력한 쿼리 언어를 사용하여 Monitor 로그를 쿼리하는 데 사용되는 Azure Portal의 도구입니다. 쿼리 결과를 대화형으로 사용하거나 로그 쿼리 경고 또는 통합 문서와 같은 다른 Azure Monitor 기능과 함께 사용할 수 있습니다. 자세한 내용은 Azure Monitor의 Log Analytics 개요를 참조하세요.
  • Application Insights는 애플리케이션 사용량, 가용성 및 성능에 대한 코드 수준 모니터링을 제공하는 Monitor의 기능입니다. 애플리케이션을 모니터링하고, 평범한 성능 및 오류와 같은 애플리케이션 변칙을 검색하고, 개인 데이터를 Azure Portal로 보냅니다. 로깅, 분산 추적 및 사용자 지정 애플리케이션 메트릭에 대해 Application Insights를 사용할 수도 있습니다.
  • Azure Monitor 경고는 Monitor의 기능입니다. 자세한 내용은 Azure Monitor를 사용하여 메트릭 경고 만들기, 보기 및 관리를 참조하세요.

시나리오 정보

비즈니스 요구 사항과 데이터가 끊임없이 진화하면서 애플리케이션은 인프라 문제를 만들지 않고 생성 및 스케일링되어야 합니다. 이 예제 워크로드에서는 Azure PaaS(Platform as a Service) 서비스를 사용하여 z/OS 기본프레임 OLTP 애플리케이션을 클라우드의 안전하고 확장 가능하며 고가용성 시스템으로 마이그레이션하는 방법을 보여 줍니다. 해당 마이그레이션은 재무, 건강, 보험, 소매 등의 비즈니스가 애플리케이션 제공 타임라인을 최소화하고 애플리케이션 실행 비용을 줄이는 데 도움이 됩니다.

잠재적인 사용 사례

이 아키텍처는 다음 특징이 있는 OLTP 워크로드에 적합합니다.

  • OLTP 워크로드는 국제 사용자 기반에 서비스를 제공합니다.
  • 사용량은 시간이 지남에 따라 크게 달라지므로 유연한 스케일링과 사용량 기반 가격 책정을 활용합니다.

고려 사항

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

안정성

안정성은 애플리케이션이 고객에 대한 약속을 충족할 수 있도록 합니다. 자세한 내용은 안정성 핵심 요소 개요를 참조하세요.

  • 이 OLTP 아키텍처는 여러 지역에 배포할 수 있으며 지역 복제 데이터 계층을 포함할 수 있습니다.
  • Azure 데이터베이스 서비스는 영역 중복을 지원하며 중단이 발생하면 보조 노드로 장애 조치(failover)하거나 기본 테넌트 활동을 허용할 수 있습니다.

보안

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

  • ExpressRoute는 온-프레미스 환경에서 Azure에 대한 프라이빗 연결을 만듭니다. 사이트 간 VPN을 사용할 수도 있습니다.
  • Microsoft Entra ID는 Azure 역할 기반 액세스 제어를 사용하여 리소스를 인증하고 액세스를 제어할 수 있습니다.
  • Azure의 데이터베이스 서비스는 미사용 데이터 암호화와 같은 다양한 보안 옵션을 지원합니다.
  • 보안 솔루션 디자인에 관한 일반적인 참고 자료는 보안 핵심 요소 개요를 참조하세요.

비용 최적화

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

Azure 가격 계산기를 사용하여 구현 비용을 예측합니다.

운영 우수성

운영 우수성은 애플리케이션을 배포하고 프로덕션에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 운영 우수성 핵심 요소 개요를 참조하세요.

  • 이 시나리오에서는 Azure Monitor 및 Application Insights를 사용하여 Azure 리소스의 상태를 모니터링합니다. 사전 관리를 위한 경고를 설정할 수 있습니다.
  • Azure의 복원력에 관한 참고 자료는 신뢰할 수 있는 Azure 애플리케이션 디자인을 참조하세요.

성능 효율성

성능 효율성은 사용자가 배치된 요구 사항을 효율적인 방식으로 충족하기 위해 워크로드의 크기를 조정할 수 있는 기능입니다. 자세한 내용은 성능 효율성 핵심 요소 개요를 참조하세요.

  • 이 아키텍처는 자동 스케일링 기능이 있는 App Service와 같은 Azure PaaS 서비스를 사용합니다.
  • Azure의 자동 스케일링에 관한 참고 자료는 자동 스케일링을 참조하세요.

참가자

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

보안 주체 작성자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계

다음 관련 아키텍처 및 관련 기술 정보를 참조하세요.