Spinnaker Overview
Spinnaker is an open-source, multi-cloud continuous delivery platform originally developed by Netflix and later open-sourced with Google. It targets teams that release to Kubernetes, VMs, and multiple clouds from one orchestration layer. Platform and SRE teams usually operate it — not a solo-developer install like a single CI runner.
For general CI/CD concepts first, see CI/CD overview and Pipeline fundamentals.
CI vs CD
Section titled “CI vs CD”Spinnaker separates CI (build/test) from CD (deploy/release). It does not compile your code. It takes artifacts from CI tools (Jenkins, GitHub Actions, GitLab CI, and others) and orchestrates deployment across environments and clouds.
Typical artifacts Spinnaker consumes:
- Container/OCI images from a registry (most common on Kubernetes)
- Helm charts or rendered manifests
- Machine images (AMIs on AWS, GCE images) baked via Rosco and Packer — see AWS compute for VM-style deployments
See Artifact management for tagging, promotion, and registry patterns upstream of Spinnaker.
Push-based CD
Section titled “Push-based CD”Spinnaker is push-based CD: the Spinnaker control plane orchestrates deployments into your infrastructure using pipeline stages. That differs from pull-based GitOps, where an in-cluster operator reconciles the cluster to Git.
| Spinnaker (push) | GitOps (pull) | |
|---|---|---|
| Who deploys | Spinnaker services (Orca, Clouddriver) | In-cluster operator (Argo CD, Flux) |
| Source of truth | Pipeline config + artifact versions (Front50) | Git repository |
| Strengths | Multi-cloud, VM + K8s, manual judgment, canary stages | Drift detection, Git audit trail, lighter ops for K8s-only |
| Tradeoff | ~10 microservices to run; cluster/cloud credentials in CD plane | Less natural for multi-cloud VM workflows |
Compare models in GitOps — Push vs Pull.
Environments and promotion
Section titled “Environments and promotion”Most Spinnaker setups define pipelines per application that promote the same artifact through dev → staging → production (and across regions). A Manual judgment stage pauses for human approval before prod — a common pattern tied to Release management and separation-of-duties checks in Compliance.
Deployment strategies (rolling, blue/green, canary) are expressed as pipeline stages; see Deployment strategies. Kayenta can automate canary analysis against metrics from Prometheus or other backends.
Platform components
Section titled “Platform components”Spinnaker is a microservices platform. Each service has a focused role:
| Component | Role |
|---|---|
| Deck | Browser UI — pipelines, deployments, applications |
| Gate | API gateway for Deck and the spin CLI |
| Orca | Pipeline orchestration — stages, tasks, retries |
| Clouddriver | Cloud abstraction — AWS, GCP, Azure, Kubernetes; only service that talks directly to infrastructure |
| Rosco | Image bakery — Packer AMIs/GCE images for VM deployments |
| Igor | CI integration — triggers from Jenkins, GitHub Actions, and others |
| Echo | Event bus — cron, webhooks, pub/sub; outbound Slack, PagerDuty, email |
| Front50 | Metadata store — pipelines, apps, projects (S3, GCS, or SQL) |
| Fiat | Authorization — OAuth, LDAP, GitHub; who can run which pipeline (Kubernetes RBAC is separate — cluster permissions inside targets) |
| Kayenta | Automated canary analysis — baseline vs canary metrics |
| Halyard | Legacy CLI to install/configure Spinnaker; many teams now use the Spinnaker Operator instead (install runbooks out of scope here) |
Spinnaker accounts are cloud or cluster targets (credentials + environment), not end-user login accounts. Fiat handles user identity and permissions.
Architecture flow
Section titled “Architecture flow”Primary path when CI completes a build:
flowchart TD deck[Deck UI] gate[Gate API] ciTool["CI Jenkins or GHA"] igor[Igor] echo[Echo] orca[Orca] clouddriver[Clouddriver] infra["Infrastructure K8s or cloud"] deck --> gate ciTool --> igor --> echo --> orca --> clouddriver --> infra
Echo also routes non-CI triggers (cron schedules, webhooks, pub/sub). Users and automation reach the platform through Deck or Gate (spin CLI).
Key concepts
Section titled “Key concepts”| Concept | Description |
|---|---|
| Application | Logical grouping of resources and pipelines |
| Pipeline | Ordered stages — deploy, canary, wait, webhook, Manual judgment, etc. |
| Cluster | Server groups with the same name across regions |
| Server group | Deployment unit — e.g. a Kubernetes Deployment or AWS ASG |
| Stage | One pipeline step — Bake, Deploy, Wait, Manual judgment, etc. |
| Manual judgment | Human approval gate before continuing (e.g. prod promote) |
When to choose Spinnaker
Section titled “When to choose Spinnaker”| Need | Spinnaker | Argo CD | Flux |
|---|---|---|---|
| Multi-cloud + VMs + K8s | Strong | K8s-focused | K8s-focused |
| Rich UI for releases | Deck | Argo CD UI | CLI-first |
| Git as deploy source of truth | Pipelines + artifacts | Strong | Strong |
| Manual approval stages | Native | Possible via sync policies / hooks | Possible via automation |
| Operational footprint | Heavy (~10 services) | Moderate | Lighter |
Spinnaker is powerful but operationally heavy. Many Kubernetes-only teams choose Argo CD or Flux instead. Spinnaker fits when you need one CD plane across clouds, legacy VM fleets, and advanced pipeline stages (canary + Kayenta, manual judgment, multi-region).
Key Takeaways
Section titled “Key Takeaways”- Spinnaker does CD only — CI builds artifacts; Igor connects CI to pipelines.
- Push-based orchestration vs GitOps pull — pick based on multi-cloud needs and ops capacity.
- Pipelines promote artifacts through environments with optional Manual judgment before production.
- Clouddriver is the only component that mutates infrastructure; Orca runs the pipeline graph.
- Kayenta ties canary stages to metrics; pair with Deployment strategies and SLOs.
- For K8s-only Git-native delivery, compare GitOps before committing to Spinnaker.
Related Links
Section titled “Related Links”- CI/CD overview — CI vs CD, pipeline anatomy, tools landscape
- GitOps — Argo CD, Flux, push vs pull
- Deployment strategies — Rolling, blue/green, canary
- Jenkins — Common Igor trigger source
- Artifact management — Images and promotion before CD
- Helm vs operators vs GitOps — K8s delivery patterns alongside Spinnaker