Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Spinnaker Chadev

493 views

Published on

A talk on Spinnaker at a local meetup.

Published in: Technology
  • Login to see the comments

Spinnaker Chadev

  1. 1. Deploywith Confidence Spinnaker & Continuous Deployment Ethan Rogers Build & Release Engineer Skuid
  2. 2. AboutMe • Build & Release @ Skuid • Spinnaker Contributor • CI/CD Enthusiast • @e_frogers (Twitter) • @ethanfrogers (Slack/Github)
  3. 3. AQuickSurvey
  4. 4. Overview • What is Spinnaker? • Concepts • Deploying with Spinnaker (Demo!) • Conclusion
  5. 5. WhataboutaCanary?
  6. 6. WhataboutRollbacks?
  7. 7. WhySpinnaker? • Safe, repeatable deployments • Clear picture of what’s running • Easy scaling and rollbacks • Multiple deployment strategies OOB • Consolidated best practices
  8. 8. WhatisSpinnaker?
  9. 9. Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. - spinnaker.io
  10. 10. History • Developed at Netflix for AWS - 2014 • Open sourced in November 2015 • Lead by Netflix, Google and others
  11. 11. Stats • Netflix runs over 100,000 AWS instances • Spinnaker deploys 95% of them • Runs OSS Spinnaker with additional features layered on top • 150k pipeline executions (8mil tasks) - Netflix https://goo.gl/phqX8z
  12. 12. Features • Setup/Admin CLI • Deployment Strategies • Email/Chat Notifications • VM Bakery • CI Integration • Chaos Monkey
  13. 13. Concepts • Components • Server Groups & Clusters • Pipelines
  14. 14. Architecture • Made up of 9 microservices • Minimum viable install - 5 services + Redis + S3 • Written in Java/Groovy/Kotlin (Spring) • github.com/spinnaker/spinnaker
  15. 15. • Deck - UI • Gate - API Gateway • Clouddriver - Multi-cloud integrator • Orca -Task orchestrator • Front50 - Persistent Storage (S3/GCS/Redis) ‣Please don’t use Redis. Minimum Installation
  16. 16. • Igor - Jenkins/Travis integration • Fiat - Authorization • Echo - Notifications/CronTriggers • Rocso - Image Bakery via Packer • Halyard - Configuration/Installation Bells &Whistles
  17. 17. Instances&ServerGroups • Instance is a singleVM or Container • Server Group is group of Instances
  18. 18. Instance
  19. 19. ServerGroup chadev-test-v000
  20. 20. NamingConvention • Netflix Frigga • Used to identify resources • application-stack-detail-version
  21. 21. chadev-test-integration-v001 application stack detail version
  22. 22. ServerGroupActions • Deploy (Create) • Resize • Enable/Disable - remove from service • Clone • Destroy • Rollback
  23. 23. Clusters • Logical grouping of Server Groups (enabled/disabled) • Based on application-stack-detail • demoapp-staging & demoapp-production
  24. 24. chadev-test-v000 chadev-staging-v000 Clusters
  25. 25. Applications • Logical grouping of Clusters • Based on application-stack-detail • demoapp • Multiple environments/regions
  26. 26. Applications chadev-staging-v000 chadev-production-v000chadev-testing-v000
  27. 27. Pipelines • Declarative Deployments • Multiple trigger sources • Serial/Parallel stages
  28. 28. DemoTime!!
  29. 29. • Create a Load Balancer to expose traffic • Deploy an API service to Kubernetes • Build a canary pipeline • Deploy a new version automatically
  30. 30. Drawbacks • Missing good“infra as code”solution ‣ Versioned S3 buckets ‣ https://github.com/spinnaker/dcd-spec • Can only deploy to cloud based stacks with Docker/VM • Programatic API access is…difficult • Built in auditing mechanism
  31. 31. CaseStudies https://goo.gl/tXJoKV https://goo.gl/QcLwhE
  32. 32. Reference • blog.spinnaker.io • spinnaker.io • github.com/spinnaker/spinnaker • http://join.spinnaker.io/
  33. 33. We’rehiring! https://www.skuid.com/careers/

×