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

CI/CD at Zalando

4de70370869f561b5bb5a816d2be3198?s=47 Lothar Schulz
September 20, 2017

CI/CD at Zalando

Continuous Delivery to Kubernetes at Zalando


Lothar Schulz

September 20, 2017


  1. CI/CD at Zalando Continuous Delivery to Kubernetes at Zalando CI/CD

    Meetup Berlin LOTHAR SCHULZ 2017-09-20
  2. 2 Zalando Zalando ~3,6 bn Euro yearly revenue ~ 1800

    tech employees Dortmund, Dublin, Helsinki, Erfurt, Hamburg, Mönchengladbach 7 locations in Berlin 7 tech hubs
  3. 3 Me Engineering Lead at Zalando Code A. https://github.com/zalando B.

    https://github.com/lotharschulz @lothar_schulz www.lotharschulz.info
  4. 4 https://www.flickr.com/photos/eyecatcherfotosde/25418973420/

  5. 5 Why Continuous Delivery Platform ? • tight integration into

    Zalando infrastructure e.g. ◦ Docker registry ◦ IAM ◦ Zalando cluster setup • one file to configure tasks ◦ no extra configuration via UI, plugins, configurations etc. • managing 100+ Jenkins masters plus more agents is quite some effort • unique build environment • quick worker feedback • worker easy scaling up and down • transparent credential
  6. 6 Architecture sketch Continuous Delivery Platform delivery.yaml descriptor file Docker

  7. 7 Continuous Delivery Platform - simplified source code management system

    Controller code change trigger Builder Proxy Docker Registry Worker VMs token injection schedules and monitors tasks source code checkout task execution image upload
  8. 8 Main Concepts • proxy with user transparent credentials ◦

    untrusted build workers without secrets ◦ transparent credential injection for artifact upload and source access in build workers • deep integration ◦ GHE, Zalando Sonarqube, Zalenium, Zalando Kubernetes • “The Second Best Interface is The One You Already Use” - Joao Santos • scm-source.json generation out of the box • all configuration in delivery.yaml file
  9. 9 Way of Working • team does informed decisions ◦

    programming language ◦ proxy technology • weekly presentations (recorded for the whole company) • weekly stakeholder alignment • monitoring from the very beginning
  10. 10 https://www.flickr.com/photos/eyecatcherfotosde/25418973420/ Demo - build https://github.com/zalando/ghe-backup - delivery.yaml - deploy

    to k8s with Github Enterprise feedback - delivery.yaml https://www.flickr.com/photos/eyecatcherfotosde/25102321260
  11. 11 https://www.flickr.com/photos/eyecatcherfotosde/25418973420/ - build https://github.com/zalando/ghe-backup - delivery.yaml - deploy to

    k8s with Github Enterprise feedback - delivery.yaml - (init Container) I’m sure you have questions https://www.flickr.com/photos/eyecatcherfotosde/25397937985