イベントドリブン型のアーキテクチャも注目
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.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー