編集

次の方法で共有


CloudFrame Renovate を使用してメインフレーム アーキテクチャをリファクタリングする

Azure Virtual Machines
Azure Kubernetes Service (AKS)
Azure Virtual Network
Azure SQL データベース
Azure Site Recovery

CloudFrame Renovate は、品質、精度、機能的等価性、またはパフォーマンスを損なうことなく、COBOL コードを Java Spring Boot Batch に迅速に移行します。 Renovate は、ガイド付きアクションと自動化を使用してコードの移行を容易にする DIY ツールです。 入力を指定し、Maven または Gradle Java プロジェクトをダウンロードするだけです。 特別なスキルやスタッフは必要ありません。

レガシ IBM zSeries アーキテクチャ

移行前のメインフレーム アーキテクチャを示す図。

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

ワークフロー

A. データは、TN3270 や HTTP(S) を含む TCP/IP を介して入力されます。

B. データは、標準のメインフレーム プロトコルを使用してメインフレームに入力されます。

C. ミドルウェアおよびユーティリティ サービスによって、環境内のテープ ストレージ、キュー、出力、Web サービスなどのサービスが管理されます。

D. バッチ アプリケーション実行環境には、スケジュール、ワークロード管理、SPOOL の操作が含まれます。

E. オンライン トランザクション処理環境では、高可用性、ワークロード管理、XA 準拠のトランザクション管理が提供されます。

F. COBOL、PL/I、アセンブラー (または互換性のある言語) で記述されたビジネス アプリケーションは、バッチおよびオンラインに対応した環境で実行されます。

G. 共有ビジネス サービスは、ログ記録、エラー処理、I/O、SOA 未対応のビジネス サービスなどの共有サービスのソリューションを標準化します。

H. データは、階層、ネットワーク、リレーショナル データベース サブシステムなどのデータおよびデータベース サービスに格納され、インデックス付きおよびシーケンシャル データ ファイルに格納されます。

I. オペレーティング システム パーティション (仮想マシン) は、エンジンとソフトウェアの間のインターフェイスを提供します。

J. プロセッサ リソース/システム マネージャー (PR/SM) ハイパーバイザーは、物理マシンを仮想マシン (VM) にパーティション分割するための直接的なハードウェア仮想化を実行します。

移行された Azure アーキテクチャ

Azure への移行後のアーキテクチャを示す図。

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

ワークフロー

  1. データは通常、リモート クライアントから Azure ExpressRoute を介して、または現在 Azure を実行している他のアプリケーションから入力されます。 どちらの場合も、TCP/IP はシステムに接続する主要な手段です。 TLS ポート 443 によって、Web ベースのアプリケーションへのアクセスがユーザーに提供されます。 トレーニングの必要性を最小限に抑えるために、Web アプリケーションのプレゼンテーション層を実質そのまま使用できます。 または、必要に応じて、Web アプリケーションのプレゼンテーション層を最新の UX フレームワークで更新することもできます。 Azure VM bastion ホストを使用して、VM への管理者アクセスを提供できます。 これにより、開いているポートが最小限に抑えられ、セキュリティが向上します。

  2. Azure では、Azure ロード バランサーによってアプリケーション コンピューティング クラスターへのアクセスが管理され、高可用性が提供されます。 この方法では、スケールアウト コンピューティング リソースを使用して入力の作業を処理できます。 第 7 層 (アプリケーション層) と第 4 層 (トランスポート層) のロード バランサーを使用できます。 使用される種類は、コンピューティング クラスターのエントリ ポイントでのアプリケーション アーキテクチャと API ペイロードによって異なります。

  3. コンピューティング クラスター内または Kubernetes クラスターにデプロイできるポッド内の VM にデプロイできます。 Renovate を介して作成された Java Business Services とアプリケーションは、Azure VM と Azure Kubernetes コンテナーで同様に正常に実行されます。 コンピューティング オプションの詳細な分析については、こちらの Azure コンピューティング サービスのデシジョン ツリーを参照してください。

  4. アプリケーション サーバーは、コンピューティング クラスターの入力を受け取り、Azure Cache for Redis または Remote Direct Memory Access (RDMA) を使用してアプリケーションの状態とデータを共有します。

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

  6. Renovate ランタイム サービスによって、メインフレーム のデータ アーキテクチャとメインフレーム QSAM および VSAM ファイル システムのエミュレーションとの下位互換性が提供され、UTF-8 へのデータ移行と Java へのリファクタリングおよび Azure でのリホストが切り離されます。 追加のランタイム サービスには、SORT、IDCAMS、IE ユーティリティ、GDG 保持管理などとの互換性があります。

  7. データ サービスでは、ハイ パフォーマンス ストレージ (Ultra SSD または Premium SSD)、ファイル ストレージ (Azure NetApp Files/Azure Files)、標準ストレージ (BLOB、アーカイブ、バックアップ) の組み合わせが使用されます。これらは、用途に応じて、ローカル冗長または geo 冗長のいずれかになります。

  8. Azure PaaS (サービスとしてのプラットフォーム) データ サービスは、クラスター内のコンピューティング リソースで共有されるスケーラブルで可用性の高い geo 冗長データ ストレージを提供します。

  9. Azure Data Factory を利用すると、Azure 内と外部ソースの両方でのデータ インジェストと複数のデータ ソースとの同期が可能になります。 Azure Blob Storage は、外部データ ソースの汎用ランディング ゾーンです。

  10. Azure Site Recovery は、VM とコンテナー クラスター コンポーネントのディザスター リカバリーを提供します。

コンポーネント

  • Azure Virtual Machines は、Azure が提供するオンデマンドでスケーラブルなコンピューティング リソースの 1 つです。 Azure VM は、VM を実行する物理的なハードウェアを購入して維持する手間を省き、仮想化がもたらす柔軟性を提供します。
  • Azure Kubernetes Services (AKS) には、組み込みのコードとクラウド間のパイプラインとガードレールが備わっており、クラウドネイティブ アプリの開発とデプロイを開始するのに役立ちます。
  • Azure SSD マネージド ディスクは、Azure によって管理されて Azure VM で使用されるブロックレベルの記憶域ボリュームです。 使用可能なディスクの種類は、Ultra Disk、Premium SSD、Standard SSD、Standard HDD です。 このアーキテクチャでは、Premium SSD または Ultra Disk SSD をお勧めします。
  • Azure Virtual Network は、Azure のプライベート ネットワークの基本的な構成要素です。 Virtual Network を使用すると、Azure VM などの多くの種類の Azure リソースが、相互に、またインターネットやオンプレミスのネットワークと通信でき、すべてのセキュリティが強化されます。 Virtual Network は、自社のデータセンターで運用する従来のネットワークに似ていますが、スケール、可用性、分離など、多くの追加の利点が得られます。
  • Azure SQL Database はフル マネージドの PaaS データベース エンジンであり、アップグレード、修正プログラムの適用、バックアップ、監視などのほとんどのデータベース管理機能が、ユーザーの介入なしで処理されます。 SQL Database は、SQL Server データベース エンジンと修正プログラムの適用済みの OS の最新の安定したバージョンで常に実行されます。
  • Azure Cache for Redis は、データへの高速アクセスを提供することで、拡張性や応答性の高いアプリケーションの作成を可能にする分散マネージド キャッシュです。
  • Data Factory は、データの移動や変換を調整し自動化するクラウドベースのデータ統合サービスです。
  • Azure Site Recovery は、リージョン、オンプレミスの VM、物理サーバー間の Azure へのレプリケーションを調整および自動化し、オンプレミスのマシンをセカンダリ データセンターへレプリケーションすることで、ビジネス継続性とディザスター リカバリー (BCDR) 戦略に貢献します。

シナリオの詳細

既存のメインフレーム データとプロセスを使用すると、リスクが軽減され、価値実現までの時間が短縮されます。 CloudFrame Renovate には、メインフレーム データ アーキテクチャとの下位互換性と、SORT などのメインフレーム ユーティリティのサポートが備わっています。 Blob Storage、Azure Cosmos DB、ディスク ストレージ、Azure SQL などの Azure サービスによってサポートされる CloudFrame のエミュレートされたファイル システムで、VSAM と QSAM データのバイナリ スナップショットをステージングできます。

Renovate を使用してメインフレーム アプリケーションをリファクタリングすると、アプリケーションとインフラストラクチャの変換が、独自のレガシ ソリューションから標準化およびベンチマークされたオープン テクノロジに移行されます。 この変換により、チームもアジャイルな DevOps 運用モデルに移行されます。

Renovate によって生成された Java コードは理解しやすく、SonarQube によって高く評価され、機能的に同等の結果と同等のデータが生成されます。 結果のコードは、DevOps プロセスとツールチェーンを使用して、現在の開発者が管理できます。 開発者は、リファクタリングされたアプリケーションを維持するためにメインフレームや COBOL に関する知識を必要としません。 結果のコードは非常に保守がしやすく、変換リスクは低くなります。

Renovate の増分モダン化アプローチを使用すると、ツールまたはツール ベンダーではなく、ユーザーが変更の粒度と速度を決定できます。 Renovate を使用したリファクタリングは、COBOL ワークロードを Azure 上のクラウドネイティブ Java に移行するための高速でリスクの低い方法です。

考えられるユース ケース

Renovate を使用して Azure にリファクタリングすると、次の利点を必要とする組織やチームに役立ちます。

  • DIY ツールを使用して、モダン化プロセスの制御を強化する。
  • モダン化への増分アプローチ。
  • カスタム要件に従って構成できる自動リファクタリング ツール。
  • 完全な再作成という副作用を伴うことなく、メインフレームのワークロードをクラウドに移行する。
  • メインフレームのコスト構造、制限、縛りのない最新のインフラストラクチャ。
  • その他のオンプレミス アプリケーションとの継続性を維持しながら、コア アプリケーションを移行する。
  • ディザスター リカバリーのさまざまなオプションを提供するソリューション。
  • Azure で提供される水平および垂直のスケーラビリティ。

考慮事項

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

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。

ロード バランサーとコンピューティングの自動スケーリングにより、高可用性とパフォーマンスがこのソリューションに組み込まれています。 1 つのプレゼンテーション、トランザクション、またはバッチ サーバーで障害が発生した場合、ロード バランサーの背後にあるもう一方のサーバーがワークロードを処理します。 このアーキテクチャでは、Site Recovery を使用して Azure VM をミラー化します。 Azure データセンターで障害が発生した場合の迅速なフェールオーバーとディザスター リカバリーのために、セカンダリ Azure リージョンへのレプリケーションに PaaS ストレージとデータベース サービスを使用します。 最終的に、デプロイと運用アーキテクチャを完全に自動化できます。

セキュリティ

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

Azure のセキュリティは、ポリシー、プロセス、自動化されたガバナンスとインシデント レポート、トレーニング、ネットワーク脆弱性分析、侵入テスト、暗号化、DevSecOps 運用モデルの階層化されたアプローチによって実現されます。 この強化されたセキュリティを実現するには、Microsoft Entra ID、Azure Virtual Network、Azure Private Link、ネットワーク セキュリティ グループなどのサービスが不可欠です。

コストの最適化

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

Azure では、汎用ハードウェアで VM と Kubernetes ポッドを実行し、使用されていない VM をオフにするスケジュールをスクリプト化し、Kubernetes ポッドを使用してデプロイ密度を高めることで、コストの最適化を実現します。 予約およびスポット インスタンスを使用すると、コストをさらに削減できます。 Microsoft Cost Management では、コストと予算の統合された単一ビューを提供して、コストの透明性を実現します。 Azure の予約コンピューティング用の Azure 節約プランでは、従量課金制の料金が大幅に割引されます。 これらのオファリングを個別に使用することも、一緒に使用して節約を合計することもできます。 このソリューションの実装コストを見積もるには、Azure 料金計算ツールを使用します。

共同作成者

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

プリンシパル作成者:

  • Jim Dugan | プリンシパル TPM

その他の共同作成者:

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

次の手順