Azure を最新のデータ プラットフォームとして使用する場合の選択肢として、サービスとしてのプラットフォーム (PaaS) またはサービスとしてのインフラストラクチャ (IaaS) があります。 PaaS には、データ インジェスト、変換、ストレージ用のクラウドネイティブ オプションがあります。 IaaS を使用すると、仮想マシン (VM) のサイズと種類の選択を始め、ハイブリッド インフラストラクチャに対する制御の幅が広がります。 どちらのアプローチでも、さまざまなフル マネージドのリレーショナル、NoSQL、メモリ内データベース、ストレージ ソリューション、分析オファリングを利用でき、それらには独自のエンジンもあれば、オープンソースのものもあります。 このアーキテクチャの例では、両方のアプローチを示します。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
ワークフロー
IBM MQ は、メインフレームまたはミッドレンジ システムと Azure サービスの間の疎結合リンクとして機能するミドルウェアです。 メインフレーム アプリケーション レイヤーと通信するため、メッセージはアプリケーションの要件に従って受信および送信されます。
クラウドネイティブ アプローチの場合、IBM MQ とメッセージを交換するため、Azure Logic Apps によって MQ コネクタが使用されます。 スケジューラ機能で Azure ワークフローを調整し、1 秒の定期間隔でメッセージを送受信します。
MQ コネクタは、読み取ったメッセージをコネクタを介してストレージに直接送信したり、最初に変換するために送信したりすることができます。 Logic Apps には、インラインの JavaScript ランタイムなど、データ変換のオプションがいくつか用意されています。これは、JSON、CSV、HTML テーブル データに対して変換を実行するデータ変換またはデータ操作を行う単純な JavaScript コード スニペットを実行するために使用できます。 Azure Function を使用して、サーバーレスの単一タスクの関数を作成することもできます。
データがストレージに読み込まれます。 Azure にはマネージド データ ストレージ ソリューションが多数用意されており、それぞれ異なる機能を備えています。
IaaS アプローチの場合、BizTalk Adapter for WebSphere MQ 付きの Microsoft Host Integration Server (HIS) が VM によって実行されます。 HIS では、IBM MQ とメッセージを交換したり、カスタムの .NET アプリケーションに対してオーケストレーションを Web サービスとして公開したりします。
.NET アプリケーションでは、サポートされている任意の Azure データ ストアを使用してデータを保持します。 たとえば、アプリケーションでは、データをマスクしたり、セキュリティのためにプライベート エンドポイントを使用したりできます。
データがストレージに読み込まれます。 Azure にはマネージド データ ストレージ ソリューションが多数用意されており、それぞれ異なる機能を備えています。
Components
Azure Logic Apps には、データ オーケストレーション、データ統合、データ変換のためのツールが用意されています。 オンプレミスまたはクラウド内のデータにアクセスするための数百のコネクタが含まれています。 データ ストレージ コネクタを選択する前に、必ずスループットとパフォーマンスをテストしてください。
Logic Apps Scheduler には、指定した繰り返しの間隔と頻度に基づいてワークフローを開始および実行するためのトリガーが用意されています。
Logic Apps MQ コネクタにより、Logic Apps ワークフローがオンプレミスまたは Azure 上の IBM MQ サーバーに接続されます。 ワークフローでは、MQ サーバーに格納されているメッセージを受信および送信します。 TCP/IP ネットワークでリモート MQ サーバーと通信するための Microsoft MQ クライアントも含まれています。 クライアントを使用して、IBM WebSphere MQ 7.5、MQ 8.0、MQ 9.0、9.1、9.2 に接続できます。
Host Integration Server (HIS) は、Microsoft BizTalk Server の WebSphere MQ アダプターを介してメッセージ インテグレーターとして機能できます。 クライアントおよびサーバー アダプターにより、IBM MQ と BizTalk Server お間でメッセージ交換が行われます。 HIS は MQ リスナーとしても機能し、指定した間隔で MQ サーバーに対してポーリングしてメッセージを探すことができます。
.NET は、無料のオープンソースの開発プラットフォームであり、この例では、HIS を介してデータをデータ ストレージ レイヤーにプルするアプリを作成するために使用されています。 また、Microsoft Client for MQ を介して直接 IBM WebSphere MQ サーバーにアクセスするためにも使用できます。
代替
データ レイヤーには、Azure Database for PostgreSQL、Azure Database for MySQL、Azure Cosmos DB、Azure Database for MariaDB、Azure SQL などのマネージド サービスを選択できます。
ストレージ レイヤーには、Azure Data Lake Storage を使用してエンタープライズ データ レイクを作成します。
データ レイヤーには、Azure Synapse Analytics を使用してビッグ データ分析プラットフォームを作成します。
シナリオの詳細
デジタル トランスフォーメーションのシナリオにおける一般的なアプローチとして、Microsoft Azure をスケーラブルな分散データ プラットフォームとして使用するハイブリッド セットアップで、既存のアプリケーションとミドルウェア層をそのまま実行できるかどうかを確認するというものがあります。 お使いのワークロードに最適のデータ プラットフォームが見つかるよう、この例では、ミドルウェアへのデータ優先のアプローチにより、メインフレームまたはミッドレンジ システムで実行されている IBM メッセージ キュー (MQ) と Azure サービスの連携ができるようにすることを説明します。
Azure を最新のデータ プラットフォームとして使用する場合の選択肢として、サービスとしてのプラットフォーム (PaaS) またはサービスとしてのインフラストラクチャ (IaaS) があります。 PaaS には、データ インジェスト、変換、ストレージ用のクラウドネイティブ オプションがあります。 IaaS を使用すると、仮想マシン (VM) のサイズと種類の選択を始め、ハイブリッド インフラストラクチャに対する制御の幅が広がります。 どちらのアプローチでも、さまざまなフル マネージドのリレーショナル、NoSQL、メモリ内データベース、ストレージ ソリューション、分析オファリングを利用でき、それらには独自のエンジンもあれば、オープンソースのものもあります。
このアーキテクチャの例では、両方のアプローチを示します。
クラウドネイティブ PaaS。 MQ コネクタを使用して、Azure Logic Apps と IBM MQ でメッセージを交換します。 コネクタを追加すると、その他のアプリ、サービス、システム、プロトコル、プラットフォームで、イベント、データ、アクションにすばやくアクセスできます。 キューからのデータを Azure に格納したり、アプリケーション レイヤーに送信したりする前にデータの形式、構造、または値を変更する必要がある場合、それを変換するためのツールが Logic Apps には含まれています。
VM ベースの IaaS。 Microsoft Host Integration Server (HIS) を VM で実行する場合、IBM MQ に接続するメッセージング統合コンポーネントを使用できます。 データ変換プロセスを制御するには、メッセージの読み取りと書き込みを行うために .NET アプリケーションを作成します。 そのアプリケーションを使って、選択した Azure データ ストアにデータを保持できます。また、MQ サーバーのポーリング間隔を選択できます。
考えられるユース ケース
これらのアプローチのいずれかを使用して、次のことができます。
メッセージング システムを介して通信する疎結合アプリケーションから Azure データ プラットフォームを使用できるようにします。
メインフレームまたはミッドレンジ システムと Azure の間でデータを段階的に同期またはレプリケートします。
メインフレームまたはミッドレンジ システムと Azure の間でイベント メッセージを流します。
考慮事項
ハイブリッドのデータセンター構成は、クラウド戦略を開発している組織に向いています。 Azure に接続することで、データセンターのギャップを埋め、パフォーマンスを強化し、ビジネス継続性を向上させ、リーチをグローバルに拡張することができます。
たとえば、オンプレミスのアプリケーションは、Azure 上の最新のデータ プラットフォームと通信して、ビッグ データの分析や機械学習を利用することができます。 コスト効果の高いストレージ ソリューションが必要な場合は、メインフレーム データをレプリケートし、Azure に格納して、データの同期を維持することができます。Azure では、オンライン トランザクション処理 (OLTP)、バッチ、およびデータ インジェスト システムをサポートするために必要なスケールを追加することもできます。
可用性
Azure サービス レベル アグリーメント (SLA) では、アップタイムの保証について説明しています。 さまざまなコンポーネントの SLA は異なる場合があります。 たとえば、Azure Logic Apps は少なくとも 99.9% の時間、使用することができます。 選択した構成設定により、SLA が向上する場合があります。
パフォーマンス効率
アーキテクチャのアプローチを完了する前に、必ずデータ変換レイヤーのスループットとパフォーマンスをテストしてください。 ワークロードのメッセージ サイズ、待ち時間、使用されるコネクタなど、いくつかの要因によってパフォーマンスは変化します。 テストすれば、最も互換性のあるターゲット データ プラットフォームを見つけるのに役立ちます。
ストレージ
このアーキテクチャの例では、Logic Apps コネクタを使用して、Azure Storage と Azure Data Lake Storage にメッセージを直接送信できます。 たとえば、次の図に示すように、Logic Apps には Azure Blob Storage コネクタが含まれています。 このコネクタを使用すると、大量の非構造化データを Azure Blob Storage に簡単に格納することができます。 世界中のどこからでも、HTTP または HTTPS 経由でデータにアクセスできるようになります。 Blob Storage では、クラウド向けのビッグ データ分析ソリューションである Azure Data Lake Storage Gen2 もサポートされています。 データは、AzCopy ツール、Azure Data Factory などの Azure サービス、またはストレージに接続できる別のソリューションを使用して、ストレージに読み込まれます。
このアーキテクチャの Visio ファイルをダウンロードします。
PaaS と IaaS の両方のアーキテクチャ オプションで、多くの一般的なマネージド データベース サービスがサポートされています。 カスタム ビルドのローダー、ベンダー ソリューション、または Azure Data Factory などのマネージド サービスを使用して、データを読み込むことができます。 データベース オプションは次のとおりです。
Azure SQL データベース。 Azure SQL の一部である Azure SQL Database は、クラウド向けに構築されたインテリジェントでスケーラブルなリレーショナル データベース サービスです。 常に最新の状態に保たれており、パフォーマンス、持続性、スケーラビリティを最適化する自動化された機能が含まれているため、ユーザーは新しいアプリケーションの構築に専念できます。
Azure SQL Managed Instance。 Azure SQL サービス ポートフォリオの一部である SQL Managed Instance は、SQL Server エンジンとの最も幅広い互換性と、フル マネージド PaaS のすべての利点とを兼ね備えています。
Azure Virtual Machines 上の Azure SQL。 Azure SQL ファミリの一部である、このコスト効果の高いオプションは、SQL Server のワークロードを Azure にリフト アンド シフトすることを目的として設計されています。 SQL Server のパフォーマンス、セキュリティ、分析と、Azure の柔軟性とハイブリッド接続が組み合わせられます。しかも、コードの互換性は 100% です。 現在では、SQL Server 2019 のイメージが組み込まれるようになっています。
Azure Database for PostgreSQL。 これは、オープンソースの PostgreSQL データベース エンジンの Community Edition に基づくフル マネージド リレーショナル データベース サービスです。 お客様はデータベース管理の代わりにアプリケーションのイノベーションに専念し、ワークロードを簡単にスケーリングできます。
Azure Database for MySQL。 これは、オープンソースの MySQL データベース エンジンの Community Edition に基づくフル マネージド リレーショナル データベース サービスです。
Azure Cosmos DB グローバルに分散されたマルチモデル データベースである Azure Cosmos DB では、スループットとストレージを、任意の数の地理的リージョンで柔軟かつ個別にスケーリングできます。 これは、世界中のどこにいても、99% の確率で 10 ミリ秒未満の待機時間が保証されるフル マネージドの NoSQL データベース サービスです。
Azure Synapse Analytics。 このエンタープライズ分析サービスでは、データ ウェアハウスやビッグ データ システム全体にわたって分析情報を取得する時間を短縮します。
コストの最適化
この記事では、さまざまな可能性を示すために幅広い Azure サービスの概要を説明していますが、MQ 統合にはそれらをすべて使用することはないでしょう。
Azure リソースのコストを見積もるには、Azure 料金計算ツールを使用します。
BizTalk の価格を使用して、HIS ソリューションの価格を把握します。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Ashish Khandelwal | プリンシパル エンジニアリング アーキテクチャ マネージャー
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。
次のステップ
詳細については、Azure Data Engineering - メインフレームおよびミッドレンジの最新化 (datasqlninja@microsoft.com) にメールでお問い合わせください。
「Azure データベースの移行ガイド」をご覧ください。