メッセージングシステム「Pulsar」のOSS化とは

メッセージングシステム「Pulsar」のOSS化とは

昨年9月、Yahoo! Inc.からメッセージングシステム「Pulsar」が、オープンソースソフトウェア(以下OSS)として公開されました。

【Yahoo! JAPAN Techブログ】ハイパフォーマンスでスケーラブルなメッセージングシステム:Pulsarの紹介

Pulsarとは:Yahoo! Inc.において開発され、これまでYahoo! Inc.のメール、ファイナンス、スポーツなど主要サービスにおいて、メッセージを高速かつ消失することなく配信するために利用されてきたものです。

この「Pulsar」OSS化の取り組みは、Yahoo! Inc.とYahoo! JAPANのエンジニアが共同で取り組んだものです。今回、OSS化開発に参加した、Yahoo! JAPANシステム統括本部プラットフォーム開発本部のエンジニアチームのみなさんに話を聞きました。

(写真左から、江川、北條、栗原、福田、坂本。彼らは、Yahoo! Inc.のエンジニアと共同でユーザー向けイベントを開催するなど、Pulsarを広める活動を積極的に行っています)

- 今回の取り組みのきっかけは?

江川:

Yahoo! JAPANでは、1つのサービスを提供するなかで、非常に多くのサーバー間で処理を行っています。そのYahoo! JAPAN内部の通信速度を、信頼性、拡張性を維持したまま、より高速化したいと考えていました。そんななかでYahoo! Inc.と情報交換をしていたとき、彼らが作っていたメッセージングシステムの「Pulsar」を薦められたのです。そこからわれわれでPulsarの技術調査を始めました。パフォーマンスをはかる過程で、とてもすばらしい技術だと感じたので、OSS化したらどうかとわれわれから持ちかけたのがこの取り組みのきっかけです。

image

(システム統括本部 プラットフォーム開発本部 アクセラレーションテクノロジー部 部長の江川)

- Yahoo! JAPANとして、まだ事例の少ないOSS化ですが、手がけてみていかがでしたか?

栗原:
私たちの仕事は、Yahoo! JAPANのエンジニアがサービス開発をするときに共通で利用できるプラットフォームを作ることで、これまでは社内だけで使われるプラットフォームを開発してきました。それが最近では、開発したプロダクトをOSSとして社外に出していきましょう、という流れに変わってきています。社外の人も使うとなると、代替技術の選定など、社内だけで使われるプロダクトに比べて考えなければならないことも多いので、そういった意味では開発段階からずっとプレッシャーを感じていました。

image

(システム統括本部 プラットフォーム開発本部 アクセラレーションテクノロジー部 栗原。Yahoo! JAPANの技術ブログの執筆も行う)

北條:
私は今までもわりとOSS化された技術に関わることが多かったので、これまでの経験をメンバーに共有しながら、PulsarのOSS化開発を推進してきました
社内だけで使われるプロダクトの開発を行う際は、「この場合はこの技術を使う」という定番がありますが、社外の人にも使ってもらうとなった場合は、別の技術を選定しなければいけません。そういった場面では、自分のOSS化開発の経験から「この技術が良いのではないか」と、あたりをつけていくところはメンバーにアドバイスできたのではないかと思います。

image

(システム統括本部 プラットフォーム開発本部 アクセラレーションテクノロジー部 北條。北條はHTTPプロキシサーバーであるApache Traffic Server(ATS)のコミッター。世界に50人弱、日本人は3人いるATSコミッターのうちのひとり)

坂本:
私は、OSS化を手がけたのは初めてでした。Yahoo! Inc.が作った社外秘の技術を取り除いていくのがメインの作業でしたが、それをひとつひとつ置き換えていくのは大変な作業でした。

image

(システム統括本部 プラットフォーム開発本部 アクセラレーションテクノロジー部坂本)

- みなさんが考える「プロダクトをOSS化の意義」とはどんなことなのでしょうか?

北條:

社内で使われるプラットフォームを開発してきた僕たちにとって、OSS化で社外の方に使ってもらえることはとても刺激的なことです。なぜなら、自分たちの開発したプロダクトのユーザーが世界中に広がり、フィードバックの量も増えるからです。世界中のエンジニアからのフィードバックは学ぶことが多く、自分が作ったOSSを使ってもらえているのだという実感にもつながり、やりがいを感じます。

栗原:
私は、今回の取り組みを通じて、プラットフォーム開発の視点を、社内だけでなく全世界へ向けるというエンジニアとしての挑戦、楽しさを改めて実感しました。そして、Yahoo! JAPANの技術や自分の技術力が、他の会社や世の中のエンジニアと比べてどうなのかという観点をより一層持てたと感じています。

江川:
「技術力を高めるサイクルが回ること」にあると考えています。プロダクトをOSS化して社外に公開し、フィードバックを受け、新しい知識が入ってきて、さらに技術力を高めていく。このサイクルを回し続けて、Yahoo! JAPAN全体の技術力が高まっていくことを期待しています。

社内で横展開も

福田:
このPulsarの取り組みをうけて、社内では別のプロダクトについても同じスキームでやろうという話が出ています。社内でそういった機運が高まっていくことは、Yahoo! JAPANの技術力を高めていく上でもとても良いことだと思っています。

image

(システム統括本部 プラットフォーム開発本部 アクセラレーションテクノロジー部 福田)

- 今後、Pulsarをどのように育てていきたいですか?

坂本:
Pulsarは、メッセージングシステムと言われる領域のプロダクトです。メッセージングシステムの領域にはさまざまなプロダクトがあるので、Pulsarはそれらに負けないものに育てていきたいと思っています。

北條:
OSSとして公開したからには、技術のブラッシュアップは継続的に行うのはもちろん、多くのフィードバックを得るためにも、Pulsarを使ってくれる人を増やす、サポートを手厚くするなど、社外の方を含めたコミュニティーの形成にも積極的に取り組んでいきます。

福田:
公開したばかりのプロダクトなので、まずは認知度を上げるとこと。今後は、ユーザー向けセミナーなどを通じて、社外に多く発信していきたいですし、Pulsarファンを獲得していきたいと思っています!

世界で戦える技術集団に

江川:
Yahoo! JAPANは、今度さらに社内に閉じることなく社外に対する技術貢献を推進していきたいと考えています。Yahoo! JAPAN内外で分け隔てなく技術の「共創」をすることによって、技術力を高め「世界で戦える技術者集団」となっていきたいと考えています。

※肩書、部署名は取材時のものです。