サイバーエージェント発OSSの魅力:
導入を加速する設計とエコシステムの構築

サイバーエージェントが提供する「myshoes」と「PipeCD」は、それぞれGitHub Actionsのセルフホストランナー管理や、プロダクトの継続的デリバリーの実現を支援するOSSです。プロダクトの課題解決から生まれたこれらのソフトウェアは、OSS化することにより開発力と生産性の向上に大きく貢献しました。
本記事では、Kubernetes/CloudNative領域のDeveloper Experts 青山をモデレーターに「myshoes」と「PipeCD」開発に携わるエンジニアを交え、公開に至る背景や設計の工夫、コミュニティ形成への取り組みや今後の展望についてディスカッションしました。
Profile
-
青山 真也 (グループIT推進本部 CyberAgent group Infrastructure Unit - CIU)
2016年サイバーエージェントに入社。OpenStackを使ったプライベートクラウドやマネージドKubernetesサービスを実装。国内カンファレンスでのKeynoteの登壇など多数。著書に『Kubernetes完全ガイド』『Kubernetesの知識地図』『みんなのDocker/Kubernetes』。現在はCloudNative領域のOSSへの貢献をはじめ、KubeCon + CloudNativeCon Japan 2025 Co-Chair、CloudNative Days Tokyo Co-chair、CNCF Japan ChapterのOrganizer、Kubernetes Meetup TokyoのOrganizerなどコミュニティ活動にも従事。 -
中西建登 (グループIT推進本部 CyberAgent group Infrastructure Unit - CIU)
2019年新卒入社。サイバーエージェントのプライベートクラウド「Cycloud」の開発・運用に携わる。2021年4月よりCyberAgent group Infrastructure Unitに異動し、事業部を超えた課題解決に従事。現在はCI runnerマネージドサービスのコアデベロッパ兼プロダクトオーナー。著書に『達人が教えるWebパフォーマンスチューニング』。趣味はポーカー、自宅サーバ。 -
Tran Cong Khanh (技術政策管轄 CTO統括室 Developer Productivity室)
2020年入社。OSSに興味があるDeveloperです。2020年に入社からDeveloper Productivity室所属、2022年07月からPipeCDプロジェクトオーナーに取り組む。2024年からCNCFのAmbassadorに選出されました。
サイバーエージェント発のOSSが、開発力と生産性の向上をもたらした
青山:本日、モデレーターを務める青山です。私は普段、マネージドKubernetesサービスを実装し、サイバーエージェントグループに提供する仕事をしています。OSS開発という観点で、お二人の取り組みは技術領域的に近く、日頃から「どうやってOSS開発しているんだろう」と気になっていました。今日はいろいろ質問させてください。よろしくお願いします。
中西:よろしくおねがいします。私は2019年にサイバーエージェントに新卒入社し、社内のプライベートクラウドでVM基盤などを提供してきました。OSS開発には8年ほど携わっていて、社内外で「CloudMaker (クラウドメーカー)」という職種で活動しています。現在は、GitHub Actionsにおけるself-hosted runnerにおける作成・削除などの運用を自動化するOSS「myshoes」を開発しています。

カイン:私は、サイバーエージェントグループの開発生産性を向上させるための専門組織「Developer Productivity室」でOSSプロダクトの開発を手掛けています。現在は、継続的デリバリーツール「PipeCD」の開発責任者です。2020年10月にOSSとして公開した「PipeCD」は、サイバーエージェントにおいては、約3,500のアプリケーションが「PipeCD」を利用し、毎日何千回ものデプロイが行われています。

青山:ではまず最初に「myshoes」や「PipeCD」といったプロダクトを、OSSとして公開するに至った経緯や背景から話していきましょう。
中西:発端は2020年頃からでしょうか。当時は社内で「開発力と生産性の向上」が盛んに議論されていました。
その中で、従来の社内基盤やライブラリを開発・活用する方法に加え、プロダクト開発の過程で開発したツールやライブラリをOSSとして公開する取り組みが注目されました。OSSとして公開することで、社内外のコントリビューターからフィードバックや改善提案を得ることで、より迅速かつニーズに合ったソフトウェア開発を可能とすること。それに加え、OSSコミュニティを通じて、外部の開発者がコードやドキュメントの改善に参加し、社内だけでは達成が難しい高いクオリティを実現できる点も注目されました。
OSS化の取り組みはサイバーエージェントの「開発責任者が裁量権をもって技術選定やアーキテクチャを決定する」というカルチャーと深く結びついていると感じました。多様なOSSをプロダクトに積極的に採用してきたので、社内で開発したツールやライブラリを社外にOSSとして公開するのも自然な流れだと思います。
そういった背景の中で、サイバーエージェント発のOSSとして生まれたのが「myshoes」です。
カイン:中西さんの言う通り、サイバーエージェントには各事業部・チームが「必要なプラットフォームやOSSを自分たちで選ぶ」という技術カルチャーが特徴的ですよね。その一方、プロダクト開発をするにあたっては、既存のOSSだけでは解決しきれない領域はまだ多く、社内独自の課題を解決するためにさまざまなソフトウェアやツールを開発しているのが現状です。こういった課題は、非営利団体CNCF(Cloud Native Computing Foundation)が公開しているCloud Native Landscapeでも把握することができます。
「PipeCD」も最初は「ABEMA」におけるDevOpsの課題を解決するために開発されたCDツールでした。それをOSSとして公開することで社内外からコントリビューションを集めやすくなり、ドキュメントの整備も進みました。国内外問わず多くのユーザーが「PipeCD」を使ってくれることで、「このOSSなら安心して使える」という信頼感が生まれ、結果的に社内での利用も広がっています。「PipeCD」は、OSS化による好循環を生み出していると言えます。
青山:社内だけに閉じたプロダクトだと、異動やミッションチェンジなどでメンテナーが不在になるリスクも大きいですよね。その点、OSSとして公開することでコミュニティが形成されると、外部からのコントリビューションも期待できるので、利用者目線としては安心して使い続けられるという側面があると感じました。
中西:もちろん、OSSとして公開する際のセキュリティリスクなどもありますので、公開前には社内レビューやセキュリティ診断を行い、同時にプラガブルな設計を採用することでリスクを回避しました。

社内外の垣根を越えるOSS開発のメリット
青山:OSS化したことで、社内での利用率は上がりましたか?
中西:「myshoes」はリリース当初から少しずつ利用者が増え、現在ではメディア事業やゲーム事業、AI事業など、さまざまなプロダクトで活用されています。特に、GitHub Actionsを使う際に「大規模なランナーが必要」「macOSでビルドしたい」といったニーズが増加していて、プロダクト開発ニーズに対応する事で利用者が増える傾向になります。また、オンプレミス環境でもスケールしやすい点が評価されており、幅広い事業部で信頼を得ている状況です。
カイン:「PipeCD」は「ABEMA」が最大のユーザーで、たくさんのフィードバックをもらっています。大規模プロダクトにおけるユースケースと、そのフィードバック対応により「PipeCD」も品質が大きく向上しました。また「ABEMA」での利用実績が他のプロダクトにとっても信頼材料となり、「ABEMAで使われているなら安心」という声とともに、社内ユーザーが加速度的に増えています。このように、実績とフィードバックの循環が社内利用の拡大を後押ししています。
青山:なるほど。「開発力と生産性の向上」という利用者のメリットのお話がありましたが、技術レベルの向上やエンジニア個人のスキルアップなど、組織や開発者個人にとってのメリットも知りたいです。
中西:OSSとしてソフトウェア資産を可視化したことによるメリットは非常に大きいです。例えば、外部イベントや勉強会で「myshoes」を紹介する際、社内サービスにとどまっていると課題解決の再現性を説明しづらい場面もあります。しかし、OSSであれば誰でもソースコードに触れることができます。そのため、多くのWeb企業が集まるテックカンファレンスの場でも、ノウハウや課題をコードベースで共有しあい、各社で議論をすることで、今後の開発指針を深められる点が大きなメリットです。
さらに、OSS開発に興味を持つインターン生や部署外のエンジニアが参加しやすくなる点も見逃せません。インターン生がOSS上に残したコントリビューションは外部からも確認できるため、本人のキャリアにプラスになります。また、Issueが公開されていることで、課題がどのように解決されたのかをトレースでき、他のエンジニアも課題の把握や進捗を共有しやすくなります。
こうした仕組みは、個人のスキルアップやキャリア形成を支援するだけでなく、組織全体としても知見を蓄積し、開発力の底上げにつながっています。結果的に、エンジニアの成長と技術レベルの向上を組織的に支える好循環を生み出していると感じています。
カイン:「PipeCD」も同様に、実装内容をオープンにしていることで、要望があればIssueを立ててもらい、Developer Productivity室以外のメンバーとも一緒に開発を進められる環境が整っています。例えば、社内ではSRG(Serveice Reliability Group)とOIDC機能を共同開発したり、「Terraformに詳しいからレビューを手伝います」というエンジニアが自発的に参加してくれたりと、OSS化がさまざまなコラボレーションを生み出しています。OSSとして公開することで、組織や部署間の「壁」を作らず、よりオープンな開発カルチャーが浸透したと感じています。

多様なニーズに応えるOSSの設計思想
青山:冒頭に「プラガブル」という言葉が出てきましたが、OSS化を念頭に置いたアーキテクチャ上の工夫について、もう少し詳しく教えていただけますか?
中西:「myshoes」は、GitHub Actionsのセルフホストランナーを多様な環境で動作させることを目指して設計されています。企業や個人によって異なるクラウド環境だけでなく、オンプレミス環境や自宅サーバ環境でも利用したいというニーズを考慮しました。そのため、アーキテクチャを検討し、コア機能をランナーの作成や状態管理といった基本的な処理に限定しています。一方で、AWSやGCP、OpenStackなど異なるクラウドプロバイダの操作部分はすべてプラグイン化し、それぞれのプロバイダ向けに独立して実装できるようにしました。
プラグインの柔軟性を確保するため、gRPCを使用してプラグインとコア間のAPI通信を標準化しています。これにより、プラグインが異なるプログラミング言語で実装されていても、統一的に動作させることが可能です。これにはHashiCorpが提供しているプラグインシステム (hashicorp/go-plugin)を採用することで、動的にプラグインをロードしたり、実行時に追加や変更を行うことが容易になっています。新しいクラウドプロバイダをサポートする必要が生じた場合でも、コア部分を変更する必要はなく、対応する小さなプラグインを実装するだけで簡単に機能を拡張できます。
この設計は、拡張性と保守性の両立に加え、OSSとしての開発や利用を見据えたものです。コミュニティのコントリビューターが新たなクラウド環境や特殊なニーズに対応するプラグインを容易に開発できるようになるため、OSSのエコシステム全体の成長を促進する仕組みとしても機能しています。こうしたアーキテクチャの工夫によって、「myshoes」は多様な利用者のニーズに応える柔軟性と長期的なプロジェクトの進化を支える基盤を備えています。
カイン:「PipeCD」では、CD特有の要件を満たすためのアーキテクチャ上の工夫を盛り込みました。たとえば、データストアを複数サポートしている点です。これは、利用者がMySQLやPostgreSQL、Firestoreといった異なるストレージを選択できることで、既存のシステム環境への統合が容易になるよう設計されています。
また、デプロイ対象もKubernetes、AWS Lambda、Terraformなど多岐にわたり、これらのリソースに適応するために、パイプライン処理をプラグイン化しました。この設計により、新しいデプロイ対象が増えた際にも、パイプライン部分を個別に拡張するだけで対応できます。たとえば、Terraform用プラグインが追加された際には、リソースの依存関係管理とデプロイの整合性を検証するためのテストモジュールを独立して組み込むことが可能です。
セキュリティ面についても細心の注意を払っています。CDは本番環境を直接操作するため、外部からの侵入リスクを最小化する必要があるからです。そのため、ポーリングモードを採用し、リモートサーバーがPipeCDの指示を問い合わせる設計にしています。この非同期モデルにより、外部からの接続を受け付ける必要がなくなるため、ネットワーク経由での侵入リスクを大幅に軽減しています。これに加え、すべての操作ログを監査可能な形式で記録し、不正な変更があった場合に即座に検知・追跡できるようにも設計しました。
こうした柔軟性とセキュリティを両立させるアーキテクチャを採用することで、利用者にとっても拡張しやすく、安全に運用できる基盤を提供しています。
青山:OSSとして公開する上での課題やリスクヘッジについても教えてください。たとえば「myshoes」はGitHub Actionsに依存していますが、仕様変更に対応する場合はどうしているかなども気になります。
中西:おっしゃる通り、GitHub Actions周りの仕様変更には「myshoes」側の対応が求められます。そのため、RSSフィードやリリースノートを常にチェックし、変更があれば即座に影響範囲を調査しています。実際、Node.jsのランタイムバージョンが変更され、一部のジョブが動かなくなる事例が社内でありましたが、迅速に対応することで大きな影響を回避しました。このようなプロダクトの中核に依存する要素がある場合、仕様変更への対応をいかに迅速化するかが重要なリスクヘッジです。
カイン:OSSならではの課題としては、コミュニティの活性化も挙げられますね。「PipeCD」はCNCFのSandboxプロジェクトに採択されていますが、CNCFからは「複数企業のコントリビューターを持つことが望ましい」といったフィードバックも受けています。「PipeCD」は現在、マルチクラスタ対応やセキュリティ、パフォーマンスといった大規模ユースケースへの対応を進めつつも、今後も技術コミュニティとの連携を深めていきたいと考えています。

社内外で選ばれるOSSのための工夫と今後の展望
青山:OSSとして公開している以上、他のOSSや商用製品との比較検討をされる場面が出てきますよね。特に社内のプロダクトで「myshoes」や「PipeCD」を選定してもらうために工夫している点を教えて下さい。
中西:基本機能はOSS版の「myshoes」と同じですが、社内向けにはさらに利便性を高めるための追加ツールを開発しています。たとえば、大規模なランナーの管理機能や複数リポジトリへの一括設定機能など、社内インフラに特化した拡張を行うほか、障害対応やデプロイの自動回復フローを内製化することで、安定した運用を支えています。さらに、破壊的な変更がどうしても発生してしまう場合には、社内Slackで個別にリマインドを行い、移行作業をスムーズに進められるようきめ細かなサポートを提供しています。こうした工夫により、社内ならではのスムーズな導入・運用を提供しています。
カイン:「PipeCD」では、ユーザーとの距離を縮める取り組みとして、定期的にオフィスアワーを開催しています。この場では、ユーザーが抱えている課題を直接相談できるだけでなく、「実はこのユースケースが問題になっている」という深い情報を得られることも多いです。以前はテキストベースのサポートチャットだけでしたが、リアルタイムの対話のほうが具体的で実践的なフィードバックを得られると感じています。
また、OSSならではの課題であるバージョンアップや破壊的な変更に対しては、事前にSlackやミーティングを通じてユーザーにしっかりと情報を共有しています。さらに、ユーザー体験を高めるため、ドキュメントやサポート体制を強化するとともに、プロダクトのブランディングにも力を入れています。これらの取り組みを通じて、「PipeCD」が他のOSSや商用製品との差別化を図りつつ、ユーザーに選ばれる存在であることを目指しています。
青山:最後に、OSS開発で今後取り組みたいチャレンジについて教えてください。
カイン:「PipeCD」では、さらなる大規模ユーザーへの対応や複雑なユースケースのサポート、そしてコミュニティ形成が大きなテーマです。特に、ドキュメントの整備や初心者向けの開発ガイドの充実を進め、世界中のエンジニアがコントリビュートしやすい環境を作りたいと考えています。また、CNCFアンバサダーとしての活動を活かし、KubeConなどの国際イベントで「PipeCD」の存在感を高め、広く認知されるOSSプロジェクトに育てていきたいと思っています。
中西:「myshoes」は、GitHub Actionsランナーとして競合OSSも増えてきていますが、オンプレミス環境やニッチなクラウドプロバイダへの対応を進めることで差別化を図っていく予定です。現在、社内利用者が増えるにつれ、要望が多岐にわたるようになっています。その声を積極的に取り込み、OSSとしての魅力に転換していくことが重要だと考えています。最終的には、「サイバーエージェント発のOSSって使えるよね」と思ってもらえるプロジェクトに育てたいですね。
青山:OSS化によって得られる外部知見やコラボレーションの可能性は、まだまだ大きいですよね。サイバーエージェント発のOSS開発で、社内外の技術コミュニティがますます活発になることを期待しています!
オフィシャルブログを見る
記事ランキング
-
1
ABEMAの期待値を上げていくーーコミュニケーションデザイン室が描く未来
ABEMAの期待値を上げていくーーコミュニケーションデザイン室が描く未来
ABEMAの期待値を上げていくーーコミュニケーションデザイ...
-
2
【対談】若い世代による若い世代のための出会い・恋愛・結婚応援の実現へ
【対談】若い世代による若い世代のための出会い・恋愛・結婚応援の実現へ
【対談】若い世代による若い世代のための出会い・恋愛・結婚応...
-
3
サイバーエージェントのAI技術が集結する祭典 「AI Fes.」開催レポート
サイバーエージェントのAI技術が集結する祭典 「AI Fes.」開催レポート
サイバーエージェントのAI技術が集結する祭典 「AI Fes....
-
4
「顔採用ですか?」「採用基準を教えてください」など・・ よく聞かれる質問10...
「顔採用ですか?」「採用基準を教えてください」など・・ よく聞かれる質問10選に人事マネージャーがお答えします
「顔採用ですか?」「採用基準を教えてください」など・・ よく...
ABEMAの期待値を上げていくーーコミュニケーションデザイン室が描く未来

新しい未来のテレビ「ABEMA」は、ドラマや恋愛リアリティーショー、ニュースなど様々なオリジナルコンテンツを制作・放送しています。そのコンテンツを広げるためのブランドプロモーションを担うのがコミュニケーションデザイン室です。責任者・佐藤洋介と廣川拓郎の2名に、仕事内容や今後の展望について話を聞きました。