Integration-and-Development

MQと歩んだ25年、そして、その先へ

記事をシェアする:

MQ 25年の歴史と今後の方向性

 

IBM MQ (以下、MQ)は、CERNのWorld Wide Webや、IntelのPentiumプロセッサーが誕生した1993年に、非同期処理を実現する企業向けメッセージング製品として誕生しました。25年経過した現在も商用のメッセージング製品のデファクト・スタンダードとして広く採用されているMQについて、その歴史と役割をご紹介します。

 

MQ製品の歴史と現在

Jens Diedrichsen: IBM Corporation, Director ,IBM Messaging

1993年にリリースされたIBM MQ(当時、IBM MQSeries)は、2018年に25周年を迎えました。1993年ごろはWindowsやUNIXをはじめとした分散テクノロジーが開花しつつある状況で、MQは簡単にメインフレームと分散機をつなげる、異機種間接続を用途として開発されました。2000年代に入るとSOAの時代となり、メインフレームと分散機の接続だけではなく、SOAのトランザクショナルな非同期を実現する重要な基盤としてMQが使われるようになってきました。

MQだけではなく、上位製品にあたるIBM App Connect Enterprise(旧:IBM MQSeries Integrator、IBM WebSphere Message Broker、IBM Integration Bus)は、Webサービス対応や分散プラットフォーム上で稼働するパッケージ製品を強力にサポートするSOA基盤の役割を担ってきました。現在はオンプレミスのアプリケーションやデータのクラウド移行が進んでいますが、MQはオンプレミスとクラウドとの連携においても活用できるように機能が強化されています。さらにMQは、クラウド上のアプリケーション間の連携を可能にするマイクロサービス・アーキテクチャーの基盤として進化を続けています。このように、オープン化の時代の異機種間連携から SOA基盤、ハイブリッド連携、マイクロサービスと、MQは役割を積み重ねてきました。

IBMでは、2018年秋にApache Kafka(以下、Kafka)の商用版であるIBM Event Streams(以下、Event Streams)をリリースしました。Event Streamsはクラウド・ネイティブのアプリケーションを活用するためのメッセージング技術です。MQは信頼性の高いメッセージングを提供します。メッセージとは、システム間の指令のことですが、アプリケーションのモダナイゼーションを考えると、さらに2つの要件が求められます。1つはイベント・ベースでクラウド・スケールなデータを処理できることで、システム・ログ、気象情報、交通情報、IoT(Internet of Things)の機器情報などさまざまなデータを大量に処理する必要があります。もう1つはマイクロサービス・アーキテクチャーに取り組む必要があるということです。Kafkaはマイクロサービス・アーキテクチャーの中で分散したデータを、整合性をとりながら処理するためのキーとなるテクノロジーです。こうした必要性からMQを補完する位置付けとしてEvent Streams はリリースされました。MQは製品の機能を追加するだけではなく、ポートフォリオも充実させているのです。

 

MQはセキュリティー面でも早期の段階から配慮されてきました。非常に高度なメッセージ・セキュリティー機能を組み込み、金融業界をはじめとしたさまざまなお客様のニーズに対応しています。データは暗号化により保護されますが、それはアプリケーション間を移動しているときだけではなく、保存されている状況でも対策されています。こうした機能はGDPR(General Data Protection Regulation:一般データ保護規則)対応という観点でも重要になります。

MQはマネージド・サービスも含めたIBM Cloudに対応するほか、AWS上でも稼働することが可能です。つまり、IBM Cloudのお客様だけでなく、AWSをご利用のお客様であってもMQを採用することができるのです。

一方で開発やリリースに関しては変化してきています。以前は2年に1度メジャー・リリースを行っていましたが、V9からLong Term Support(LTS)とContinuous Deliveryの2つのリリース形態を取り入れるようになりました。つまり長期間で開発した追加機能をLTSでリリースするのに加え、お客様の要望に沿った改善を盛り込んだv9.01やv9.02といったバージョンを3~4カ月といった短い期間で継続的にリリースします。そして2018年の夏にv9.1をリリースしましたが、このバージョンはLTSリリースで、その後Continuous Deliveryが継続的にリリースされます。

 

3つのタイプに分けられるメッセージング

メッセージングは主に3つのタイプに種分けできます。1つ目はBusiness Critical Communicationと呼ばれる初期のMQで実現したタイプで、確実に一度の送達を保証するものです。2つ目はKafkaで実現されているイベントに対応したEvent Driven Enterpriseで、イベント・ストリームの履歴も保存されます。3つ目はIoTに対応したものです。MQはIoTに関しても一定の範囲をカバーしていますが、IoTのデバイス数が増えると対応が難しくなることから、この3つ目のIoT対応のタイプが求められます。

 

Business Critical Communication─ビジネス・クリティカルな通信

MQの開発はビジネス・クリティカルな通信から始まりましたが、課題点としては、アプリケーション間をどのように接続し、どのようにセキュリティーを担保するのかという点でした。当時のネットワーク、ハードウェア、ソフトウェア、OSなどはたびたびエラーを発生していましたので、その際にいかにチェックを行い、どのように対応するべきなのかを考慮する必要がありました。そこで確実な一度の送達、宛先を意識した配信、プラットフォーム非依存という概念からメッセージング方法を確立しました。この方法は、マイクロサービスやクラウドなどを含めた複雑な環境に対応することも可能にしています。

クラウド環境でアプリケーションを稼働させる際、メッセージの送信にMQを活用することが有効になります。MQはマルチベンダー環境に対応可能なので、ベンダー・ロックインを避けることができ、クラウドについても、IBM CloudとAWSから選択することができます。つまり、クライアント・アプリケーションを変更することなく、クラウド間の宛先を柔軟に変更することが可能になるのです。

 

Event Driven Enterprise─データ分析のためのイベント・フィード

日本アイ・ビー・エム株式会社 IBMクラウド事業本部クラウドSW第二テクニカルセールス 恩田 洋仁

ユーザーのWebサイトでの行動履歴は、さまざまなサービス向上に役立てることができます。そうした情報をデータレイクに蓄積し、機械学習やアナリティクス・エンジンを活用して情報からインサイト(洞察)を得ることができれば、ビジネスに大きく役立ちます。これはイベント・ストリームのユースケースの1つであり、それを実現するのがKafkaです。

Kafkaはマイクロサービスのアーキテクチャーを構築することにも活用可能です。イベント・ソース・パターンやリアクティブ・フレームワークを活用したアジャイルでクラウド・ネイティブなアプリケーションの作成を実現します。例えば、顧客がWebサイトにアクセスした後に店舗を訪問した場合、Webサイトの行動履歴をリアルタイムに把握できるので、それに基づいたサービスをおすすめするということが可能になるのです。

また次世代のレスポンシブなクラウド・ネイティブ・アプリケーションを稼働させるために既存システムからイベントを抽出することも可能です。既存システムに影響を与えることなく、イベントのデータをAIのソリューション、統計ソリューションなどで処理することで、今までにない知見を得ることができます。

 

IBMのメッセージング・ソリューション

IBMはビジネス・クリティカルな通信、イベント・ドリブン・エンタープライズ、IoTに対応したさまざまなメッセージング製品をそろえています。この中でイベント・ドリブン・エンタープライズ対応製品としては、KafkaをベースとしたEvent Streamsをリリースしています。

開発者の間で人気の高いKafkaですが、エンタープライズ向けのKafkaのクラスターを作成することは難しいといわれています。この課題を解決するためIBM Message Hubをリリースしましたが、これが現在のEvent Streamsです。Event Streamsは流通業、銀行、保険会社などさまざまな業種で採用されています。

Kafkaのクラスターをインストールするためには、多様なコンポーネントに対応させなければなりません。フェイルオーバー、更改要請、災害対策などを考慮すれば、一層複雑になります。しかし、Event Streamsを活用すれば、これらの手間を簡略化することが可能になります。例えば、災害対策であれば、レプリケーションの対象と保存場所を指定すれば、後はボタン1つで操作が完了します。

またDockerのイメージが20以上にも及ぶ場合でも、それらの状態がEvent Streamsのダッシュボードに表示されるので、ビジーになっている部分、キャパシティーが不足している部分などを一目で把握することが可能になります。

またMQは、ビジネス・クリティカルな通信におけるデファクト・スタンダードとしてすでに認識されています。規模、業種、地域を問わず、さまざまな企業において、迅速で確実、セキュアなメッセージのデリバリー・ツールとしてMQが採用されています。シンプルな仕組み、高い拡張性、正確性、接続性、高い信頼性、セキュリティー面といった特長が評価され、多くのお客様にMQをご利用いただいているのです。

これまでの25年間、ハードウェア、ソフトウェア、アプライアンス、プライベート・クラウド、パブリック・クラウドなど、MQはさまざまな環境で活用されています。クラウド環境におけるマネージド・サービスも提供しているほか、技術的なサポートを提供するWebサイトも用意しています。今後は、Azureやクラウド・ネイティブなどへの対応を含めた、お客様のさまざまなご要望に対応するためにMQの機能を強化させるとともに、Webサイトでのサポートをより充実させていきたいと考えています。
MQ製品詳細はこちら

 

2018年11月22日開催イベント『未来を拓くアプリケーション、メッセージング基盤 ~WebSphere 20年、MQ 25年の歴史とこれからの進化に迫る~』 より

日本総合研究所様事例『SMBCグループにおけるWAS/MQ活用のあゆみと、これから』はこちらからご覧ください。
『WebSphere 20年の歴史とこれからの進化に迫る』はこちらからご覧ください。

More Integration-and-Development stories

サイバー戦隊 CIS! 6つのパワーが今、一つに

IBM Cloud Blog

#始めようCIS Webアプリケーションのセキュリティーとパフォーマンスの両方を向上させるクラウド・サービス「 ...続きを読む


ガートナー社、インサイト・エンジンに関する2019年版のマジック・クアドラントでIBMをリーダーに位置付け

IBM Cloud Blog, IBM Data and AI, IBM Watson Blog...

IBMは、ガートナー社の「インサイト・エンジンに関する2019年版のマジック・クアドラント」市場調査レポートで ...続きを読む


IBMエッジ・コンピューティング

IBM Cloud Blog

  ソース近くで収集されたデータの処理 IBMエッジ・コンピューティングは、リアルタイムにAI、5G ...続きを読む