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

CI/CD at Zalando

Lothar Schulz
September 20, 2017

CI/CD at Zalando

Continuous Delivery to Kubernetes at Zalando

Lothar Schulz

September 20, 2017
Tweet

More Decks by Lothar Schulz

Other Decks in Technology

Transcript

  1. 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
  2. 3 Me Engineering Lead at Zalando Code A. https://github.com/zalando B.

    https://github.com/lotharschulz @lothar_schulz www.lotharschulz.info
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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