次の方法で共有


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

Azure Files
Azure Load Balancer
Azure SQL Database
Azure Storage
Azure Virtual Machines

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

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

一般的なメインフレーム システムのコンポーネントを示す図。

一般的なメインフレーム システムのコンポーネントを示す図。 この図は、通信、トランザクション処理モニターとアプリケーション、データとデータベース、共通サービス、パーティション上のオペレーティング システム、パーティションの各セクションに分かれています。 この図には、TN3270 ターミナル エミュレーターを使用する管理者ユーザーと、TLS 1.3 ポート 443 経由でアクセスする Web インターフェイス ユーザーを表すアイコンが含まれています。 通信セクションには、LU 2/6.2、TN3270/TN3270E、ソケット、UTS などのさまざまなプロトコルが含まれています。 トランザクション処理モニターとアプリケーション・セクションには、バッチ新規アプリ・ドメイン、トランザクション監視機能、および COBOL、PL/I、アセンブラー、および 4GL を含む 2 つのアプリケーション・セクションが含まれます。 [Common services]\(共通サービス\) セクションには、実行、I/O、エラー検出、保護が含まれます。 [データとデータベース] セクションには、階層データベース システムまたはネットワーク データベース システム、データ ファイル、リレーショナル データベースが表示されます。 統合ミドルウェア セクションには、3 つのサブセクションがあります。 ミドルウェア サブセクションには、Web サービス、管理、トランザクション管理、およびキューが含まれます。 環境インテグレーターのサブセクションには、キュー、管理、出力が含まれます。 [その他のサービス] セクションには、テープの記憶域と監視が含まれます。

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

ワークフロー

次のワークフローは、上記のダイアグラムに対応しています。

  • ある: オンプレミスのユーザーは、TN3270 や HTTPS などの標準的なメインフレーム プロトコルを使用して、伝送制御プロトコル/インターネット プロトコル (TCP/IP) 経由でメインフレームにアクセスします。

  • B: アプリケーションの受信には、バッチ システムまたはオンライン システムを使用できます。

  • C: 有効な環境では、一般的なビジネス指向言語 (COBOL)、プログラミング言語 1 (PL/I)、アセンブラー、または互換性のある言語がサポートされます。

  • D: 一般的なデータおよびデータベース サービスには、階層またはネットワーク データベース システム、インデックスまたはフラット データ ファイル、リレーショナル データベースが含まれます。

  • E: 一般的なサービスには、プログラムの実装、入出力操作、エラー検出、保護が含まれます。

  • F: ミドルウェアおよびユーティリティ サービスは、テープ ストレージ、キュー、出力、および Web サービスを管理します。

  • G: オペレーティング システムは、コンピューティング エンジンとソフトウェアの間のインターフェイスです。

  • H: パーティションは、個別のワークロードを実行するか、環境内で作業の種類を分離します。

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

Azure 上のリファクタリングされたメインフレーム システムのコンポーネントを示す図。

この図は、Azure 上のリファクタリングされたメインフレーム システムのコンポーネントを示す詳細な図です。 [オンプレミス] セクションには、Tcp ポート 443 を介した Azure への Web 参照とファイアウォール アクセスのアイコンが含まれています。 Azure セクションには、Azure ロード バランサー、Azure Kubernetes サービス クラスター、仮想マシン、ネットワーク セキュリティ グループなど、いくつかのコンポーネントが含まれています。 このセクションには、2 つのサブセクションがあります。 1 つのサブセクションには、Kubernetes ノード、Java アプリ サーバー、Java サービス、パートナー Java クラス、SSD マネージド ディスク、RDMA、Azure Files、Azure NetApp Files、CIFS または NFS を使用した高速ネットワークが含まれます。 2 番目のサブセクションには、リファクタリングされたアプリ サーバー、クライアント トランザクション ランタイム、パートナー データ サービス統合、COBOL や PL/I App 1、App 2 などのアプリケーション、SSD マネージド ディスク、RDMA、Azure Files、CIFS または NFS を使用した高速ネットワークが含まれています。 複数の両面矢印を使用して、これらのサブセクションを図の他のセクションに接続します。 Azure SQL データベース セクションには、プライマリ データベース サーバーとセカンダリ データベース サーバーが含まれており、両面矢印で Azure SQL Database の Private Link セクションに接続されています。 Azure Blob Storage アカウント セクションには、外部ソースと Azure BLOB コンテナーからのランディング ゾーンが含まれています。 データ サービス セクションには、Azure Data Factory、Azure Files ストレージ アカウント、Azure Site Recovery が含まれます。 Microsoft Entra ID、Azure Networking、Azure Stream Analytics、Azure Databricks、Power BI をグループ化するセクションをシステムと統合できます。

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

ワークフロー

次のワークフローは、上記のダイアグラムに対応しています。

  1. 入力は、Azure 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) を備えた Azure Premium SSD ディスクまたは Azure Ultra Disk Storage が使用されます。

  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 Storage などのビッグ データ リポジトリ。

    • Apache Kafka や Azure Stream Analytics などのストリーミング データ サービス。

  6. データ ストレージは、使用方法に応じてローカル冗長または geo 冗長のいずれかになります。 データ ストレージでは以下を組み合わせて使用できます。

    • Ultra Disk Storage または Premium SSD を使用した高パフォーマンス ストレージ。

    • Azure NetApp Files または Azure Files によるファイル ストレージ。

    • BLOB、アーカイブ、バックアップ のオプションを含む Standard Storage。

  7. Azure PaaS データ サービスは、コンピューティング クラスター リソース全体で共有できる、スケーラブルで可用性の高いデータ ストレージを提供します。 このストレージは geo 冗長にすることもできます。

    • Azure Blob Storage は、外部データ ソースの汎用ランディング ゾーンです。

    • Azure Data Factory は、複数の Azure および外部データ ソースのデータ インジェストと同期をサポートします。

  8. Azure Site Recovery は、VM およびコンテナー クラスター コンポーネントにディザスター リカバリー (DR) を提供します。

  9. Microsoft Entra IDAzure Networking、Stream Analytics、Azure Databricks、Power BI などのサービスは、最新化されたシステムと簡単に統合できます。

コンポーネント

この例では、次の Azure コンポーネントを取り上げます。 これらのコンポーネントとワークフローの一部は、シナリオに応じて交換可能または省略可能です。

  • ExpressRoute は、接続プロバイダーからのプライベートな専用ファイバー接続を介して、オンプレミスネットワークを Azure に拡張するサービスです。 このアーキテクチャでは、ExpressRoute は Azure や Microsoft 365 などの Microsoft クラウド サービスへの接続を確立します。

  • Azure Bastion は、Tls 経由で Azure portal から仮想ネットワーク VM にシームレスなリモート デスクトップ プロトコル (RDP) または Secure Shell (SSH) 接続を提供する PaaS サービスです。 このアーキテクチャでは、開いているポートを最小限に抑えることで、Azure Bastion によって管理アクセス セキュリティが最大化されます。

  • Load Balancer は、受信トラフィックをコンピューティング リソース クラスターに分散するサービスです。 このコンポーネントを使用して、トラフィックを分散するルールやその他の条件を定義します。 Load Balancer を使用すると、コンピューティング リソースをスケールアウトして入力作業を処理できるため、効率的な負荷分散を確保できます。

  • AKS は、コンテナー化されたアプリケーションをデプロイおよび管理するためのフル マネージド Kubernetes サービスです。 このアーキテクチャでは、AKS はサーバーレス Kubernetes、統合された継続的インテグレーションと継続的デリバリー (CI/CD) エクスペリエンス、エンタープライズ レベルのセキュリティとガバナンスを提供します。

  • Azure Virtual Machines は、さまざまなサイズと種類のオンデマンドでスケーラブルなコンピューティング リソースを提供するサービスです。 このコンポーネントは、物理ハードウェアを購入して保守する必要なく、仮想化の柔軟性を提供します。

  • Azure Virtual Network は、Azure プライベート ネットワークの基本的な構成要素として機能します。 仮想ネットワークは従来のオンプレミス ネットワークに似ていますが、スケーラビリティ、高可用性、分離などの Azure インフラストラクチャの利点があります。 このコンポーネントにより、仮想ネットワーク内の Azure VM は、互い、インターネット、およびオンプレミス ネットワークとより安全に通信できます。

  • Private Link は、仮想ネットワークから Azure サービスへのプライベート接続を提供するサービスです。 このアーキテクチャでは、Private Link はネットワーク アーキテクチャを簡素化し、パブリック インターネットへの露出を排除することで Azure エンドポイント間の接続をセキュリティで保護します。

  • Azure Cache for Redis は、高速で大量のデータを処理するために、アプリケーション アーキテクチャにクイック キャッシュ レイヤーを追加するフル マネージド サービスです。 このアーキテクチャ コンポーネントは、パフォーマンスを簡単かつコスト効率の高い方法でスケーリングします。

  • Azure Storage は、すべてのデータ、アプリケーション、ワークロードに対してスケーラブルで安全なクラウド ストレージを提供するクラウドベースのサービスです。 このアーキテクチャでは、Storage はさまざまなデータ型とアプリケーションに必要なストレージ インフラストラクチャを提供します。

    • Azure Disk Storage は、ビジネス クリティカルなアプリケーション向けの高パフォーマンスで耐久性のあるブロック ストレージ サービスです。 Azure マネージド ディスクは、Azure VM 上で Azure が管理するブロックレベルのストレージ ボリュームです。 使用可能なディスクの種類は、Ultra Disk Storage、Premium SSD、Azure Standard SSD、Azure Standard HDD です。 このアーキテクチャでは、Premium SSD ディスクまたは Ultra Disk Storage が使用されます。

    • Azure Files は、クラウド内のファイル共有を提供する、フル マネージドのクラウドベースのファイル ストレージ サービスです。 これらのファイル共有には、業界標準のサーバー メッセージ ブロック (SMB) プロトコルを使用してアクセスできます。 このアーキテクチャでは、Azure Files はクラウドとオンプレミスのデプロイ用のマネージド ファイル共有を提供します。 クラウドおよびオンプレミスの Windows、Linux、macOS デプロイで、Azure Files のファイル共有を同時にマウントできます。

    • Azure NetApp Files は、NetApp を利用したエンタープライズ レベルの Azure ファイル共有を提供するフル マネージドのファイル ストレージ サービスです。 これを使用して、コードを変更することなく、複雑なファイル ベースのアプリケーションを移行して実行します。

    • Blob Storage は、アーカイブ、データ レイク、ハイパフォーマンス コンピューティング、機械学習、クラウドネイティブ ワークロード向けのスケーラブルで安全なオブジェクト ストレージです。 このアーキテクチャでは、Blob Storage は外部データ ソースの共通ランディング ゾーンとして機能します。

  • Azure データベース では、最新のアプリケーションのニーズに合わせて、フル マネージドのリレーショナル データベースと NoSQL データベースを選択できます。 自動化されたインフラストラクチャ管理によって、スケーラビリティ、可用性、セキュリティが実現します。

    • SQL Database は、フル マネージドの PaaS データベース エンジンです。 このアーキテクチャでは、クラスター内の複数のコンピューティング リソース間で共有するスケーラブルで高可用性のデータ ストレージを提供します。 SQL Database は常に、最新の安定バージョンの SQL Server と、99.99% 可用性を備えた修正プログラムが適用されたオペレーティング システムで実行されます。 組み込みの PaaS データベース管理機能には、アップグレード、パッチ適用、バックアップ、監視があります。 SQL Database を使用して、ドメイン固有のビジネス クリティカルなデータベースの管理と最適化に重点を置くことができます。

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

    • Azure Cosmos DB は、あらゆる規模のオープン API を備えるフル マネージドの高速 NoSQL データベースです。 このアーキテクチャでは、Azure Cosmos DB は、さまざまなアプリケーションにスケーラブルで高可用性のデータ ストレージを提供します。

  • Site Recovery は、Azure VM をセカンダリ Azure リージョンにミラーリングする DR サービスです。 この機能により、Azure データセンターの障害が発生した場合の迅速なフェールオーバーと復旧が可能になります。 このアーキテクチャでは、Site Recovery は VM とコンテナー クラスター コンポーネントの両方に対して DR をサポートします。

シナリオの詳細

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

メインフレーム アプリケーションの一般的なリファクタリング アプローチは、インフラストラクチャの変革を促進し、システムを従来の独自のテクノロジから標準化されたベンチマークされたオープン ソリューションに移行します。 この変換では、今日の高生産性のオープン システム標準の基盤であるアジャイル DevOps 原則がサポートされています。 リファクタリングは、分離されたレガシ インフラストラクチャ、プロセス、アプリケーションを、ビジネスと IT の連携を強化する統合環境に置き換えます。

この一般的なリファクタリングアプローチでは、AKS または Azure VM を使用できます。 選択は、既存のアプリケーションの移植性と好みによって異なります。 リファクタリングでは、コードを Java または .NET に自動的に変換し、事前リレーショナル データベースをリレーショナル データベースに変換することで、Azure への移行を高速化できます。

リファクタリングでは、クライアント ワークロードを Azure に移動するためのさまざまな方法がサポートされています。 1 つの方法は、メインフレーム システム全体を 1 つの包括的なプロセスで Azure に変換して移行することです。 このアプローチにより、中間メインフレームのメンテナンスと施設のサポート コストが不要になります。 ただし、この方法では、すべてのアプリケーション変換、データ移行、およびテスト プロセスが、メインフレームから Azure へのスムーズな移行を確実に行うために整合する必要があるため、リスクが伴います。

もう 1 つの方法は、時間の経過と共に移行することを目的として、アプリケーションをメインフレームから Azure に段階的に移行することです。 この方法では、アプリケーションごとにコストを削減できます。 また、各変換から学習して、後続の移行を通知および改善する機会も提供します。 この方法では、各アプリケーションを独自のスケジュールに従って最新化することで、すべてを一度に移行するための、より管理しやすく、より集中的な代替手段が提供されます。

考えられるユース ケース

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

  • インフラストラクチャを最新化し、メインフレームの高いコスト、制限、および剛性を回避します。
  • 完全な再開発の複雑さを回避しながら、メインフレームワークロードをクラウドに移行します。
  • 他のオンプレミス アプリケーションとの継続性を維持しながら、ビジネスクリティカルなアプリケーションを移行します。
  • Azure での水平方向および垂直方向のスケーラビリティの利点。
  • DR 機能を利用する。

考慮事項

これらの考慮事項では、Azure Well-Architected Framework の柱を実装します。これは、ワークロードの品質を向上させるために使用できる一連の基本原則です。 詳細については、「 Well-Architected Framework」を参照してください。

信頼性

信頼性は、アプリケーションが顧客に対して行ったコミットメントを確実に満たすことができるのに役立ちます。 詳細については、「信頼性の設計レビュー チェックリスト」を参照してください。

このアーキテクチャでは、 Site Recovery は Azure VM をセカンダリ Azure リージョンにミラーリングして、プライマリ Azure データセンターで障害が発生した場合に迅速なフェールオーバーと DR を行います。

セキュリティ

セキュリティは、意図的な攻撃や貴重なデータとシステムの誤用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。

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

  • Private Link は、Azure VM と Azure サービスの間で、Azure ネットワーク バックポーンに隔離されたプライベートな直接接続を実現します。

  • Azure Bastion は、オープンなポートを最小限にすることで、管理アクセス セキュリティを最大限に確保します。 Azure Bastion は、TLS 経由で Azure portal から仮想ネットワーク VM に対して高度にセキュリティで保護されたシームレスな RDP および SSH 接続を提供します。

コストの最適化

コストの最適化では、不要な経費を削減し、運用効率を向上させる方法に重点を置いています。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。

  • Azure では、リソースの種類の適切な数を特定し、時間の経過に伴う支出を分析し、超過出費のないようビジネス ニーズに合わせてスケーリングして、不要なコストを抑えます。 Azure では、VM を実行することでコストを最適化します。 VM が使用されていない場合は無効にし、既知の使用パターンのスケジュールをスクリプト化できます。 詳細については、コンポーネント コストを最適化するための Azure Well-Architected Framework推奨事項に関するページを参照してください

  • このアーキテクチャの VM では、Premium SSD ディスクまたは Ultra Disk Storage が使用されます。 詳細については、「マネージド ディスクの価格」を参照してください。

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

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

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスのデザイン レビュー チェック一覧」を参照してください。

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

パフォーマンス効率

パフォーマンス効率とは、ユーザーの要求を効率的に満たすためにスケーリングするワークロードの能力を指します。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。

ロード バランサーは、パフォーマンス効率をこのソリューションに統合します。 1 つのプレゼンテーション サーバーまたはトランザクション サーバーで障害が発生した場合、ロード バランサーの背後にある他のサーバーがワークロードを処理します。

共同作成者

Microsoft では、この記事を保持しています。 次の共同作成者がこの記事を書きました。

プリンシパル作成者:

公開されていない LinkedIn プロフィールを見るには、LinkedIn にサインインしてください。

次のステップ