Spinnaker

orig. Draft 2018-10-14

Continuous Delivery

by Joaquín Menchaca

update Draft 2018-11-08

Agenda

  1. What is Spinnaker?
  2. Pipelines & Artifacts
  3. What is Needed
    • Deploying
    • Releasing
  4. The Demo

Spinnaker?

The Artifact

Previously…

Delivered

This episode…

Components

Delivers Software using Immutable Prod w. GitOps & Pipelines

Pipelines

Jenkins/X releases (push) image, Spinnaker Deploys

Pipelines

Once Promoted (Approved), Spinnaker Deploys to Stage where Integration CI Stage Takes Place

Pipelines

Production will have Blue-Green Canary, roll back if fail

Pipelines Whaat??

Artifacts Whaat??

Backend Pipeline

Backend CI

hygiene = code cov, code health, security

Backend CD

health = heath check (ready, standby, active)

monitor = metrics, instrumentation (new relic)

FrontEnd Pipeline

FrontEnd CI

no npm, no git repo, just bucket now

FrontEnd CD

cdn points to correct bucket path

Ops

Infrastructure Pipeline

Ops CI

Yes, Ops has Code

chef server is also repo

Ops CD

chef artifact of data bags (json) determine env

Tooling Pipelines

build + test libs

Tooling CI

What is Needed?

Deployment & Releases

Deployments

Deployments

Deployments

  • When to Configure
    • Runtime - while system is running
    • Build Time - dependences in image
    • Deploy Time - environment specific
  • Jenkins Releases (Pushes) Artifacts
  • Spinnaker Deploys Artificats
    • VM instances (GCE) - images by Packer
    • K8S pods w. Helm -  Docker images
  • UX = many moving parts → one central part

Release

Current CI

Current CI

  • Build scripts embed own CI Pipeline?
    • Super task to do everything? NO
    • Release directly to prod is open BAD
    • Jenkins needs to drive, not build scripts
  • Versions written to files
    • Direct Commits to Master possible BAD
    • No Guarantee Approve Release is Legit
  • UX = Humans Required to edit JSON
    • Can bypass process
    • Mistakes can happen

Future CI

Future CI

  • Just use CI to do CI!!
    • CI good at doing CI, it's true
  • Use Tags for Versions
    • Single Source of Truth (no Databags)
    • Branches for Environments
  • UX = No Manual Editing Required
    • Use Web UI and Relax

Spinnaker Demo

Screenshots

Screenshots

Screenshots

The End

Extras

in case anyone asks

Cutoff Promotions

GitOps Promotion

Current Release

Current Deploy

Made with Slides.com