CI/CD at Zalando
Continuous Delivery to Kubernetes
at Zalando
CI/CD Meetup Berlin
LOTHAR SCHULZ
2017-09-20
Please write title, subtitle and speaker name in all capital letters
2
Please write the title in all capital letters
ZalandoPlease write the title in all capital letters
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
Please write the title in all capital letters
Me
Engineering Lead at Zalando
CodeA. https://github.com/zalandoB. https://github.com/lotharschulz
@lothar_schulzwww.lotharschulz.info
4
Please write the title in all capital letters
https://www.flickr.com/photos/eyecatcherfotosde/25418973420/
5
Please write the title in all capital letters
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
Please write the title in all capital letters
Architecture sketch
Continuous DeliveryPlatform
delivery.yaml
descriptor file Docker Registry
7
Please write the title in all capital letters
Continuous Delivery Platform - simplified
sourcecode
management system
Controllercode
changetrigger
Builder
ProxyDocker Registry
Worker VMs
tokeninjection
schedules and monitors tasks
source code checkout
task execution
imageupload
8
Please write the title in all capital letters
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
Please write the title in all capital letters
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
Please write the title in all capital letters
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
Please write the title in all capital letters
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