現在JavaScriptの設定が無効になっています。このページを利用するにはJavaScriptの設定を有効にしてください。WEEKの2日目の記事です。カテゴリの一覧はこちらはじめにこんにちは。システム統括本部プラットフォーム開発本部の古田です。Pulsarを扱うチーム(以下、Pulsarチーム)に所属しています。今回は、ヤフーにおけるOSS開発・貢献がどのように行われているかについて紹介します。ヤフーにおけるOSS開発・貢献ヤフーは、100以上のサービスを展開しており、日本最大級のユーザー数やビッグデータを有しています。各サービスから得られた膨大な量と種類のビッグデータを活用し、より使いやすいサービスの提供のために、日々の開発に取り組んでいます。ヤフーでは、ユーザーにより良いサービスを素早く提供するために、世の中にあるさまざまなOSSを利用して、開発コストを削減し、各サービスやそれらを支えるプラットフォームを開発しています。OSSを利用するだけではなく、技術のさらなる進化を実現するために、OSSの開発・貢献を推奨し、開発しやすい環境を社内のOSS開発者に提供しています。ヤフーが開発・協力しているOSSヤフーが開発・協力しているOSSについていくつか紹介します。Pulsar高信頼性・高パフォーマンス・高スケーラビリティのPub-SubメッセージングシステムOSS開発者への支援ヤフーでは、OSS開発者を支援するための環境や社内制度を設けています。その中の1つに、OSSデベロッパー認定制度という制度があります。OSSデベロッパー認定制度OSSデベロッパー認定制度とは、コミッターのOSS活動を支援するための制度です。今まで以上にOSS活動を活発にしていき、自発的な技術力向上の機会を増やすことを目的として、この制度が導入されました。ヤフーが指定するOSSのOSSデベロッパーに認定されれば、OSS開発だけではなく、関連するカンファレンスやミーティングへの参加も業務扱いにできます。年間100万円を上限とした活動予算枠が付与され、開発機器の購入費用や、書籍執筆費用、カンファレンスの参加費や、渡航費や宿泊費など幅広く利用できます。Pulsarのコミッターが数名おり、OSS開発・貢献に役立てています。コミュニティーの活性化TechBlogでOSSを紹介したり、社内外問わずOSSのハンズオンやMeetupを開いたりなど、コミュニティーの活性化にも取り組んでいます。ヤフーには、LODGEという社外の人でも利用できるコワーキングスペースがありますので、気軽にイベントや勉強会を開くことができます。次に、私が所属する、PulsarチームでのOSS開発・貢献について紹介します。Pulsarの新機能開発やバグ修正および社内プラットフォームへの適用などを行っています。Pulsar)とは、高信頼性、高パフォーマンスおよび高スケーラビリティを誇るOSSのPub-Subメッセージングシステムです。Pulsarを使うことによって、通知情報やログといったメッセージを、異なるアプリケーション間で、非同期に高速に送受信することが可能です。あるアプリケーションから得たログを複数のアプリケーションに非同期で送りたいときや、ジョブの保存や取り出しを非同期で行いたいときなどに使われます。よるとレプリケーションされるデータセンター数:10以上1日あたりに生成されるメッセージ数:1000億以上トピック(メッセージが送受信されるエンドポイント)数:140万以上と巨大でありながら、メッセージ送信に要する時間の平均は5[ms]以下を実現しています。マルチテナントおよびスケーラビリティなどにおいて優れており、大規模サービスに適しているシステムです。Media)で開発された技術で、2016年4月にヤフーが参加し、2016年9月にOSSとして公開されました。Foundationに移管し、2018年9月にトップレベルプロジェクトに認定されました。Media」、中国の人材サービス会社「Zhaopin.com」、アルゼンチンのECサービス会社「MercadoLibre」といった巨大なトラフィックを抱えるグローバル企業がPulsarを導入しています。Pulsarについて詳しく知りたい方はこちらをどうぞ。1ヤフー発のメッセージキュー「Pulsar」のご紹介Pulsarチームの業務ここでは、Pulsarチームの業務内容についていくつか紹介します。社内のメッセージングプラットフォームの構築と運用Pulsarチームでは、異なるサービス間のデータ連携を効率よく実現するために、Pulsarを利用したメッセージングプラットフォームを社内に提供しています。ヤフーは、100以上のサービスから得られたビッグデータをサービス間で効率よく送受信するために、巨大なトラフィックを高速に処理でき、利用者数の増大や障害に対応でき、かつ送受信をまとめて管理できるシステムを求めていました。Pulsarを、社内のメッセージングプラットフォームとして導入しました。Pulsarの改良を行っています。開発しているOSSをさまざまなサービスやユーザーに実際に使ってもらうことによって、バグの発見や新機能の提案につなげやすくなります。ヤフーには100以上のサービス、巨大なトラフィックやユーザー数を有していますので、幅広く多角的な視点からOSSを開発できます。ISSUE/PR共有会GitHubのISSUEやPR(プルリクエスト)から、最新情報のキャッチアップを行い、チーム内で共有しています。バグ修正や機能の追加があれば、チームで議論し、社内のプラットフォームに積極的に取り込んでいます。Pulsarのバグ修正や新機能開発に関するコミットやレビューを業務として行っています。コミットやレビューを業務として行えるので、海外にいる優秀なコミッターやコントリビューターと議論する機会が増え、コーディング能力や英語能力を普段の業務で高めることができます。社外にPRを出す前に、チーム内にいるコミッターからレビューをもらうことができるので、OSS開発に慣れていないエンジニアでもコミットできます。私自身、Pulsarチームに入る前までは「OSS開発はハードルの高いもの」という意識がありましたが、業務としてコミットするにつれて、今では気軽にPRを出してOSSに貢献できるようになっています。コミュニケーションPulsarチームでは、チャットやテレカンファレンスなどで、海外のPulsarコミッターやコントリビューターとのミーティングも行っています。コミッターやコントリビューターとのコミュニケーションには英語を用いているので、普段の業務から英語でのコミュニケーションにも取り組んでいます。コミュニティー拡大のために、国内のカンファレンスだけでなく、OSCONやKubeConなどの国外のカンファレンスにも参加し、プレゼンやブース運営を行っています。おわりに本稿では、ヤフーにおけるOSS開発・貢献がどのように行われているかについて紹介しました。OSSデベロッパー認定制度で認定されたコミッターは、OSS開発を業務として行うことができ、そのための活動予算も支援されます。OSS開発者は、開発しているOSSを社内のサービスやプラットフォームに導入し、ヤフーの膨大な量と種類のビッグデータを利用した、他にはない経験やノウハウをOSSに積ませることができます。これによって、OSSの改善だけでなく、OSS開発者自身の技術力向上にもつながることから、ヤフーが「OSSとOSS開発者がともに成長できる環境」であるといえます。今後もヤフーでは、OSS開発者だけでなく、エンジニア全員の技術力向上やさまざまなチャレンジを応援するとともに、より良いサービスをユーザーに提供できるよう、OSSの開発・貢献に取り組んでいきます。JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。JAPANのサービス開発を支える技術やデザイン、文化を発信しています。Reserved.このページの先頭へ。