次の方法で共有


Infinite i を使用して IBM System i を Azure に移行する

Azure Virtual Machines
Azure SQL Database

この記事では、Infinite i を使用して IBM System i ワークロードを Azure に移行する方法について説明します。 Infinite i は、レポート プログラム ジェネレーター (RPG) と一般的なビジネス指向言語 (COBOL) ソース コードを、x86 仮想マシン (VM) 上でネイティブに実行されるオブジェクト コードに変換します。 アプリケーション画面と相互作用は以前と同様に機能し、ユーザーの再トレーニングの必要性を最小限に抑えます。 移行後は、元のソース コードを通常どおりに変更することで、プログラムの保守と更新を行うことができます。

アーキテクチャ

Infinite i を使用して System i ワークロードを Azure に移行するアーキテクチャの図。

点線は、図をオンプレミスと Azure の 2 つのセクションに分割します。 ワークフローは、オンプレミス セクションから開始します。 両面矢印は、ユーザー アイコンと Azure ExpressRoute アイコンを接続します。 次の手順では、図の Azure 側にある ExpressRoute アイコンと Azure Load Balancer アイコンを両面矢印で接続します。 別の行は、Azure システムのユーザーがピアリングされた仮想ネットワーク経由でこの接続にアクセスする方法を示しています。 2 つの矢印は、Load Balancer を、Infinite i アクティブ アプリケーション サーバーと Infinite i パッシブ アプリケーション サーバーを表すアイコンに接続します。 各サーバーのボックスには、RBG、COBOL、SQL、データ ファイル、データ、ジョブ、メッセージ キュー、内部データベース、Azure Files SMB 3.0 マウントなどのテクノロジを表す小さなボックスが含まれています。 矢印は、各 Azure Files SMB 3.0 マウントを Azure ストレージ アカウント内の Azure Files ファイル共有に接続します。 もう 1 つの矢印は、プライマリ リージョンのアクティブなサーバー ボックスと Azure SQL データベースを接続します。 これらのデータベースからセカンダリ リージョン内のデータベースへの矢印は、自動フェールオーバー機能を表します。 Azure Site Recovery アイコンは、図の Azure セクションのコンポーネントのディザスター リカバリー機能を表します。

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

ワークフロー

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

  1. TN5250 Web ターミナル エミュレーションは、Secure Sockets Layer/Transport Layer Security で暗号化された接続を介して Azure へのユーザー アクセスを提供します。

  2. Azure ExpressRoute では、オンプレミスと Azure リソースの間に専用の高速接続が提供されます。

  3. Azure Load Balancer は、受信 TN5250 トラフィックを仮想ネットワーク内の 2 つの Infinite i アプリ サーバー (アクティブおよびスタンバイ) に分散します。 Azure ベースのクライアントは、ピアリングされた仮想ネットワーク経由で接続します。 次の表では、サポートされている構成について説明します。

    モデル 支援 詳細
    アクティブ/パッシブ イエス このモデルをお勧めします。 可用性ゾーン間のレプリケーションとフェールオーバーを使用します。
    アクティブ/アクティブ (Load Balancer) いいえ データベースとセッションの状態の制約のため、このモデルはサポートされていません。
    複数の VM (Azure 仮想マシン スケール セット) このモデルは、インフラストラクチャのデプロイにのみ使用します。 ワークロードのスケーリングには使用しないでください。
    クラスター化されたデータベース バックエンド いいえ このモデルは、Infinite i の現在のアーキテクチャと互換性がありません。
  4. Infinite i コンパイラは、System i ソース コード (RPG および COBOL) を 64 ビット オブジェクト コードに変換して、Azure x86 VM 上で実行します。 ランタイムは CL、CMD、および SQL を解釈します。

  5. Infinite i には、物理ファイル、論理ファイル、複数メンバー・ファイル、結合、トリガー、参照整合性、コミットメント制御、ジャーナル処理などの DB2/400 機能をエミュレートする内部データベースが含まれています。 アプリケーションが Azure 上で実行されると、AS/400 環境と同様に、コードを変更する必要なくデータにアクセスします。 Infinite i は、Open Database Connectivity (ODBC) や Java Database Connectivity (JDBC) などの内部データベース コネクタを提供し、内部データベース内の物理ファイルと論理ファイルに接続します。

  6. Azure Files は、Infinite i ファイルを実装するためのファイル共有を提供します。 Azure VM にファイル共有をマウントすると、プログラムはファイルに直接アクセスできます。 ファイル共有には、ロード モジュールとログ ファイルも保持されます。

  7. 手順 5 で説明する内部データベースの代わりに、DB2/400 データベースを標準の SQL データベースに移行できます。 データベース オプションは、SQL Server、Azure SQL、Oracle、MySQL です。 これらのオプションは、内部データベースと同じ機能をサポートします。 Infinite i がデータベースを移行すると、物理ファイルをテーブルにマップし、論理ファイルをビューにマップするデータベース スキーマを作成します。

  8. Azure Site Recovery によって、ディザスター リカバリーが提供されます。

コンポーネント

  • Azure Virtual Machines VM は、物理ハードウェアのメンテナンス要求を排除する、オンデマンドでスケーラブルなコンピューティング リソースです。 このアーキテクチャでは、移行されたワークロードを実行し、柔軟性とスケーラビリティを提供します。 オペレーティング システムの選択には、Windows と Linux が含まれます。

  • 仮想マシン スケール セット は、VM のスケーリングを自動化し、負荷分散します。 これらのアクションにより、アプリケーションの管理が簡素化され、可用性が向上し、アプリケーションの高可用性とパフォーマンスが確保されます。

  • Microsoft Azure Virtual Network は、クラウド内のセキュリティで保護されたプライベート ネットワークです。 VM を相互に接続し、インターネットに接続し、オンプレミス ネットワークに接続します。 移行されたワークロードに必要な接続が提供されます。

  • Azure Private Link は、Azure サービスへのプライベート接続を運びます。 コンポーネント間の安全な通信を確保するのに役立ちます。

  • Azure の負荷分散サービスでは、高可用性とハイ パフォーマンスを実現するために VM がスケーリングされます。 このアーキテクチャでは、 Load Balancer を使用します。これにより、VM 間および多層ハイブリッド アプリ間でのトラフィックの低遅延分散が実現されます。

  • Azure Disk Storage は、Azure VM に高い耐久性と高パフォーマンスのブロック ストレージを提供します。 パフォーマンスと持続性のニーズを満たすために、さまざまなディスク ストレージ オプションをサポートしています。 クラウドには、Azure Ultra Disk Storage、Azure Premium SSD、Azure Standard SSD、Azure Standard HDD の 4 つのディスク ストレージ オプションがあります。

  • Azure Files は、クラウド内のシンプルで安全でサーバーレスなエンタープライズ レベルのファイル共有を提供します。 この共有は、業界標準のサーバー メッセージ ブロック (SMB) プロトコルとネットワーク ファイル システム (NFS) プロトコルを使用したアクセスをサポートします。 Windows、Linux、macOS のクラウドとオンプレミスのデプロイでは、ファイル共有を同時にマウントできます。

  • ExpressRoute は、オンプレミスのインフラストラクチャと Azure データセンター間のプライベート接続を伝送します。 高速で安全な接続を確保するのに役立ちます。

  • Azure SQL は、SQL ポートフォリオ全体に統一されたエクスペリエンスと、エッジからクラウドまでの幅広いデプロイ オプションを提供する SQL クラウド データベースのファミリです。 移行されたワークロード用のフル マネージド データベース サービスが提供されます。

  • Azure SQL Database は、Azure SQL ファミリの一部であり、サービスとしてのフル マネージド プラットフォーム (PaaS) データベース エンジンです。 これにより、アップグレード、修正プログラムの適用、バックアップ、監視などのほとんどのデータベース管理機能がユーザーの関与なしに処理されます。 SQL Database は、常に最新の安定バージョンの SQL Server データベース エンジンと修正プログラムが適用された OS で実行され、高可用性とパフォーマンスの確保に役立つ 99.99% 可用性が提供されます。

シナリオの詳細

Infinite i を使用すると、System i と AS/400 のワークロードを Azure に移行できます。 Azure で移行されたワークロードは、パフォーマンスと可用性を維持または改善し、コストを削減し、最新化の機会を生み出します。

Azure の Infinite i にデプロイした後、アプリケーションは System i プラットフォーム上で実行されたとおりに実行されます。 Infinite i ランタイム環境では、Linux 環境でのジョブ処理と制御言語コマンドがサポートされます。

Infinite i スイートを使用して、アプリケーションをコンパイルします。 このスイートには、RPG、RPG/ILE、RPG/Free、COBOL、制御言語プログラム (CLP)、およびデータ記述仕様 (DDS) のコンパイラーとトランスレーターが含まれています。

Infinite i 環境には、次の利点があります。

  • System i ワークロードを Azure に簡単に移行できます。

  • バックアップと規制コンプライアンスのためのテープ アーカイブを変換できます。

  • 以前と同様に動作するアプリケーション画面。 画面を Web ベースのユーザー インターフェイスに更新するオプションがあります。

  • データを保持し、DB2/400 をエミュレートする無限内部データベース。 コードに軽微な変更を加えるか、まったく何も変更しないかで標準 SQL データベースに移行する代替オプションがあります。

  • 総保有コストを大幅に削減するライセンスとメンテナンスの節約。

  • Azure でのディザスター リカバリーのオプションは、System i と比較して高速で低コストです。

考えられるユース ケース

  • IBM System i および AS/400 ワークロードを Azure に簡単に移行できます。

  • System i および AS/400 ワークロードを最新化し、コストを削減します。

考慮事項

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

信頼性

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

このアーキテクチャは、高可用性のために冗長性とディザスター リカバリーに対応します。

  • Azure VM でのディザスター リカバリーには Site Recovery を使用します。 これは、ダウンタイムとデータ損失を最小限に抑えることで、大規模な停止から VM を保護するのに役立ちます。 このサービスは信頼性とコスト効率が高く、デプロイも簡単です。

可用性を向上させるには、次の手順を実行します。

  • 単一障害点をすべて排除することで、 Azure 可用性ゾーン を使用してインフラストラクチャの中断から保護します。 VM のサービス レベル アグリーメント (SLA) は、99.99% アップタイム用です。

  • 仮想マシン スケール セットを使用して、Azure 仮想マシン スケール セットを構成する負荷分散された VM のグループを設定します。 この方法により、可用性が向上します。

  • 詳細については、「 仮想マシンの可用性オプション」を参照してください。

セキュリティ

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

  • Infinite i は、System i のユーザーベースのアクセス ロールを Azure に移行します。

  • Infinite i ランタイム環境は、System i 環境が提供したのと同じレベルのセキュリティを Azure で提供します。

コストの最適化

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

Infinite i ソリューションでは、総保有コストを削減するために、コストを最小限に抑えます。

  • Azure への移行により、IBM のライセンスとメンテナンスのコストが削減されます。

  • Linux の実装コストは IBM プラットフォームよりも低くなります。

  • PaaS サービスの自動スケーリング機能は、コストを最小限に抑えるためにオンデマンドでスケーリングされます。

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

特定のコンポーネントの価格に関する考慮事項を次に示します。

  • Windows VM の料金Linux VM の料金は、コンピューティング能力によって異なります。

  • ExpressRoute の場合は、毎月のポート料金と送信データ転送料金を支払います。

  • Azure Blob Storage の コストは、データ冗長オプションとボリュームによって異なります。

  • Azure Files の 価格は、データ ボリューム、データ冗長性、トランザクション ボリューム、使用するファイル同期サーバーの数など、いくつかの要因によって異なります。

  • Premium SSD または Ultra Disk Storage の価格については、「 Managed Disks の価格」を参照してください。

  • SQL Database の前払いコストはありません。 リソースを使用すると、リソースの料金が課金されます。

  • Site Recovery では、保護されたインスタンスごとに支払いが発生します。

  • 次のサービスは Azure サブスクリプションでは無料ですが、使用量とトラフィックに対して料金が課金されます。

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

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

  • Infinite i デプロイ手法では、コードとデータを Azure プラットフォームに移行する前に、元のプラットフォームでワークロードを変換してテストすることをお勧めします。

  • ワークロードを Azure に移行する場合は、可用性ゾーン、スケール セット、 Site Recovery を使用して、スケーリングと信頼性の管理オーバーヘッドを削減します。

  • スクリプト化されたデプロイと監視およびアラート機能には 、Azure Resource Manager テンプレート を使用することを検討してください。

パフォーマンス効率

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

  • Infinite i 移行設計プロセスでは、System i で実行されているワークロードのパフォーマンス特性が考慮され、Azure で必要なパフォーマンスを得るための Azure サービスの適切な構成が選択されます。

  • Infinite i は、Azure スケール セットを利用して、必要に応じて容量を追加できます。

  • このアーキテクチャは、同じデータベースに対して複数の VM セットを実行することで並列処理に対応するように設計されています。 独立したトランザクションは、相互にシリアル化に依存しません。

  • このアーキテクチャでは、パフォーマンスを向上させるために Premium SSD または Ultra Disk Storage を使用します。

共同作成者

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

プリンシパル作成者:

  • フィリップ・ブルックス |シニア プログラム マネージャー

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

次のステップ