Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Spinnaker: Land of a 1000 Builds - CF Summit 2016

Spinnaker: Land of a 1000 Builds - CF Summit 2016

How do big shops like Netflix make it possible to deploy hundreds if not thousands of releases every single day? FInd out with a tour through the microservice, Spring Boot-based system known as Spinnaker. Spinnaker is the open source continuous integration/continuous deployment tool that supports multiple clouds, multiple languages, and multiple providers. Learn about its sophisticated usage of microservices including: Retrofit-based interfaces, gateway API, decoupled state, and other key patterns.

Greg Turnquist

May 25, 2016
Tweet

More Decks by Greg Turnquist

Other Decks in Technology

Transcript

  1. Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    Spinnaker
    Land of a 1000 Builds
    Greg Turnquist
    @gregturn
    github.com/gregturn

    View full-size slide

  2. GregLTurnquist.com/list

    View full-size slide

  3. GregLTurnquist.com/list

    View full-size slide

  4. What do you do if…?

    View full-size slide

  5. What do you do if…?
    Need to deploy 2000+ commits/day?

    View full-size slide

  6. What do you do if…?
    Need to deploy 2000+ commits/day?
    Have LOTS of services, not just ONE monolith?

    View full-size slide

  7. What do you do if…?
    Need to deploy 2000+ commits/day?
    Have LOTS of services, not just ONE monolith?
    Want to scale up new apps and shrink old ones?

    View full-size slide

  8. What do you do if…?
    Need to deploy 2000+ commits/day?
    Have LOTS of services, not just ONE monolith?
    Want to scale up new apps and shrink old ones?
    You know how to build artifacts (Jenkins?)

    View full-size slide

  9. What do you do if…?
    Need to deploy 2000+ commits/day?
    Have LOTS of services, not just ONE monolith?
    Want to scale up new apps and shrink old ones?
    You know how to build artifacts (Jenkins?)
    …but deployment is a 23-page beast

    View full-size slide

  10. What do you do if…?
    Need to deploy 2000+ commits/day?
    Have LOTS of services, not just ONE monolith?
    Want to scale up new apps and shrink old ones?
    You know how to build artifacts (Jenkins?)
    …but deployment is a 23-page beast
    You want options (PCF, AWS, GCE, Azure, K8)

    View full-size slide

  11. What do you do if…?
    Need to deploy 2000+ commits/day?
    Have LOTS of services, not just ONE monolith?
    Want to scale up new apps and shrink old ones?
    You know how to build artifacts (Jenkins?)
    …but deployment is a 23-page beast
    You want options (PCF, AWS, GCE, Azure, K8)
    …with the same tools

    View full-size slide

  12. A little math

    View full-size slide

  13. A little math
    1 monolith x once/3 months = No Big Deal

    View full-size slide

  14. A little math
    1 monolith x once/3 months = No Big Deal
    10 services x 1x/day = 900x (No Big Deal)

    View full-size slide

  15. A little math
    1 monolith x once/3 months = No Big Deal
    10 services x 1x/day = 900x (No Big Deal)
    10 services x 10x/day = 9000x (No Big Deal)

    View full-size slide

  16. A little math
    1 monolith x once/3 months = No Big Deal
    10 services x 1x/day = 900x (No Big Deal)
    20 services x 50x/day = 90,000x (No Big Deal)
    10 services x 10x/day = 9000x (No Big Deal)

    View full-size slide

  17. A little math
    1 monolith x once/3 months = No Big Deal
    10 services x 1x/day = 900x (No Big Deal)
    20 services x 50x/day = 90,000x (No Big Deal)
    “Our 23-page process needs to be fixed!”
    10 services x 10x/day = 9000x (No Big Deal)

    View full-size slide

  18. • Pipeline-based engine
    • Deploy to multiple clouds in the same pipeline
    • Multi-stage
    • Lots of triggers including Jenkins & Travis
    • Bake/Find Images, Deploy, Manual Judgments,…
    • Zero downtime upgrades
    • Email, SMS, Slack, etc. notifications
    Spinnaker

    View full-size slide

  19. Demo
    Unless otherwise indicated, these slides are 

    © 2013-2016 Pivotal Software, Inc. and
    licensed under a Creative Commons Attribution-
    NonCommercial license: http://
    creativecommons.org/licenses/by-nc/3.0/
    Spinnaker

    View full-size slide

  20. Lingua franca
    • Applications = source code with commits
    • Clusters = apps deployed somewhere, ready for traffic
    • Server Groups = specific version of a cluster
    • Load Balancers = route cluster traffic to server groups
    • Instances = physically running processes

    View full-size slide

  21. How to use it on PCF?

    View full-size slide

  22. Links
    • http://spinnaker.io
    • https://github.com/spring-cloud/spring-cloud-
    spinnaker
    • https://github.com/spinnaker/
    • http://twitter.com/spinnakerio
    • Netflix OSS Meetup - Season 4 Ep. 1

    View full-size slide

  23. Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    Spinnaker
    Land of a 1000 Builds
    Greg Turnquist
    @gregturn
    github.com/gregturn

    View full-size slide