
Spinnakerは2015年にNetflixがオープンソースとして公開した、マルチクラウド環境向けの継続デリバリ(CD)プラットフォームです。Asgardという内製ツールの後継として開発され、後にGoogleとの共同開発に発展。AWS・GCP・Azure・Kubernetes・Oracle Cloudなど複数のクラウドプロバイダに対し、統一されたパイプラインでBlue/Green・Canary・赤黒(Red/Black)といった高度なデプロイ戦略を提供します。現在はCD Foundationのプロジェクトとして運営されており、Netflix社内では1日数千回のデプロイを支える基幹基盤です。
この記事の目次
- アプリケーション・パイプライン・クラスタ
- Netflix×Google共同開発の歴史
- Canary・Red/Blackで安全に出荷
- Argo CDやFluxCDとの位置づけ
- まとめ
アプリケーション・パイプライン・クラスタ

Spinnakerの概念モデルは「Application」を頂点とした階層構造です。1つのApplicationは複数の「Pipeline」を持ち、それぞれが「Bake → Deploy → Canary → Promote」のようなデプロイ工程を表現します。各PipelineはGUIで描かれるDAG形式で、各ノードはStageと呼ばれ、Jenkinsビルド取得・AMI作成・サーバーグループ展開・トラフィック切替・手動承認などの種類があります。
デプロイ先のインフラは「Cluster」「Server Group」「Instance」という階層で管理されます。ClusterはAuto Scaling Group相当のグルーピング、Server Groupはそのバージョン単位、Instanceは個別のVMやPodです。Spinnakerはこの単位で「Red/Blackデプロイ」(Netflix内のBlue/Green別名)を行い、新バージョンのServer Groupを立ち上げて検証後、旧Server Groupからトラフィックを切り替える、という高度な戦略を内蔵で提供します。全てのクラウドプロバイダで同じUIから操作できる点が、マルチクラウド企業に重宝されています。
Netflix×Google共同開発の歴史

Spinnakerの源流は、NetflixがAWS上で展開していた内製デプロイツール「Asgard」(2012年公開)です。Asgardは月数百回のデプロイを支えていましたが、マルチクラウド時代を見越して新世代の基盤が必要との判断から、Netflix内部で2014年からSpinnakerが開発されました。2015年11月にオープンソースとして公開され、GoogleのCloud Platformチームが早期から共同開発に参画。AWSとGCPを横断するCDツールとしての地位を確立しました。
2017年以降はNetflixとGoogleが共同でロードマップを主導し、Kubernetes対応も強化されました。2018年にはAirbnb・Salesforce・Cisco・Oracleなど大手ユーザーが参画するコミュニティが形成され、2021年6月にCD Foundation(Linux Foundation配下)へガバナンスが移管されました。現在もNetflix社内では「1日数千回のデプロイ」を捌く基盤として稼働し続けており、Apple・PayPal・Targetなどの大企業もエンタープライズ運用事例として知られています。
Canary・Red/Blackで安全に出荷

Spinnaker最大の武器は、Netflix由来の堅牢なデプロイ戦略テンプレートです。「Red/Blackデプロイ」では、新Server Groupを並行で立ち上げ、ロードバランサで段階的に切り替え、問題が見つかれば数秒で旧Server Groupに戻せます。「Canary」では、トラフィックの数%だけ新バージョンに流して、エラーレート・レイテンシ・ビジネス指標を比較分析します。この自動分析を担う「Kayenta」コンポーネントは、Googleと共同で開発された統計的カナリア分析エンジンです。
構成管理は「Halyard」というCLIで宣言的に行い、Spinnaker自体のセットアップやアップグレードをyamlファイルで管理できます。パイプライン自身もJSON/yamlで定義可能(Pipeline as Code)で、GitOpsライクな運用も実現できます。GitHubのPR・Jenkinsビルド・Dockerイメージpush・Pub/Subメッセージなど多様なトリガーをサポートしており、Jenkins/TektonをCIに使いSpinnakerをCDに使うハイブリッド構成が典型的なエンタープライズパターンです。
Argo CDやFluxCDとの位置づけ

Spinnakerは「Kubernetes時代」より前から存在するCDツールであり、VM(AWS EC2など)とKubernetesの両方を同等に扱える数少ない選択肢です。GitOps全盛のArgo CD・FluxCDが「Kubernetesクラスタ内のYAMLをGitと同期させる」ことに特化しているのに対し、SpinnakerはAuto Scaling GroupやVM Instance Groupを直接操作する古典的なクラウドリソース寄りの設計を持ちます。
選定の判断軸は「マルチクラウドが本当に必要か」「VMベースの旧来環境も含むか」「Canary自動分析が必要か」の3点です。Kubernetes中心の新しい環境では、Argo CD+Argo Rolloutsという組み合わせの方が軽量で人気ですが、AWS EC2の運用が大半を占めるレガシー寄り企業や、複数クラウドにまたがる本格的なエンタープライズでは、Spinnakerの長年の運用実績が依然として強みになります。運用負荷の高さから、Harnessなど商用フルマネージドCDサービスへ移行する事例も増えており、「自社運用するOSSの代表例」として、CD Foundationの中核として開発が続いています。
まとめ
SpinnakerはNetflix発・Google共同開発のマルチクラウド対応CDツールで、Canary分析やRed/Blackデプロイなど高度なデプロイ戦略を標準で備えます。Kubernetes時代のGitOpsツールとは異なる立ち位置で、VMとK8sの両方を抱える大規模エンタープライズに今も選ばれる本格派の継続デリバリ基盤です。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント