「Bucketeer」プロダクトオーナーに聞く、
OSS化の裏側

技術・デザイン

当社ではオープンソースコミュニティへの貢献や業界発展を目的に、これまでいくつかのオープンソースを公開してきました。中でも2022年9月にオープンソースソフトウェア(以下、OSS)として公開したフィーチャーフラグマネジメント・A/Bテストプラットフォーム「Bucketeer」は、公開から1週間でGitHub上にて100以上のスターを集めるなど、大きな反響をいただきました。「Bucketeer」プロダクトオーナーの沖本に、開発の裏側を聞きました。

Profile

  • 沖本 友一
    2013年より業務委託として当社の開発業務に従事した後、2014年入社。バックエンドエンジニア。
    スマホゲーム「戦国炎舞 -KIZNA-」のネイティブアプリ開発を経て、定額音楽配信サービス「AWA」の立ち上げに携わる。その後、新しい未来のテレビ「ABEMA」のバックエンドエンジニアに転向。「Bucketeer」の開発を担当した後、2020年より「Developer Productivity室」にて同プロダクトの社内導入事例増加とOSS化に取り組む。

OSS化を支えた
チームサイバーエージェントの技術力

── 開発のきっかけを教えてください。

「AWA」開発中に、レコメンドのアルゴリズムをテストする機能が必要だったからです。社内のニーズに合わせて柔軟に対応できるソリューションを目指していたので、サードパーティの製品を利用するのではなく、自分たちで開発することに決めました。その後、「ABEMA」にて誕生し、現在はグループ内の複数のメディアサービスに導入されています。フィーチャーフラグを活用することでリリースを伴わない機敏な挙動変更を可能にし、さらにA/Bテストを行うことで本番環境で様々な検証ができ、より良いUXを実現できるようになりました。

── 「Bucketeer」を社内ツールとしてだけではなく、OSSとして公開しようと思ったのはなぜですか?

「Bucketeer」は企業規模に関わらず簡単に導入でき、専門知識がなくても運用できるシンプルなソリューションであるため、社外の方々にも活用いただけると考えたからです。また、開発者やコミュニティから得たフィードバックをプロダクトに反映し、社内に還元していきたいという思いもありました。OSSとして公開することで世界中の人々と繋がり、サイバーエージェントが面白い開発に取り組んでいることを広く知っていただければと考えています。

── OSS化にあたって、サイバーエージェントの開発環境で魅力に感じた点はありますか?

私が所属する「Developer Productivity室」は、開発者の生産性を向上させることで、サービス開発を支える、メディア事業部内の横断組織です。同組織内で提供している、継続的デリバリーシステム「PipeCD」が既にOSS化していたので、メンバーに気をつけるべきポイント等の相談ができたのはありがたかったですね。特に重要なのが、セキュリティ周りでした。

また、コードにセンシティブな情報が掲載されていないかチェックしてくれる、セキュリティオペレーションプラットフォーム「RISKEN」が社内にあることで、より安心できました。このようなシステムが社内になければ、外部の専門企業に確認を依頼せねばならず、今回のようにスピード感を持ってOSS化することは難しかったと思います。

── OSS化において、特に苦労したのはどのような点ですか?

元々はOSS化を目的としたアーキテクチャではなかったため、その調整です。OSS化にあたっては、データパイプラインの構成をかなり大きく変更したため、既存データを移行する必要があります。一歩間違えるとデータを消失させてしまうこともあるので、無事に移行させるための設計には苦労しました。私自身、バックエンドに転向してからまだ4年ということもあり、試行錯誤して取り組む日々でした。

また、同時に「Bucketeer」を導入している各サービスへのサポートを行っていました。これまで社内で「Bucketeer」は不具合発生時や改善をフィードバックした際のサポートが早いという評判をもらっていたので、OSS化の準備中でもできる限りスピード感を持って対応したいという思いがあったからです。特に昨年「ABEMA」で実施した「FIFA ワールドカップ カタール 2022」全64試合生中継において、かつて経験したことのないリクエストに対する事前準備が必要だったため、2022年から発足した「Bucketeer」SRG(サービスリライアビリティグループ)チームと共に、数ヶ月間にわたり負荷試験を実施していました。それら作業と並行して、OSS化準備に努めました。

トランクベース開発の文化を根付かせるために

── 公開後、社外の反響はいかがでしたか?

2022年9月末に公開してから1週間でGitHub上のスターが100以上付き、とても驚きました。12月現在は150ほどに伸びています。Twitterでも多くのリツイートがあり、取材の機会をいただいたりと「Bucketeer」の知名度が上がって嬉しいです。

── 共に「Bucketeer」を次のステージに押し上げてくれる、新たなメンバーを募集中だと聞きました。

「Bucketeer」の開発に興味を持ってくださる方がいれば嬉しいです。先日からDeveloper Productivity Engineer(DPE) の職種で募集を開始しました。

また、「Bucketeer」チーム専属のデータサイエンティストも募集しています。現在我々バックエンドエンジニアができる範囲で、各サービスへのサポートを行っているものの、専任のデータマネジメントチームを持っていない小規模サービスに対しては、さらなるサポートが必要だと感じています。「Bucketeer」チームにデータサイエンティストが所属することで、これまで以上にきめ細やかなサポートを実現し、A/Bテストの活用事例を蓄積したいです。

── 今後の目標を教えてください。

社外の方からより多くのフィードバックをもらうことで、「Bucketeer」をさらに進化させたいです。フィーチャーフラグとしては十分な機能を提供できていると考えていますが、A/Bテストに関してはシンプルな検証しかできないのが現状の課題です。ユーザーのニーズを的確に判断した上でテスト機能をアップデートさせ、A/Bテストの活用事例を増やしていきたいです。また、社内の開発プロセスからリリースまで、トランクベース開発カルチャーを定着させ、リスクとストレスを減らしながら、開発スピードを向上させていきたいと考えています。

この記事をシェア

オフィシャルブログを見る

記事ランキング

Activity Understanding(行動理解)研究の挑戦

技術・デザイン

ー実世界でのニーズに応えるAIやロボティクス技術の開発とはー

インターネット上だけでなく、私たちが生活するリアルな実世界において、AIサービスを実現するための基盤研究に取り組むAI LabのActivity Understanding(行動理解)チーム。2023年から始まった研究領域ですが、既に当社が展開するリテールメディア事業において実装が進んでいます。

多様な専門性のあるメンバーが、事業と連携し垣根を超えて生み出す新たな価値とはー?
Activity Understandingチーム立ち上げ当初から研究を行う3名のコメントを交えながら、紹介します。

Page Top