IBM z/OS メインフレーム結合機能 (CF) を Azure にリファクタリングする

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

このアーキテクチャは、Azure がスケールアウト パフォーマンスと高可用性を実現する方法を示しています。これは、結合機能 (CF) を備えた IBM z/OS メインフレーム システム に似たものです。

アーキテクチャ

メインフレームのアーキテクチャ

次の図は、結合機能と Parallel Sysplex を使用した IBM z/OS メインフレーム システムのアーキテクチャを示しています。

結合機能と Parallel Sysplex コンポーネントを使用した IBM z/OS メインフレーム アーキテクチャを示す図

このアーキテクチャの Visio ファイルをダウンロードします。

ワークフロー

  • 入力は TCP/IP を介してメインフレームに移動し、TN3270 や HTTPS (A) のような標準のメインフレーム プロトコルを使用します。
  • 受信アプリケーションは、バッチまたは オンライン システム (B) のいずれかになります。 バッチ ジョブは、データ層のデータを共有する複数の CEC 間で分散または複製できます。 オンライン層では、Parallel Sysplex CICS または CICSPlex を使用して、複数の CEC に論理 CICS リージョンを分散できます。
  • COBOL、PL/I、アセンブラー、互換性のあるアプリケーション (C) は、CICSPlex などの Parallel Sysplex が有効な環境で実行されます。
  • その他のアプリケーションサービス (D) は、CF 全体で共有メモリを使用することもできます。
  • Db2 (E) などの Parallel Sysplex が有効なデータ サービスを使用すると、共有環境でデータ ストレージをスケールアウトできます。
  • MQSeries、管理、および印刷 (F) などのミドルウェアおよびユーティリティ サービスは、各 CEC の z/OS で実行されます。
  • 各 CEC (G) 上の論理パーティション (LPAR) は、z/OS を実行します。 Z/VM や、zIIP や IFL などの他のエンジンなどの他のオペレーティング環境も存在する可能性があります。
  • CEC は、CF (H) を使用して共有メモリと状態に接続します。
  • CF (I) は、複数の CEC を共有メモリに接続する物理デバイスです。

Azure アーキテクチャ

次の図は、Azure サービスが、Parallel Sysplex と CF を使用して、z/OS メインフレームに同様の機能とパフォーマンスを提供する方法を示しています。

IBM z/OS メインフレーム コンポーネントが Azure の機能にどのようにマップされるかを示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

ワークフロー

  1. 入力は、Express Route を使用したリモート クライアントから、または他の Azure アプリケーションから取得されます。 どちらの場合も、TCP/IP はシステムへのプライマリ接続です。

    Azure システム リソースにアクセスするための Web ブラウザーにより、デマンドおよびオンライン ユーザーのターミナル エミュレーションが置き換えられます。 ユーザーは、TLS ポート 443 経由で Web ベースのアプリケーションにアクセスします。 Web アプリケーションのプレゼンテーション レイヤーは、エンド ユーザーの再トレーニングを最小限に抑えられるよう、実質的に変更されないままにすることができます。 または、Web アプリケーションのプレゼンテーション レイヤーを最新のユーザー エクスペリエンス フレームワークに更新することもできます。

    Azure Virtual Machines (VM) への管理者アクセスのために、Azure Bastion ホストは開いているポートを最小限に抑えることでセキュリティを最大限に高めます。

  2. Azure では、アプリケーション コンピューティング クラスターへのアクセスは、Azure Load Balancer によって行われます。これにより、スケールアウト コンピューティング リソースを使用して入力作業を処理できます。

  3. 使用するアプリケーション コンピューティング クラスターの種類は、アプリケーションが VM 上で実行されるか、Kubernetes のようなコンテナー クラスターで実行されるかによって異なります。 通常、PL/I または COBOL で作成されたアプリケーションのメインフレーム システム エミュレーションは VM を使用し、Java または .NET にリファクタリングされたアプリケーションはコンテナーを使用します。 一部のメインフレーム システム エミュレーション ソフトウェアは、コンテナー内の展開をサポートすることもできます。

  4. アプリケーション サーバー (Java 用 Tomcat、または COBOL 用 CICS/IMS トランザクション処理モニターなど) は入力を受け取り、Redis またはリモート ダイレクト メモリ アクセス (RDMA) 用の Azure キャッシュを使用してアプリケーションの状態とデータを共有します。 この機能は、メインフレームの CF に似ています。

  5. アプリケーション クラスターのデータ サービスでは、永続的なデータ ソースへの複数の接続が可能です。 これらのデータ ソースには、Azure SQL Database と Azure Cosmos DB のような PaaS (サービスとしてのプラットフォーム) データ サービス、Oracle や DB2 などの VM 上のデータベース、Databricks や Azure Data Lake などのビッグ データ リポジトリを含めることができます。 アプリケーション データ サービスは、Kafka や Azure Stream Analytics などのストリーミング データ解析サービスに接続することもできます。

    Azure PaaS データ サービスは、クラスター内の複数のコンピューティング リソースが共有できるスケーラブルで可用性の高いデータ ストレージを提供します。 これらのサービスは geo 冗長でもかまいません。

  6. アプリケーション サーバーは、Tomcat の Java クラスや CICS エミュレーション VM で CICS Verb を使用する COBOL プログラムなど、言語に基づいてさまざまなアプリケーションプログラムをホストします。

  7. データ サービスでは、Ultra または Premium の SSD (ソリッド ステート ドライブ) の高パフォーマンス ストレージ、Azure NetApp Files または Azure Files 上のファイル ストレージ、ローカル冗長または geo 冗長である標準の BLOB、アーカイブ、バックアップ ストレージを組み合わせます。

  8. Azure BLOB ストレージは、外部データ ソースの汎用ランディング ゾーンです。

  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 または仮想マシン スケール セット内のインスタンスを使用できます。 ロード バランサーは、クライアントにとっての単一接続点となります。

    ロード バランサーは、開放型システム間相互接続 (OSI) モデルの第 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、およびオンプレミスのリソースと通信できます。 このアーキテクチャに示すように、1 つの Azure VM に複数のネットワーク インターフェイス カードを追加することができ、それにより、子 VM で独自の専用ネットワーク インターフェイス デバイスと IP アドレスを使用できます。

  • Azure Kubernetes Service (AKS) は、コンテナー ベースのコンピューティング クラスターでコンテナ化されたアプリケーションをデプロイおよび管理するためのフル マネージド Kubernetes サービスです。

  • Azure Cache for Redis は、データ集中型アーキテクチャのパフォーマンスとスケーラビリティを向上させる、フル マネージドメモリ内キャッシュです。 現在のアーキテクチャでは、 Azure Cache for Redis を使用して、コンピューティング リソース間でデータと状態を共有します。

  • Azure SQL Database は、安定した最新バージョンの SQL Server とパッチ適用済みの OS 上で常に実行され、99.99% の可用性がある、フル マネージド PaaS データベース エンジンです。 SQL Database では、アップグレード、修正プログラムの適用、バックアップ、モニタリング、ほとんどのデータベース管理機能がユーザーの介入なしで処理されます。 これらの PaaS 機能を使用すると、ユーザーはビジネス クリティカルな、ドメイン固有のデータベースの管理と最適化に集中できます。

  • Azure SQL Database 用 Azure Private Link を使用すると、Azure VM から、Azure ネットワーク バックボーンに分離された Azure SQL Database へのプライベートな直接接続を提供できます。

  • Azure Cosmos DB は、NoSQL データベース用の Azure PaaS サービスです。

  • Azure Database for PostgreSQL は、PostgreSQL データベース用の Azure PaaS サービスです。

  • Azure マネージド ディスクは、Azure が Azure VM 上で管理するブロックレベルのストレージ ボリュームです。 使用できるディスクの種類は、Ultra ディスク、Premium SSD、Standard SSD、Standard ハード ディスク ドライブ (HDD) です。 このアーキテクチャでは、Premium 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) は、複数のメインフレーム サーバーまたは中央電子処理装置 (CEC) を共有メモリに接続する物理デバイスであり、システムをスケールアウトしてパフォーマンスを向上させることができます。 COBOL や PL/I などの言語で記述されたアプリケーションは、これらの密結合スケールアウト機能をシームレスに活用できます。

IBM Db2 データベースとカスタマー情報管理システム (CICS) サーバーは、データ共有と並列コンピューティングを組み合わせた、Parallel Sysplex と呼ばれるメインフレームサブシステムで CF を使用できます。 Parallel Sysplex を使用すると、最大で 32 個のシステムのクラスターでワークロードを共有でき、高パフォーマンス、高可用性、ディザスターリカバリー (DR) が得られます。 Parallel Sysplex を使用したメインフレーム CF は、通常、同じデータセンターに存在し、CEC 間に近接していますが、データセンター間で拡張することもできます。

Azure リソースは、共有データと高可用性を備えた同様のスケールアウト パフォーマンスを提供できます。 Azure compute クラスターは、 Azure Cache for Redis などのデータ キャッシュ メカニズムによってメモリを共有し、Azure SQL Database や Azure Cosmos DB などのスケーラブルなデータテクノロジを使用します。 Azure では、可用性セットとグループを geo 冗長機能と組み合わせて実装し、分散型 Azure データセンターにスケール アウト コンピューティングと高可用性を拡張できます。

考慮事項

これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

可用性

このアーキテクチャでは Azure Site Recovery を使用して、Azure データセンター障害が発生した場合の迅速なフェールオーバーおよび DR のために、Azure VM をセカンダリ Azure リージョンにミラー化します。

回復性

このソリューションには、Load Balancer によって回復性が組み込まれています。 1 つのプレゼンテーションまたはトランザクション サーバーで障害が発生した場合、Load Balancer の背後にあるもう一方のサーバーがワークロードを実行します。

スケーラビリティ

サーバー セットをスケールアウトすることで、スループットを向上させることができます。 詳しくは、仮想マシン スケール セットに関する記事をご覧ください。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。

  • このソリューションでは、Azure ネットワーク セキュリティ グループ (NSG) を使用して、Azure リソース間のトラフィックを管理します。 詳細については、「ネットワーク セキュリティ グループ」を参照してください。

  • Azure SQL Database 用 Private Link を使用すると、Azure VM から Azure SQL Database への、Azure ネットワーク バックボーンに分離されたプライベートな直接接続を提供できます。

  • Azure Bastion は、開いているポートを最小化することで、管理者アクセス セキュリティを最大化します。 Bastion は、TLS 経由で Azure ポータルから直接、ネットワーク VM に安全かつシームレスに RDP/SSH 接続できます。

コストの最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

  • Azure SQL Database では、高い 1 秒あたりの入出力操作数 (IOPS) と高いアップタイム SLA を使用するために、Hyperscale または Business Critical の SQL Database 階層を使用する必要があります。

  • このアーキテクチャでは、Premium SSD または Ultra Disk SSD が最適です。 詳細については、「Managed Disks の価格」を参照してください。

次のステップ