Azure への一般的なメインフレームのリファクター

Azure Files
Azure Load Balancer
Azure SQL データベース
Azure Storage
Azure Virtual Machines

次のアーキテクチャは、Azure Kubernetes Service (AKS) または Azure 仮想マシン (VM) を使用できる一般的なリファクター手法を示しています。 この選択は、既存のアプリケーションの移植性とお客様の希望によって異なります。 自動的にコードを Java または .NET に変換し、プレリレーショナル データベースをリレーショナル データベースに変換することで、リファクターでの Azure への移行をスピードアップできます。

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

Architectural diagram showing components of a typical mainframe system.

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

ワークフロー

  • オンプレミス ユーザーは、標準のメインフレーム プロトコル (TN3270 や HTTPS など) を使用して、TCP/IP 経由でメインフレームにアクセスします (A)。
  • 受信アプリケーションは、バッチまたはオンライン システムのいずれかになります (B)
  • COBOL、PL/I、アセンブラー、または互換性のある言語が、有効な環境で実行されます (C)。
  • 典型的なデータおよびデータベース サービスとしては、階層またはネットワーク データベース システム、インデックスまたはフラット データ ファイル、リレーショナル データベースがあります (D)。
  • 一般的なサービスとしては、プログラム実行、I/O 操作、エラー検出、保護があります (E)。
  • ミドルウェアおよびユーティリティ サービスは、テープ ストレージ、キュー、出力、Web サービスを管理します (F)。
  • オペレーティング システムは、コンピューティング エンジンとソフトウェアの間にあるインターフェイスです (G)。
  • 環境内では、パーティションによって個別のワークロードが実行されるか、作業が種類別に分離されます (H)。

リファクターされた Azure アーキテクチャ

Architectural diagram showing components of a refactored mainframe system on Azure.

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

ワークフロー

  1. 入力は、ExpressRoute 経由のリモート クライアントまたは他の Azure ユーザーから届きます。 TCP/IP は、システムに接続するための主な方法です。

    • オンプレミスのユーザーは、トランスポート層セキュリティ (TLS) ポート 443 を介して Web ベースのアプリケーションにアクセスできます。 Web アプリケーションのプレゼンテーション レイヤーは、エンド ユーザーの再トレーニングを最小限に抑えられるよう、変更されないままにすることができます。 または、最新の UX フレームワークを使用してプレゼンテーション レイヤーを更新できます。

    • オンプレミスの管理アクセスでは、Azure Bastion ホストを使用することで、オープンなポートを最小限にしてセキュリティを最大限に確保できます。

    • Azure ユーザーは、仮想ネットワーク ピアリング経由でシステムに接続できます。

  2. Azure で Azure Load Balancer がアプリケーション コンピューティング クラスターにアクセスできます。 Load Balancer はスケールアウト コンピューティング リソースをサポートし、入力を処理します。 アプリケーションの入力がコンピューティング クラスターのエントリ ポイントにどのように到達するかに応じて、レベル 7 のアプリケーション レベルまたはレベル 4 のネットワーク レベルのロード バランサーを使用できます。

  3. アプリケーション コンピューティング クラスターは、Azure VM 上で動作できるほか、AKS クラスター内のコンテナーで動作できます。 通常、PL/I または COBOL アプリケーションのメインフレーム システム エミュレーションでは VM を使用し、Java または .NET にリファクターされたアプリケーションではコンテナーを使用します。 一部のメインフレーム システム エミュレーション ソフトウェアは、コンテナーでのデプロイもサポートします。 コンピューティング リソースでは、高速ネットワークおよびリモート直接メモリ アクセス (RDMA) を備えた Premium または Ultra ソリッドステート ドライブ (SSD) マネージド ディスクを使用します。

  4. コンピューティング クラスター内のアプリケーション サーバーは、Java クラスまたは COBOL プログラムなど、言語機能に基づいてアプリケーションをホストします。 サーバーはアプリケーションの入力を受け取り、Azure Cache for Redis または RDMA を使用してアプリケーションの状態とデータを共有します。

  5. アプリケーション クラスターのデータ サービスでは、永続的なデータ ソースへの複数の接続をサポートしています。 Azure Private Link を使用すると、仮想ネットワーク内から Azure サービスへのプライベート接続が可能になります。 データ ソースには以下のようなものがあります。

    • Azure SQL Database、Azure Cosmos DB、Azure Database for PostgreSQL - Hyperscale などの PaaS データ サービス。
    • Oracle や Db2 など、VM 上のデータベース。
    • Azure Databricks や Azure Data Lake などのビッグ データ リポジトリ。
    • Apache Kafka や Azure Stream Analytics などのストリーミング データ サービス。
  6. データ ストレージは、使用方法に応じてローカル冗長または geo 冗長のいずれかになります。 データ ストレージでは以下を組み合わせて使用できます。

    • Ultra または Premium SSD ディスクを備えたハイパフォーマンス ストレージ。
    • Azure NetApp Files または Azure Files によるファイル ストレージ。
    • BLOB、アーカイブ、バックアップ ストレージなどの標準ストレージ。
  7. Azure PaaS データ サービスは、コンピューティング クラスター リソース全体で共有できる、スケーラブルで可用性の高いデータ ストレージを提供します。 このストレージは geo 冗長にすることもできます。

    • Azure Blob Storage は、外部データ ソースの汎用ランディング ゾーンです。
    • Azure Data Factory は、複数の Azure および外部データ ソースのデータ インジェストと同期をサポートします。
  8. Azure Site Recovery によって、VM とコンテナー クラスター コンポーネントの DR が提供されます。

  9. Microsoft Entra IDAzure ネットワーク、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 は、受信トラフィックをコンピューティング リソース クラスターに分散します。 トラフィックを分散するための規則や基準を定義できます。

  • Azure Kubernetes Service (AKS) は、コンテナ化されたアプリケーションをデプロイして管理するためのフル マネージド 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 によって Azure VM 上で管理されるブロックレベルのストレージ ボリュームです。 使用できるディスクの種類は、Ultra ディスク、Premium SSD、Standard SSD、Standard ハード ディスク ドライブ (HDD) です。 このアーキテクチャでは、Premium SSD または Ultra Disk 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 バージョンおよびパッチ済み OS で動作し、99.99 パーセントの可用性を実現します。 組み込みの PaaS データベース管理機能には、アップグレード、パッチ適用、バックアップ、監視があります。 ドメイン固有のビジネスクリティカルなデータベース管理および最適化に集中できます。

    • Azure Database for PostgreSQL は、オープンソースの Postgres リレーショナル データベース エンジンに基づいたフル マネージドのデータベースです。 Hyperscale (Citus) デプロイ オプションでは、より大きなスケールとパフォーマンスを必要とするアプリケーションのために、シャーディングを使用して複数のマシンにわたってクエリをスケーリングします。

    • Azure Cosmos DB は、あらゆる規模に対応するオープン API を備えたフル マネージドの高速 NoSQL データベースです。

  • Azure Site Recovery は、Azure データセンターに障害が発生した場合にフェールオーバーと DR を速やかに実行するために、Azure VM をセカンダリ Azure リージョンにミラーリングします。

シナリオの詳細

ワークロードを Azure にリファクターすることで、Windows Server または Linux 上で動作するメインフレーム アプリケーションを変革できます。 これらのアプリケーションは、クラウドベースの Azure IaaS (サービスとしてのインフラストラクチャ) と PaaS (サービスとしてのプラットフォーム) を使用して、より高い費用対効果で実行できます。

さらに、メインフレーム アプリケーション向けの一般的なリファクター手法では、従来型の自社開発技術から標準化されたベンチマーク済みのオープンな技術へとインフラストラクチャの変革を進めます。 この変革によって、生産性が高い今日のオープンシステム標準であるアジャイルな DevOps 原則が促進されます。 リファクターを通じて、孤立した固有のレガシ インフラストラクチャ、プロセス、アプリケーションが、よりビジネスと IT の連携がとれた一元的な環境に移行します。

この一般的なリファクター手法では、Azure Kubernetes Service (AKS) または Azure 仮想マシン (VM) を使用できます。 この選択は、既存のアプリケーションの移植性とお客様の希望によって異なります。 自動的にコードを Java または .NET に変換し、プレリレーショナル データベースをリレーショナル データベースに変換することで、リファクターでの Azure への移行をスピードアップできます。

リファクターでは、クライアント ワークロードを Azure に移行するためにさまざまな方法をサポートしています。 1 つの方法として、メインフレーム システム全体を一度に変換して Azure に移行することで、中間メインフレームのメンテナンスと設備サポートのコストを削減できます。 この手法には一定のリスクがあります。 メインフレームから Azure にスムーズに移行するために、すべてのアプリケーション変換、データ移行、テスト プロセスが連携する必要があります。

2 つ目の方法は、完全な移行を行うことを最終的な目標として、アプリケーションをメインフレームから Azure に徐々に移行する方法です。 この方法では、アプリケーションごとに節約を実現できます。また、各アプリケーションの変換で学んだ教訓が、後の変換に役立ちます。 各アプリケーションを個別のスケジュールで最新化する方が、すべてを一度に変換するよりも不安が少ない場合もあります。

考えられるユース ケース

Azure でのリファクターは、組織が以下を行うのに役立ちます。

  • インフラストラクチャを最新化して、メインフレームの高コスト、制限、柔軟性不足を回避する。
  • 完全な再開発という副作用を伴うことなく、メインフレームのワークロードをクラウドに移行する。
  • その他のオンプレミス アプリケーションとの継続性を維持しながら、ビジネスクリティカルなアプリケーションを移行する。
  • Azure の水平方向および垂直方向のスケーラビリティを活用する。
  • ディザスター リカバリー (DR) 機能を利用する。

考慮事項

このソリューションには、Azure Well-Architected Framework に基づく次の考慮事項が適用されます。

可用性

Azure Site Recovery は、プライマリの Azure データセンターに障害が発生した場合にフェールオーバーと DR を速やかに実行するために、Azure VM をセカンダリ Azure リージョンにミラーリングします。

Operations

リファクターは、迅速なクラウド導入をサポートするだけでなく、DevOps およびアジャイルの作業原則の導入を促進します。 お客様は開発および運用デプロイを自在に選択できます。

回復性

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

セキュリティ

このソリューションでは、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 フレームワークに関するページを参照してください。

  • このアーキテクチャの VM では、Premium SSD または Ultra Disk SSD を使用します。 ディスク オプションと価格の詳細については、「Managed Disks の価格」を参照してください。

  • SQL Database は、自動的にスケーリングするサーバーレス コンピューティングおよび Hyperscale ストレージ リソースを使用してコストを最適化します。 SQL Database のオプションと価格の詳細については、「Azure SQL Database の価格」を参照してください。

このソリューションの実装のコストを見積もるには、料金計算ツールを使用します。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Jonathon Frost | プリンシパル ソフトウェア エンジニア

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ