z/TPF メインフレームからクラウドに移行する組織には、大量のトランザクションを処理できる堅牢なプラットフォームが必要です。 このソリューションは、z/TPF レガシ アプリケーションと機能的に同等のクラウド対応のアプリケーションとデータベースを提供します。
アーキテクチャ
メインフレームのアーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
データフロー
- ユーザーは、TN3270 や HTTP(S) を含めて、TCP/IP を介してデータを入力します。
- データは、標準のメインフレーム プロトコルを使用してメインフレームに入力されます。
- アプリケーションがデータを受け取ります。 通常、これらのアプリケーションはオンライン システムのみです。 アセンブラー、C++、または Saber Talk は、有効な環境で実行されます。
- Azure Cosmos DB などの NonSQL データおよびデータベース サービスによって、データが格納されます。
- ミドルウェアおよびユーティリティ サービスによって、環境内のテープ ストレージ、キュー、出力、Web サービスなどのタスクが管理されます。
- 共有メモリ結合で、複数のプロセッサが調整されます。
- 環境内では、パーティションを使用して個別のワークロードが実行されるか、作業が種類別に分離されます。
- オペレーティング システムは、エンジンとそれが実行するソフトウェアとの間のインターフェイスを提供します。
Azure アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
メインフレーム システムを Azure に移行するには、z/TPF レベルでパフォーマンスを実現するために、高パフォーマンスのメモリ共有メカニズムと低遅延 (マイクロ秒単位) の高パフォーマンス IP スタックをサポートするプラットフォームが必要です。
z/TPF メインフレームでは、"カップリング・ファシリティー" と呼ばれる共有メモリー機能を、"HiperSocket" と呼ばれる低遅延 IP スタックと一緒に使用します。 このアーキテクチャでは、複数のノード間で共有 I/O とメモリを提供するドライバーを使用して、同様の機能を実装します。
Azure Cosmos DB NoSQL データベースは、高パフォーマンス ストレージに使用されます。 このストレージ ソリューションは、高速で高パフォーマンスのデータの永続化と取得を提供します。
データフロー
- 入力は通常、リモート クライアントから Azure ExpressRoute を介して、または現在 Azure で実行されている他のアプリケーションを介して行われます。 いずれの場合も、TCP/IP 接続がシステムへの主要な接続手段を提供します。 Web ベース アプリケーションのユーザー アクセスは、TLS ポート 443 上で提供されます。 開いているポートを最小限に抑えることでセキュリティーを向上させるために、VM への管理アクセスに Azure Bastion ホストを使用できます。
- Azure では、アプリケーション コンピューティング クラスターへのアクセスに Azure Load Balancer を使用します。 Kubernetes は、堅牢な負荷分散とスケーリングを行います。 この場合、フロントエンド ロード バランサーが、クラスター サービス全体がダウンした場合にビジネス継続性を維持するために別のレベルのフェールオーバー機能を提供します。
- デプロイには、VM、Kubernetes、または Virtual Machine Scale Sets が使用されます。
- アプリケーション サーバーは、コンピューティング クラスターの入力を受け取り、Azure Cache for Redis または Remote Direct Memory Access (RDMA) を使用してアプリケーションの状態とデータを共有します。
- このアーキテクチャは、Red Hat Enterprise Linux、SUSE Linux、または Windowsで実行されます。
- シングル ルート I/O 仮想化 (SR-IOV) ドライバーが、パフォーマンス要件を満たすために使用されます。 SR-IOV を使用すると、複数の VM で同じ PCIe 物理ハードウェア リソースを共有できます。 ここで使用するドライバーは、RDMA over Converged Ethernet (RoCE) または InfiniBand over Ethernet (IBoE) のどちらかです。 これらのドライバーは、イーサネット リンク層を介して同じイーサネット ブロードキャスト ドメイン内の 2 つのホスト間の通信を可能にします。
- RDMA/InfiniBand または RoCE ドライバーを使用すると、2 つのホストでメモリを 1 つのプールとして共有できます。
- Azure Cache for Redis は、最も頻繁に使用されるデータとセッション状態のコピーを格納することで、アプリケーションの応答時間を短縮するキャッシュ ソリューションを提供します。
- Service Fabric クラスターはコンテナーのオーケストレーションを提供します。
コンポーネント
このソリューションでは、以下の Azure コンポーネントを使用します。
- Azure ExpressRoute は、接続プロバイダーからのプライベートな専用ファイバー接続を介してオンプレミス ネットワークを Azure に拡張します。 ExpressRoute は、Azure や Microsoft 365 などのクラウド サービスとの接続を確立します。
- Azure Bastion は、仮想マシンへのリモート アクセスをセキュリティで保護するのに役立つフル マネージド サービスです。
- Azure Load Balancer は、受信トラフィックをコンピューティング リソース クラスターに分散します。 トラフィックを分散するための規則や基準を定義できます。
- Azure Kubernetes Service (AKS) は、コンテナー化されたアプリケーションをデプロイおよび管理するためのフル マネージド Kubernetes サービスです。 AKS では、サーバーレスの Kubernetes、統合された継続的インテグレーションと継続的デリバリー (CI/CD) エクスペリエンス、エンタープライズレベルのセキュリティとガバナンスが提供されます。
- Azure Virtual Network は、Azure のプライベート ネットワークの基本的な構成ブロックです。 仮想ネットワーク内の Azure VM は、セキュリティが強化され、お互いに通信できるほか、インターネットおよびオンプレミス ネットワークと通信できます。 仮想ネットワークは従来のオンプレミス ネットワークのようですが、スケーラビリティ、高可用性、分離など、Azure インフラストラクチャのメリットがあります。
- Azure Cache for Redis は、大きなボリュームを高速で処理できるようにアプリケーション アーキテクチャにクイック キャッシュ レイヤーを追加します。 Azure Cache for Redis は、フル マネージド サービスのメリットを提供して、パフォーマンスをシンプルかつ費用対効果良くスケーリングします。
-
Azure データベースは、現在のアプリケーション ニーズに合わせられる、フル マネージドのリレーショナルおよび NoSQL データベースの選択肢です。 自動化されたインフラストラクチャ管理によって、スケーラビリティ、可用性、セキュリティが実現します。
- Azure Cosmos DB は、あらゆる規模に対応するオープン API を備えたフル マネージドの高速 NoSQL データベースです。
代替
このソリューションでは、コンテナー、VM、または Virtual Machine Scale Sets でのデプロイがサポートされています。 VM とは異なり、コンテナーとスケール セットは迅速にスケールインおよびスケールアウトできます。 スケーリングの単位がコンテナーであるため、インフラストラクチャの使用率が最適化されます。
ユーザーの再トレーニングを最小限に抑えるために、レガシ Web アプリケーションのプレゼンテーション層は、ほぼそのままで使用できます。 または、Web アプリケーションのプレゼンテーション層を最新の UX フレームワークで更新することもできます。
シナリオの詳細
メインフレーム システムは保守にコストがかかり、これらのシステムを理解する開発者のプールが減少しています。 しかし、z/TPF メインフレームからクラウドに移行する組織には、大量のトランザクションを処理できる堅牢なプラットフォームが必要です。 このソリューションは、z/TPF レガシ アプリケーションと機能的に同等のクラウド対応のアプリケーションとデータベースを提供します。
このソリューションは、次の要件を満たすように設計されています。
- リファクタリングされたアプリケーションは、元のアプリケーションと機能的に同等である必要がある。
- リファクタリングされたアプリケーションのパフォーマンスは、元のアプリケーション以上でなければならない。
- リファクタリングされたアプリケーションは、クラウド対応であり、標準の DevOps ツールチェーンを介して配信され、DevOps ベスト プラクティスを実装する必要がある。
考えられるユース ケース
Azure へのリファクタリングのメリットがあるシナリオをいくつか次に示します。
- インフラストラクチャを最新化して、メインフレーム関連の高いコスト、制限、柔軟性不足を回避する。
- 運用支出と資本支出を削減する。
- 再書き込みという副作用を伴うことなく、メインフレームのワークロードをクラウドに移行する。
- ミッション クリティカルなアプリケーションをクラウドに移行し、他のオンプレミス アプリケーションで継続性を維持する。
- Azure で提供される水平および垂直のスケーラビリティを利用する。
- ディザスター リカバリーを提供するソリューションを実装する。
考慮事項
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
確実
信頼性により、アプリケーションは顧客に対するコミットメントを確実に満たすことができます。 詳細については、「信頼性
Kubernetes には、ノード プール内で要求されるコンピューティング リソースに基づいて必要なノードの数を調整するクラスター オートスケーラーがあります。 クラスター オートスケーラーは、メトリック API サーバーを 10 秒ごとにモニターして、ノード数に変更が必要かどうかを判別します。
セキュリティ
セキュリティは、意図的な攻撃や貴重なデータとシステムの悪用に対する保証を提供します。 詳細については、「セキュリティ
このアーキテクチャは主に Kubernetes 上に構築されています。これには、ポッドのセキュリティ標準やシークレットのようなセキュリティ コンポーネントが含まれます。 Azure には、Microsoft Entra ID、Microsoft Defender for Containers、Azure Policy、Azure Key Vault、ネットワーク セキュリティ グループ、調整されたクラスター アップグレードなどの追加のセキュリティ機能が用意されています。
Azure Bastion は、開いているポートを最小化することで、管理アクセスのセキュリティを向上させます。 Azure Bastion は、TLS 経由で Azure portal から直接、仮想ネットワーク VM に非常に安全に RDP/SSH 接続できます。
コストの最適化
コストの最適化は、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コストの最適化
このソリューションの実装のコストを見積もるには、Azure 料金計算ツールを使用します。
オペレーショナル エクセレンス
オペレーショナル エクセレンスは、アプリケーションをデプロイし、運用環境で実行し続ける運用プロセスを対象としています。 詳細については、「オペレーショナル エクセレンス
リファクタリングでは、より迅速なクラウド導入のサポートに加えて、DevOps およびアジャイルの作業原則の導入も促進されます。 開発および運用デプロイを自在に選択できます。
パフォーマンス効率
パフォーマンス効率は、効率的な方法でユーザーの要求に合わせてワークロードをスケーリングする機能です。 詳細については、「パフォーマンス効率
このアーキテクチャは、大量のトランザクション用に設計されています。 Azure コンピューティングおよび共有 I/O とメモリを使用して、これらのニーズを満たす結合環境を作成します。
z/TPS パフォーマンスの要件を満たすために、このアーキテクチャでは Kubernetes クラスターが使用されます。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Marlon Johnson | シニア プログラム マネージャー
その他の共同作成者:
- Mick Alberts | テクニカル ライター
- Bhaskar Bandam | シニア プログラム マネージャー
次のステップ
詳細については、legacy2azure@microsoft.com にお問い合わせください。
次の追加のリソースを参照してください。