オンライントランザクション処理(OLTP)システムは、顧客と直接やり取りするため、ビジネスの顔です。 動的に適応可能なインフラストラクチャに移行することで、ビジネスは製品を迅速に作成して発売し、顧客が製品をより早く使用できるようになります。
アーキテクチャ
次の図は、Azure に移行する前に z/OS メインフレームで実行される OLTP システムのアーキテクチャを示しています。
Workflow
次のワークフローは、前の図に対応しています。
ユーザーは、TN3270 や HTTPS などの標準メインフレーム プロトコルを使用して、伝送制御プロトコル (TCP) またはインターネット プロトコル (IP) 経由でメインフレームに接続します。
トランザクション・マネージャーは、ユーザーと対話し、アプリケーションを呼び出してユーザーの要求を満たします。
アプリケーション層のフロントエンドでは、ユーザーは顧客情報管理システム (CICS) または情報管理システム (IMS) の画面または Web ページと対話します。
トランザクション・マネージャーは、Common Business-Oriented Language (COBOL) または Programming Language One (PL/I) で書かれたビジネス・ロジックを使用して、トランザクションを実装します。
アプリケーション・コードは、DB2、IMS DB、VSAM などのデータ層のストレージ機能を使用します。
トランザクション処理に加えて、認証、セキュリティ、管理、監視、およびレポート作成を提供するサービスもあります。 これらのサービスは、システム内の他のすべてのサービスと対話します。
次の図は、このアーキテクチャを Azure に移行する方法を示しています。
このアーキテクチャの Visio ファイルをダウンロードします。
メインフレームのユーザーは、3270 端末とオンプレミス接続に精通しています。 移行されたシステムでは、パブリック インターネットまたは Azure ExpressRoute 経由で実装されたプライベート接続を介して Azure アプリケーションと対話します。 Microsoft Entra ID は認証を提供します。
入力要求は、Azure Front Door や Azure Traffic Manager などのグローバル ロード バランサー サービスに送られます。 ロードバランサーは、地理的に分散したユーザーベースに対応できます。 サポートされているワークロードに対して定義されたルールに従って要求をルーティングします。 これらのロード バランサーは、Azure Application Gateway または Azure Load Balancer と連携して、アプリケーション レイヤーの負荷を分散できます。 Azure Content Delivery Network サービスは、迅速な応答のために静的コンテンツをエッジ サーバーにキャッシュします。 Web アプリケーション ファイアウォール (WAF) は、サービスのセキュリティ保護に役立ちます。
アプリケーション層のフロントエンドでは、Azure App Service などの Azure サービスを使用して、アプリケーション画面を実装し、ユーザーと対話します。 これらの画面は、メインフレーム画面の移行バージョンです。
アプリケーション層のバックエンドにある COBOL コードと PL/I コードは、ビジネス・ロジックを実装します。 このコードでは、Azure Functions、WebJobs、Azure Spring Apps マイクロサービスなどのサービスと機能を使用できます。 アプリケーションは、Azure Kubernetes Service (AKS) コンテナーで実行できます。
インメモリ データ ストアは、高スループットの OLTP アプリケーションを高速化します。 例としては、Azure SQL Database と Azure SQL Managed Instance の機能である In-Memory OLTP や、Azure Cache for Redis などがあります。
データレイヤーには、次のものを含めることができます。
- Azure Storage を使用して実装されたファイル、テーブル、BLOB 。
- Azure SQL ファミリのリレーショナル データベース。
- PostgreSQL と MySQL のオープンソース データベースの Azure 実装。
- Azure Cosmos DB は NoSQL データベースです。
これらのストアには、アプリケーション層が使用するためにメインフレームから移行されたデータが格納されます。
Application Insights や Azure Monitor などの Azure ネイティブ サービスは、システムの正常性を事前に監視します。 Azure Monitor ログは、Azure ダッシュボードを使用して統合できます。
コンポーネント
このアーキテクチャは、いくつかの Azure クラウド サービスで構成されています。 これは、ネットワークと ID、アプリケーション、ストレージ、監視の 4 つのリソースカテゴリに分類されます。 次のセクションでは、各リソースのサービスとその役割について説明します。
ネットワークと ID
アプリケーション アーキテクチャを設計するときは、パブリック インターネットまたはプライベート接続を介した対話中にセキュリティ、パフォーマンス、管理性を確保するために、ネットワークと ID コンポーネントに優先順位を付けることが重要です。 アーキテクチャの次のコンポーネントは、この要件に効果的に対処するために不可欠です。
Azure WAF は、悪意のある攻撃や一般的な Web 脆弱性 (SQL インジェクションやクロスサイト スクリプティングなど) からアプリケーションを保護する Web アプリケーション ファイアウォールです。 このアーキテクチャでは、Web 向けサービスへの受信トラフィックをフィルター処理して検査することで、移行されたメインフレーム アプリケーションをセキュリティで保護します。
Application Gateway は、レイヤー 7 のアプリケーション配信コントローラーです。 このアーキテクチャでは、HTTP トラフィック ルーティングを管理し、移行されたメインフレーム Web アプリケーションの負荷分散を提供します。
Azure Front Door は、インスタント フェールオーバー機能を備えたグローバル HTTP ロード バランサーです。 このアーキテクチャでは、コンテンツ配信を高速化し、地理的に分散されたメインフレーム ユーザーの高可用性を確保します。
- Content Delivery Network は、キャッシュされたコピーをエッジ サーバーに格納してユーザーの応答時間を短縮することで、静的コンテンツ配信を最適化する分散キャッシュ サービスです。 ネットワーク最適化を使用して、動的コンテンツの応答を向上させます。 Content Delivery Network は、ユーザー ベースがグローバルである場合に特に便利です。 このアーキテクチャでは、メインフレームの画面要素とグローバル エッジの場所にわたる静的アセットのパフォーマンスが向上します。
ExpressRoute は、オンプレミスインフラストラクチャと Azure の間に専用の接続を確立するプライベート接続サービスです。 このアーキテクチャでは、プライベート接続を必要とするメインフレーム ターミナル接続に慣れているユーザーに、セキュリティで保護されたネットワーク アクセスを提供します。
Load Balancer は、受信ネットワーク トラフィックを複数のバックエンド リソースに分散し、レイヤー 4 の TCP および UDP トラフィックを処理するサービスです。 このアーキテクチャでは、メインフレーム トランザクション処理コンポーネントを置き換えるコンテナー化されたアプリケーションとマイクロサービスのトラフィックのバランスを取ります。
- Traffic Manager は、複数のエンドポイントにユーザー要求を分散するのに役立つ DNS ベースのトラフィック ルーティング サービスです。 このアーキテクチャでは、リージョン エンドポイント間でトラフィックを分散し、さまざまな地理的な場所でメインフレーム ユーザーの可用性を最適化します。
アプリケーション
Azure は、アプリケーションのより安全でスケーラブルで効率的なデプロイをサポートするマネージド サービスを提供します。 上記のアーキテクチャで使用されるアプリケーション層サービスは、アプリケーション アーキテクチャの最適化に役立ちます。
AKS は、コンテナー化されたアプリケーション用のマネージド Kubernetes サービスです。 AKS は、運用オーバーヘッドを Azure にオフロードすることで、マネージド AKS クラスターの Azure へのデプロイを簡略化します。 このアーキテクチャでは、CICS や IMS などのモノリシック メインフレーム トランザクション処理コンポーネントを置き換えるマイクロサービスをホストします。
App Service は、Web アプリを構築、デプロイ、スケーリングするためのフル マネージド サービスです。 アプリは、.NET、.NET Core、Node.js、Java、Python、または PHP を使用して構築できます。 アプリは、コンテナー内、または Windows または Linux で実行できます。 メインフレームの移行では、フロントエンド画面または Web インターフェイスを HTTP ベースの REST API としてコード化できます。 これらはメインフレームアプリケーションに従って分離でき、マイクロサービスベースのシステムを調整するためにステートレスにすることができます。 このアーキテクチャでは、3270 のターミナル 画面とメインフレーム ユーザー インターフェイスに代わる REST API と Web インターフェイスを提供します。
- WebJobs は、Web アプリ、API アプリ、またはモバイル アプリと同じインスタンスでプログラムまたはスクリプトを実行する App Service の機能です。 Web ジョブは、共有可能で再利用可能なプログラム ロジックを実装するのに適しています。 このアーキテクチャでは、以前にメインフレーム ジョブ スケジューラによって処理されたバッチ処理 タスクとバックグラウンド タスク を実行します。
Azure API Management は、API の発行、ルーティング、セキュリティ保護、ログ記録、分析をサポートする、サービスとしてのフル マネージド プラットフォーム (PaaS) です。 データの表示方法と拡張方法、およびデータにアクセスできるアプリを制御できます。 アプリへのアクセスを制限したり、サード パーティを許可したりすることもできます。 このアーキテクチャでは、メインフレーム ビジネス ロジックを公開する最新化された API へのアクセスを管理し、新しいアプリケーションによってレガシ データにアクセスする方法を制御します。
Azure Cache for Redis は、コンピューティング リソース間でデータと状態を共有するためのフル マネージドのインメモリ キャッシュ サービスです。 これには、マネージド サービスとして、オープンソースの Redis と Redis Labs の商用製品である Redis Enterprise が含まれます。 高スループットの OLTP アプリケーションのパフォーマンスを向上させるには、スケーリングし、Azure Cache for Redis などのインメモリ データ ストアを使用するように設計します。 このアーキテクチャでは、メインフレーム トランザクション処理システムに代わる高スループット OLTP ワークロードのデータ アクセスを高速化します。
Azure Functions はサーバーレス コンピューティング サービスです。 アプリケーション インフラストラクチャを確立することなく、関数と呼ばれる小さなコードを実行するための環境を提供します。 これを使用して、一括データの処理、システムの統合、モノのインターネットとの連携、シンプルなAPIとマイクロサービスの構築を行うことができます。 マイクロサービスを使用して、Azure サービスに接続し、常に最新の状態に保つサーバーを作成します。 このアーキテクチャでは、メインフレーム トランザクション マネージャーから移行されたイベントドリブン処理と軽量のビジネス ロジック コンポーネントを処理します。
Azure Service Bus は、シンプルなハイブリッド統合のための信頼性の高いクラウド メッセージング サービスです。 Service Bus キューと Storage キューは、移行されたシステムのビジネス ロジックにフロントエンドを接続できます。 Azure Service Bus を使用すると、分散システム間の信頼性の高いメッセージングが可能になります。 このアーキテクチャでは、以前にメインフレーム メッセージング システムを使用していた移行されたメインフレーム コンポーネント間の非同期通信が容易になります。
ストレージとデータベース
このアーキテクチャは、スケーラブルで安全なクラウド ストレージと、メインフレーム データを移行し、最新のアプリケーション要件をサポートするためのマネージド データベースに対応します。
Azure Cosmos DB は、Azure Cosmos DB を使用してメインフレームの表形式以外のデータを Azure に移行できる、フル マネージドの NoSQL データベース サービスです。 このアーキテクチャでは、VSAM ファイルなどのメインフレーム システムから移行された非リレーショナル データを格納し、国際ユーザー ベースにグローバル分散を提供します。
Azure Database for MySQL は、フル マネージドの MySQL データベース サービスです。 このアーキテクチャでは、メインフレームモダン化プロセス中にオープンソースデータベースの互換性を必要とするアプリケーションをサポートします。
Azure Database for PostgreSQL は、Azure サービスとのネイティブ接続を備えた、インテリジェントでスケーラブルなフル マネージドの PostgreSQL です。 このアーキテクチャでは、高度なインデックス作成と分析機能を使用してメインフレーム データベースから移行されたリレーショナル データをホストします。
Azure SQL は、クラウドベースの SQL データベース サービスのファミリです。 このアーキテクチャでは、DB2 や IMS DB などのメインフレーム データベースから移行されたリレーショナル データをホストします。
Azure SQL Edge は、IoT とエッジのデプロイ用に最適化された特殊なバージョンの SQL Server データベース エンジンです。 このアーキテクチャでは、メインフレーム アプリケーションがエッジの場所に配布されているシナリオで、エッジ デバイスに近いデータを処理します。
SQL Database は、フル マネージドのリレーショナル データベース サービスです。 このアーキテクチャでは、可変メインフレーム トランザクション読み込みのエラスティック スケーリングを使用して最新化されたワークロードをサポートします。
SQL Managed Instance は、ほぼ 100% SQL Server の互換性を提供する、フル マネージドのクラウドベースのデプロイ オプションです。 このアーキテクチャでは、最小限のコード変更と組み込みの高可用性で、移行されたメインフレーム データベースをホストします。
Azure Virtual Machines 上の SQL Server は、完全な SQL Server 機能を提供するサービスとしてのインフラストラクチャ (IaaS) オファリングです。 このアーキテクチャでは、移行中に特定のデータベース エンジン機能を必要とするレガシ ワークロードがサポートされます。
In-Memory OLTP は、SQL Database と SQL Managed Instance でのトランザクション処理を高速化する高パフォーマンス機能です。 このアーキテクチャでは、メインフレーム OLTP ワークロードに必要な高パフォーマンスのトランザクション処理機能が提供されます。
ストレージ は、基本的なクラウド ストレージ サービスを提供するデータ、アプリ、ワークロードに対して、非常にスケーラブルでより安全なクラウド サービスのセットです。 このアーキテクチャでは、さまざまなメインフレーム データ移行シナリオで Azure Files、 Azure Table Storage、 Azure Queue Storage がサポートされています。
モニタリング
次の監視ツールは、包括的なデータ分析とアプリケーションのパフォーマンスに関する貴重な洞察を提供します。
Application Insights は、アプリケーションのコード レベルのテレメトリを提供する Azure Monitor の機能です。 アプリケーションを監視し、平凡なパフォーマンスや障害などの異常を検出し、個人データを Azure portal に送信します。 また、Application Insights を使用して、ログ記録、分散トレース、およびカスタム アプリケーション メトリックを行うこともできます。 このアーキテクチャでは、アプリケーションのパフォーマンスを追跡し、異常を検出し、分散トレースとカスタム メトリックをサポートして信頼性と応答性を確保します。
Azure Monitor は、Azure およびオンプレミス環境からのテレメトリを収集、分析、および操作するための包括的なプラットフォームです。 このアーキテクチャでは、インフラストラクチャ、アプリケーション、サービスを監視するための中央ハブとして機能します。
Azure Monitor アラート は、メトリックまたはログが定義されたしきい値を超えたときにユーザーに通知する Azure Monitor の機能です。 このアーキテクチャでは、自動化された応答をトリガーしたり、問題を運用チームにエスカレートしてタイムリーな介入を行ったりします。
Log Analytics は、強力な言語を使用してログ データを分析する Azure Monitor 内のクエリ ツールです。 このアーキテクチャでは、詳細な診断を有効にし、カスタム ダッシュボードをサポートし、操作上の分析情報を得るためのアラートやブックと統合します。
シナリオの詳細
ビジネス・ニーズとデータの進化により、アプリケーションはインフラストラクチャの問題を引き起こすことなく拡張し、結果を出す必要があります。 このワークロードの例では、Azure のサービスとしてのプラットフォーム (PaaS) サービスを使用して、z/OS メインフレーム OLTP アプリケーションをクラウド内のより安全でスケーラブルで可用性の高いシステムに移行する方法を示します。 この移行により、金融、医療、保険、小売業の企業は、アプリケーションの配信スケジュールを最小限に抑えることができます。 また、アプリケーションの実行コストを削減するのにも役立ちます。
考えられるユース ケース
このアーキテクチャは、次の特性を持つ OLTP ワークロードに最適です。
彼らは国際的なユーザーベースにサービスを提供しています。
その使用量は時間とともに大きく異なるため、柔軟なスケーリングと使用量ベースの価格設定の恩恵を受けることができます。
考慮事項
これらの考慮事項では、Azure Well-Architected Framework の柱を実装します。これは、ワークロードの品質を向上させるために使用できる一連の基本原則です。 詳細については、「 Well-Architected Framework」を参照してください。
信頼性
信頼性は、アプリケーションが顧客に対して行ったコミットメントを確実に満たすことができるのに役立ちます。 詳細については、「信頼性の設計レビュー チェックリスト」を参照してください。
この OLTP アーキテクチャは、複数のリージョンにデプロイできます。 また、geo レプリケートされたデータ レイヤーを持つこともできます。
Azure データベース サービスはゾーン冗長性をサポートしており、障害が発生した場合やメンテナンス アクティビティを許可するために、セカンダリ ノードにフェールオーバーできます。
セキュリティ
セキュリティは、意図的な攻撃や貴重なデータとシステムの誤用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。
ExpressRoute は、オンプレミス環境から Azure へのプライベート接続を作成します。 サイト間 VPN を使用することもできます。
Microsoft Entra ID は、Azure ロールベースのアクセス制御を使用して、リソースを認証し、アクセスを制御できます。
Azure のデータベース サービスでは、保存時のデータ暗号化など、さまざまなセキュリティ オプションがサポートされています。
より安全なソリューションを設計する方法に関する一般的なガイダンスについては、「 セキュリティのクイック リンク」を参照してください。
コストの最適化
コストの最適化では、不要な経費を削減し、運用効率を向上させる方法に重点を置いています。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。
Azure 料金計算ツールを使用して、実装のコストを見積もります。
オペレーショナル エクセレンス
オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスのデザイン レビュー チェック一覧」を参照してください。
このシナリオでは、Azure Monitor と Application Insights を使用して、Azure リソースの正常性を監視します。 予防的な管理のためのアラートを設定できます。
パフォーマンス効率
パフォーマンス効率とは、ユーザーの要求を効率的に満たすためにスケーリングするワークロードの能力を指します。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。
このアーキテクチャでは、自動スケーリング機能を備えた App Service などの Azure PaaS サービスを使用します。
詳細については、自動スケーリングのページを参照してください。
貢献者達
Microsoft では、この記事を保持しています。 次の共同作成者がこの記事を書きました。
主要な著者:
- Ashish Khandelwal | プリンシパル エンジニアリング アーキテクチャ マネージャー
- Nithish Aruldoss | エンジニアリング アーキテクト
公開されていない LinkedIn プロフィールを見るには、LinkedIn にサインインしてください。
次のステップ
- 詳細については、datasqlninja@microsoft.com にお問い合わせください。
- Azure Database 移行ガイド
関連リソース
以下の関連アーキテクチャおよび関連技術情報を参照してください。
関連するアーキテクチャ
- 大量のバッチ トランザクション処理
- Avanade AMTを使用したIBM z/OSメインフレームの移行
- Azure VM での Micro Focus Enterprise Server の
- IBM z/OS メインフレーム結合ファシリティーを Azure にリファクタリングする
- Azure でのメインフレーム データのレプリケートと同期
- TmaxSoft OpenFrame を使用して IBM メインフレーム アプリケーションを Azure に移行する