イベントドリブン型のアーキテクチャも注目
REST APIへの不満爆発? API Worldで話題になったメッセージングのこれから
カルフォルニアで開催された「API World 2017」ではマイクロサービスのメッセージングプロトコルについて、RESTからの脱却や新しいプロトコル検討がされた。最新情報を含め幾つかトピックを紹介する。
カリフォルニア州サンノゼで開催されたカンファレンス「API World 2017」では、モノリシック(システムとしてさまざまな機能が集約されたもの。マイクロサービスの反対)なソフトウェアアーキテクチャから分散型のマイクロサービスベースアーキテクチャへの移行に関心を持つ人々が集まった。カンファレンスでは、特にマイクロサービスメッセージングプロトコルに関して多くのアドバイスと方向付けが行われた。メッセージングプロトコルとはデータ交換方式の規約である。
本稿では、カンファレンスの参加者に提示されたマイクロサービスについての新事実や今後の見通しについて見ていこう。カンファレンスでは、RESTからの脱却、注目すべき最新で最高のメッセージングプロトコルとアーキテクチャが話題になった。
RESTからの脱却
API World 2017では、マイクロサービスの標準メッセージングプロトコルとしてRESTを使用していることが議論になった。RESTは人気がある。だが、パネルセッションのメンバーはマイクロサービスのメッセージングプロトコルの進化に注目し、他の選択肢を検討する必要があることを提言した。
ロンドンに拠点を置くAPIサポート基盤提供ベンダーHitchでリードエンジニアを務めるフラン・メンデス氏は次のように語った。「RESTful APIは人気があるが、多くの不満も抱えている。WebSocketがあっても、パターンを一致させるためにはコネクション(接続)のために高品質な仕組みが必要になるためだ。ユーザーはイベントドリブン型の別の選択肢を探している」
イベントドリブン型の効果
テキサス州フリスコに拠点を置くテクノロジーアドバイジング企業Logic Keepersの最高技術責任者(CTO)兼取締役社長マーク・マカリー氏はカンファレンスの参加者に向けて、マイクロサービスで以前から利用されているRESTのブロッキングアーキテクチャの問題点と、イベントドリブン型のノンブロッキングアーキテクチャの効果を話題にした。
「マイクロサービスに切り替えると、システムの応答性が極端に低下するという問題に直面する。誰もが応答性の非常に高いアプリケーションに慣れつつあり、既にユーザーエクスペリエンスの一部になっている」と同氏は話す。
マカリー氏の説明では、入出力とデータベースのブロッキング、モノリスとパフォーマンス管理、内外のエンドポイントの不適切な管理という3つの問題が生じる可能性があるという。イベントドリブン型のアーキテクチャを目指せば、応答性と柔軟性の高い、イベントドリブン型非同期ノンブロッキングアプリケーションにすることができる。ここでいうブロックとは処理が開始する前に前の処理待ちが発生することを指す。同様に、同期とはプログラムの処理が終わるまで他の処理をしないことを指す。つまり非同期ノンブロッキングとは、処理開始前に待ちが発生せず※、他の処理が実行中の場合は別のプロセスで処理を継続することができる。
※注 正確には待ちが発生する場合は前の処理に戻り、システム返答待ちをせずにエラー処理など即座に後続処理ができる。
gRPC、Kafka、GraphQLの検討
1つの提案は、オープンソースのリモートプロシージャコールシステム(gRPC)を調査するというものだった。gRPCは当初Googleが開発したシステムだ。Googleで製品管理リーダーを務めるバルン・タルワール氏は、gRPCはHTTP/2を用いるため、同氏が名付けた「多言語混在通信」という方法を実現できると説明する。
「gRPCは、ストリーミング、クライアント側のストリーミング、サーバ側のストリーミング、メッセージの返信に役立つ可能性がある。多くのREST開発者は、これらをRESTで行うのが難しいことに気付いている」(タルワール氏)
話題は、オープンソースのストリーム処理基盤「Apache Kafka」の使用に移った。その主な理由は、Apache Kafkaが持つ、メッセージ伝達のフォールトトレラントな性質にある。フォールトトレラントとはシステムの一部に問題が生じても全体が機能停止するということなく機能を縮小してでも動作し続けるような設計のことである。
ブリティッシュコロンビア州バンクーバーのソーシャルメディア管理基盤プロバイダーHootsuiteでテクノロジー部門のディレクター兼任開発者を務めるマイク・サンプル氏は次のように述べた。「Apache Kafkaではブローカーを2~3つ利用できる。そのブローカーはパーティションを2~3つ格納できる。そのため、非常に強固になる」
Apache Kafkaブローカーとはメッセージングを処理するコンポーネントの1つで、メッセージの配信とメッセージの購読の間でメッセージの受け渡しをする。ブローカーが複数利用できるということはメッセージの送受信をするための経路が複数持てるということだ。
パネルセッションのメンバーが次に話題にしたのは、Facebook社内で開発されたデータクエリ言語GraphQLだ。この言語は、特に分散型開発チームでRESTアーキテクチャの代わりに使用する場合にメリットがある。
「企業の開発チームは拡大する可能性がある。GraphQLはこのような場合に非常に役立つ。GraphQLはAPIゲートウェイと考えるべきで、このゲートウェイはさまざまなサービスにアクセスできる」こう説明するのは、パネルセッションのメンバーで、アトランタに拠点を置くArvataのCTOを務めるライアン・ブラン氏だ。だが、同氏はGraphQL用のツールがやや未成熟な点を懸念している。
全てが前向きな検討材料になった
API World 2017の参加者は、マイクロサービスのセッション、特にマイクロサービスのメッセージングプロトコルに関するパネルディスカッションに前向きな反応を示した。
「特に気に入ったのは、マイクロサービス間のさまざまな通信プロトコルと、そのプロトコルを使用する理由についての話題だ」と語るのは、金融サービス企業The Capital Group Companiesで上級アプリケーション開発者を務めるヘマ・ラージャシェーカラ氏だ。
ラージャシェーカラ氏は同社がマイクロサービスの実装に移行する際のパフォーマンスの問題を軽減するために、マイクロサービスのメッセージングプロトコルに関する情報をさらに集めようと積極的に探しているという。
「1つの心配はパフォーマンスだ。異なるマイクロサービス間の通信がパフォーマンスにどう影響するかが問題になる。そのため、話題になったgRPCとKafkaの違いを社に持ち帰り、何を採用するのがベストか検討する予定だ」と同氏は言う。
音声通信やネットワーク関連サービスを提供するBlackfoot Telecommunications Groupでシステム統合アナリストを務めるバーブ・ホンケン氏はカンファレンスに参加し、特にマイクロサービスでのGraphQL言語の使用に関する議論に興味を持ったという。
「ここに来るまでは、GraphQLについて知りたくなるとは思っていなかった。だが、今ではもっと知識を深めたいと思っている」(ホンケン氏)
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
「データストレージの活用方法」に関するアンケート
-
4
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
5
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
6
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
7
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
8
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
9
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
10
「プログラマー不要論」にThe Linux Foundationが示した答え
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
10
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー