連載 [第7回] :
  CI/CD Conference 2021レポート

CI/CD ConferenceからサイバーエージェントのCI/CDツール開発のセッションを紹介

2021年10月28日(木)
松下 康之 - Yasuyuki Matsushita
CI/CD Conferenceから、サイバーエージェントが開発するCI及びCDのツールを紹介したセッションを取り上げる。

PipeCD

次に、後半のNghia氏によるPipeCDの解説に移ろう。

CIとCDは同じものではないという再確認

CIとCDは同じものではないという再確認

Nghia氏はCI/CDと一連の単語のように語られているが、実際にはソースコードのビルドから単体テスト~アーティファクトリポジトリーへの格納までがCI(Continuous Integration)、バイナリーやライブラリーをステージングや本番環境などのクラスターに実装するのがCD(Continuous Delivery)ということを説明した。CIツールとしてはJenkins、GitHub Actions、CircleCI、Concourseなどが挙げられている。そしてCDツールには、今回の説明の対象であるPipeCDのほか、Harness、Flux、ArgoCDなどが挙げられている。

またサイバーエージェントでは開発チームごとに最適なツールの選択の自由があるため、多種のCDツールが社内で使われていることを紹介した。

CDの課題、チームごとにCDの経験値に差があること

CDの課題、チームごとにCDの経験値に差があること

そこで社内のプロダクトチームとインフラストラクチャープラットフォームチーム、それぞれの要望を満足させるためのツールを開発したというのがPipeCDの背景だ。

開発チームとインフラチーム双方の要望を満たすためのツールを開発

開発チームとインフラチーム双方の要望を満たすためのツールを開発

ここで注目したいのは、プロダクトチームとプラットフォームチームの両方の要望を満たすことを目指していることだろう。CI/CDやDevOpsは、どちらかと言えばデベロッパー目線でインフラをソースコードでプログラミングするように扱うことが主題となっていて、安定運用させることを目指す運用チームの視点が欠ける傾向にある。ここでは、PipeCDの開発自体をプラットフォームチームが行うことで、デベロッパーの負担を下げようとしているようだ。

PipeCDとは

PipeCDとは

PipeCDはGitOpsをコアとしたツールであり、構成情報や変更指示などはすべてGit上のコードとして残されるようになっているのが特徴だろう。

GitOpsを具体化したPipeCD

GitOpsを具体化したPipeCD

そしてインフラストラクチャーを担当するプラットフォームチームにとっての利点として、シンプルなアーキテクチャーで運用コストが低いこと、スケーラブルであることなどを挙げた。

シンプルな構造がプラットフォームチームへの利点

シンプルな構造がプラットフォームチームへの利点

サービスを開発するプロダクトチームへの利点は多くあるが、ここでは可視化、観測性を挙げて説明を行っている。デプロイする内容を予め検証するPlan Previewなどが紹介された。

デベロッパー向けの利点の例

デベロッパー向けの利点の例

また自動化という点では、デプロイされたコードのメトリクスを取得することで過去のデータとの比較や分析が行えること、問題が発生した場合に自動でロールバックする機能などが紹介された。

CA社内のチーム構成。プラットフォームチームがPipeCDを開発

CA社内のチーム構成。プラットフォームチームがPipeCDを開発

このスライドでは社内の開発体制を紹介している。PipeCD自体はプラットフォームチームが開発し、プロダクトチームはユーザーとしてエージェントを導入するだけで利用可能になるというのが、CDツールとして優れている点だろう。

また将来の構想として多くの機能拡張を予定していることを紹介してセッションを終えた。

PipeCDの将来構想

PipeCDの将来構想

この機能拡張の計画は、PipeCDのドキュメントとしても公開されており、オープンソースプロジェクトとして透明度を上げる要因として評価されるべきだろう。

Feature Status | PipeCD

現状では、PipeCDにサイバーエージェント以外のコントリビューターが積極的に参加しているようには見えず、露出も非常に少ないというのが実情だろう。Myshoesとともにコミュニティが拡がることを期待したい。

Myshoes公式GitHubページ:https://github.com/whywaita/myshoes

PipeCD公式サイト:https://pipecd.dev/

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

開発ツールイベント
第7回

CI/CD ConferenceからサイバーエージェントのCI/CDツール開発のセッションを紹介

2021/10/28
CI/CD Conferenceから、サイバーエージェントが開発するCI及びCDのツールを紹介したセッションを取り上げる。
設計/手法/テストイベント
第6回

CI/CD Conference 2021からCI/CDのパターンを解説したセッションを紹介

2021/10/25
CI/CD Conferenceから、CI/CDパイプラインのデザインパターンを解説したセッションを紹介する。
設計/手法/テストイベント
第5回

CI/CD ConferenceからAWSのアドボケイトによる「単一コードベース」を勧めるセッションを紹介

2021/10/21
CI/CD Conferenceから、AWSのアドボケイトによる複数のコードベース運用を止めるための手法を解説したセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています