Slide 1

Slide 1 text

CONTINUOUS DELIVERY BEI ZALANDO TECH E I N S K A L I E R U N G S A N S A T Z L O T H A R S C H U L Z @ L O T H A R _ S C H U L Z N O V E M B E R 1 5 T H 2 0 1 6

Slide 2

Slide 2 text

2 ÜBER ZALANDO Angestellte in Berlin aktive users Angestellte in Europa Tech Angestellte >4500 19 M >1300 App downloads 21,5 M Umsatz 3BN EUR >11000

Slide 3

Slide 3 text

3 ÜBER MICH Continuous Integration & Deployment verantwortlich für 3 Teams in diesem Bereich Managed Databases verantwortlich für das Databank Team (postgresql & cassandra) Open Source https://github.com/zalando https://github.com/lotharschulz @lothar_schulz www.lotharschulz.info

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

5 Jenkins (http://jenkins-ci.org/) logo by Charles Lowell and Frontside SITUATION 2014 DATACENTER C I-DEV C I- QA SL AVE SL AVE SL AVE SL AVE SL A VE SL A VE SL A VE SL A VE

Slide 6

Slide 6 text

6 SITUATION 2014 Continuous Delivery ?

Slide 7

Slide 7 text

7 ERSTER ANSATZ: CI-CD custom_build_branches: - feature/** unit_test: cucumber_report: false integration_test: enable: true cucumber_report: false metrics: enable: false

Slide 8

Slide 8 text

8 MEHR AGENTS?

Slide 9

Slide 9 text

9 CLOUD AGENTS

Slide 10

Slide 10 text

10 WEITERE HERAUSFORDERUNGEN BERECHTIGUNGEN PLUGINS HISTORIE / WORKSPACES VS CLEANUP / DISK …

Slide 11

Slide 11 text

11 CI IN DER CLOUD A U T O S C A L I N G 1 1 1 M ASTER A U T O S C A L I N G 1 1 8 SLAVE R53 Backups als EBS snapshots

Slide 12

Slide 12 text

12 CI IN DER CLOUD 1 Jenkins Master 1 Agent Standard Plugin Setup Admin Rechte Anlegen / Löschen von Jobs Anlegen / Löschen von Views Install / entfernen von plugins Management Rechte

Slide 13

Slide 13 text

13 CI IN DER CLOUD „AWS JENKINSES“ Fast jeden Monat ein neues Team als Kunden ~ 50% aller Tech Teams

Slide 14

Slide 14 text

14 SUPPORT - STORK

Slide 15

Slide 15 text

15 CLOUDLOBSTER Agent immer verfügbar und ansprechbar Änderungen werden versioniert Standard Plugin Setup Github enterprise & github.com Integration OAuth2 for Authentifizierung and Autorisierung Pipeline templates Tool chains Self Service

Slide 16

Slide 16 text

16 SELF SERVICE - TOOLCHAINS

Slide 17

Slide 17 text

17 CONTAINER TECHNOLOGIEN docker build --rm=true -t $IMAGE_PATH . /tools/run :stups -- pierone login --url pierone.stups.zalan.do docker push $IMAGE_PATH

Slide 18

Slide 18 text

18 CONTINUOUS DELIVERY – JENKINSFILE & TOOLCHAINS •  https://github.com/zalando/ghe-backup/blob/master/Jenkinsfile

Slide 19

Slide 19 text

19 KULTUR TEAM PURPOSE TEAM AUTONOMY DELIVERY

Slide 20

Slide 20 text

20 https://stups.io/senza/ DEPLOYMENTS ÜBER AWS-ACCOUNT- GRENZEN HINWEG github.com/zalando/lizzy senza.yaml Lizzy client Lizzy agent Senza Cloudformation

Slide 21

Slide 21 text

21 https://github.com/zalando/connexion https://github.com/zalando/ghe-backup OPEN SOURCE

Slide 22

Slide 22 text

22 WETTBEWERB CONTINUOUS INTEGRATION ALS SERVICE IM VERGLEICH ZU SELF MANAGED CI

Slide 23

Slide 23 text

23

Slide 24

Slide 24 text

24 ZUSAMMENFASSUNG •  Ein oder wenige CI Server können nicht alle use cases von vielen Entwicklern bedienen •  Sehr viele use case können mit vielen kleineren CI Server abgedeckt werden •  Viele kleinere CI Server zu managen kann eine Herrausforderung sein •  Kunden/Entwickler sollen befähigt werden managed CI Server so gut wie möglich Anpassen und Konfigurieren zu können •  Teams sollten so autonom wie möglich arbeiten •  Teams sollten so viele Entscheidungen wie möglich selbstständig treffen können •  Fexible Infrastruktur sollte so oft wie möglich verwendet werden

Slide 25

Slide 25 text

25 ICH FREUE MICH AUF IHRE FRAGEN