SlideShare a Scribd company logo
R-ETAIL:CODE
2018-03-15
HENNING JACOBS
@try_except_
Developer Journey
at Zalando
2
ZALANDO IN NUMBERS
> 4.4billion EUR
2017
> 200
million
visits
per
month
> 14,000
employees in
Europe
> 70%
of visits via
mobile devices
> 23
million
active customers
> 250,000
product choices
~ 2,000
brands
15
countries
3
OUR FOOTPRINT AROUND EUROPE
as of November 2017
1
8
10
11
12
13
BERLIN HEADQUARTERS AND OUTLET
BRIESELANG FULFILLMENT CENTER
ERFURT FULFILLMENT CENTER AND TECH OFFICE
MÖNCHENGLADBACH FULFILLMENT CENTER AND TECH OFFICE
LAHR FULFILLMENT CENTER
DORTMUND TECH HUB
FRANKFURT OUTLET
DUBLIN TECH HUB
HELSINKI TECH HUB
MILAN (STRADELLA) FULFILLMENT CENTER
KÖLN OUTLET
PARIS (MOISSY-CRAMAYEL) FULFILLMENT CENTER
SZCZECIN (GRYFINO) FULFILLMENT CENTER
HAMBURG ADTECH LAB
STOCKHOLM (BRUNNA) FULFILLMENT CENTER
10
9
7
6
5
3
2
1
11
12
13
4
14
15
15
14
9
8
7
6
5
4
3
2
1
4
OUR FOOTPRINT AROUND EUROPE
TECH
as of November 2017
1
8
10
11
12
13
BERLIN HEADQUARTERS AND OUTLET
BRIESELANG FULFILLMENT CENTER
ERFURT FULFILLMENT CENTER AND TECH OFFICE
MÖNCHENGLADBACH FULFILLMENT CENTER AND TECH OFFICE
LAHR FULFILLMENT CENTER
DORTMUND TECH HUB
FRANKFURT OUTLET
DUBLIN TECH HUB
HELSINKI TECH HUB
MILAN (STRADELLA) FULFILLMENT CENTER
KÖLN OUTLET
PARIS (MOISSY-CRAMAYEL) FULFILLMENT CENTER
SZCZECIN (GRYFINO) FULFILLMENT CENTER
HAMBURG ADTECH LAB
STOCKHOLM (BRUNNA) FULFILLMENT CENTER (start winter 2017)
10
9
7
6
5
3
2
1
11
12
13
4
14
15
15
14
9
8
7
6
5
4
3
2
1
5
WE ARE CONSTANTLY INNOVATING TECHNOLOGY
HOME-BREWED,
CUTTING-EDGE
& SCALABLE
technology solutions
~ 1,900
employees from
tech locations
(HQs in Berlin)7
77
nations
help our brand to
WIN ONLINE
6
ZALANDO TECH’S
INFRASTRUCTURE
7
ZALANDO TECH PLATFORM
THE COMPLETE HISTORY (ABRIDGED)
ZOMCATPHP STUPS KUBERNETES
2010 2015 2016
Data center
Java/WAR
AWS
Docker
Cloud Formation
Low level (AWS API)
AWS
Docker
Cloud Formation
Kubernetes manifest
Higher abstraction level
Data center
PHP files
2008
8
SCALE?
66
Clusters
329
Accounts
9
ISOLATED AWS ACCOUNTS
Internet
*.xpto.example.org
Product XYZ
xpto
Account
Load Balancer
xpti
Account
Load Balancer
*.xpti.example.org
10
DEVELOPER PRODUCTIVITY
Cloud Native Application Runtime
• AWS
• Kubernetes
• Continuous Delivery
Developer Tooling
• Git
• Artifact storage
• Testing Tools & Infrastructure
Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE
12
KPIs
• Adoption
• Deployments per developer
• Time from commit to production
• Developer satisfaction
• Infrastructure cost efficiency
⇒ Measurable OKRs
13
DEVELOPER JOURNEY
Consistent story
that models
all aspects of SW dev
14
Developer
Journey
Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE
16
PLAN & SETUP
17
Plan
Stories
Rules of Play
Tech Radar
Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE
19
Setup
Application
Bootstrapping
Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE
Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE
22
BUILD & TEST
23
CDP
BUILD PIPELINE
CDPGHE
trigger buildpush code
push
Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE
25
DEPLOY
26
Deploy
Kubernetes
27
DEPLOYMENT CONFIGURATION
.
├── deploy/apply
│ ├── deployment.yaml # K8s Deployment
│ ├── credentials.yaml # K8s CRD
│ ├── ingress.yaml # K8s Ingress
│ └── service.yaml # K8s Service
└── delivery.yaml # pipeline config
28
INGRESS.YAML
kind: Ingress
metadata:
name: "..."
spec:
rules:
# DNS name your application should be exposed on
- host: "myapp.foo.example.org"
http:
paths:
- backend:
serviceName: "myapp"
servicePort: 80
29
CDP
DEPLOYMENT PIPELINE
CDPGHE
xpto
Account
deploytrigger deploypush code
pull
30
CONTINUOUS DELIVERY PLATFORM
31
CDP: APPLY
32
CDP: OPTIONAL APPROVAL
33
INTEGRATIONS
34
CLOUD FORMATION VIA CI/CD
.
├── deploy/apply
│ ├── deployment.yaml # K8s Deployment
│ ├── cf-iam-role.yaml # AWS IAM Role
│ ├── cf-rds.yaml # AWS RDS Database
│ ├── kube-ingress.yaml # K8s Ingress
│ ├── kube-secret.yaml # K8s Secret
│ └── kube-service.yaml # K8s Service
└── delivery.yaml # CI/CD config
35
ASSIGNING AWS IAM ROLE TO POD
kind: Deployment
spec:
template:
metadata:
annotations:
# annotation for kube2iam
iam.amazonaws.com/role: "app-myapp-role"
spec:
containers:
- name: ...
...
https://github.com/jtblin/kube2iam
⇒ AWS SDKs just work as expected
36
POSTGRES OPERATOR
Application to manage PostgreSQL clusters
Observes “postgres” manifests (CRDs)
Spawns and modifies new clusters
Syncs and provisions roles
Handles volume resize, incl. Resize2fs
Also responsible for updating Docker images
37
SUMMARY
• Application Bootstrapping
• Git (and GHE) as source of truth and UI
• 4-eyes principle for master/production
• Extensible Kubernetes API as primary interface
• OAuth/IAM credentials
• PostgreSQL
• CloudFormation for proprietary AWS services
38
DEVELOPER
SATISFACTION
Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE
40
RESULTS
Response rate: 16%
NPS, average, median, index?
41
DOCUMENTATION
"Documentation is hard to find"
"Documentation is not comprehensive enough"
"Remove unnecessary complexity and obstacles."
"Get the documentation up to date and prepare
use cases"
"More and more clear documentation"
"More detailed docs, example repos with more
complicated deployments."
42
DOCUMENTATION
• Restructure following
https://www.divio.com/en/blog/documentation/
• Concepts
• How Tos
• Tutorials
• Reference
• Global Search
• Weekly Health Check: Support → Documentation
Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE
44
LEARNINGS
FROM THE PAST
45
LEARNINGS FROM THE PAST
• Platform as a service vs governance
• Platform teams think they are "special",
but lack basic customer insights
• Developers love autonomy, hard to "go back" once granted
• Developers are demanding
46
NOTE TO SELF
• Establish a product mindset
• Listen to your customers
• Exploit unfair advantages
• Invest into documentation & support
47
FUTURE
48
FUTURE
• Kubernetes adoption
• Multi cloud strategy
• More streamlined end-to-end experience (monitoring, ..)
• Mindshift towards full hands-off operations
• Data science use cases
49
OPEN SOURCE
Running Kubernetes in Production on AWS
http://kubernetes-on-aws.readthedocs.io/en/latest/admin-guide/kubernetes-in-production.html
Kube AWS Ingress Controller
https://github.com/zalando-incubator/kube-ingress-aws-controller
External DNS
https://github.com/kubernetes-incubator/external-dns
PostgreSQL Operator
https://github.com/zalando-incubator/postgres-operator
Zalando Cluster Configuration
https://github.com/zalando-incubator/kubernetes-on-aws
QUESTIONS?
HENNING JACOBS
HEAD OF
DEVELOPER PRODUCTIVITY
henning@zalando.de
@try_except_
Illustrations by @01k

More Related Content

PDF
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
PPTX
Platforms, Platform Engineering, & Platform as a Product
PDF
Accenture Tech Vision 2020 - Trend 2
PDF
The Paved Road at Netflix
PPTX
Introduction to DevSecOps
PDF
Get the most from your cloud journey
PDF
Dallas Mulesoft Meetup - Log Aggregation and Elastic Stack on Anypoint Platform
PDF
Accenture Tech Vision 2020 for SAP Solutions
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Platforms, Platform Engineering, & Platform as a Product
Accenture Tech Vision 2020 - Trend 2
The Paved Road at Netflix
Introduction to DevSecOps
Get the most from your cloud journey
Dallas Mulesoft Meetup - Log Aggregation and Elastic Stack on Anypoint Platform
Accenture Tech Vision 2020 for SAP Solutions

What's hot (20)

PDF
Zero trust strategy: cloud security by design
PDF
Ml ops past_present_future
PDF
Working the Modern Way
PPTX
Accenture Labs Innovation Stories
PDF
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
PPTX
Best Practices in Implementing a Center for Enablement (C4E) within Your Orga...
PDF
DevSecOps Implementation Journey
PPTX
Product Vision and Roadmap for Anypoint Platform
PDF
Digitizing Business Services
PDF
Developer Experience
PPTX
DevOps à l'échelle: ce que l'on a fait, ce que l'on a appris chez Societe Gen...
PDF
Tagging Strategy and KPIs: The Case of Netflix
PPTX
Metaverse based ESG Digital Transformation for Accelerating Sustainability
PPTX
The Art of Business Storytelling with Data
PDF
DevOps : mission [im]possible ?
PDF
Pathways to Profitability for the Communications Industry
PDF
Distributor-Cloud-Marketplaces
PDF
7 Best Quotes on DevOps
PDF
A Beginners Guide to noSQL
PDF
Taking Charge
Zero trust strategy: cloud security by design
Ml ops past_present_future
Working the Modern Way
Accenture Labs Innovation Stories
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
Best Practices in Implementing a Center for Enablement (C4E) within Your Orga...
DevSecOps Implementation Journey
Product Vision and Roadmap for Anypoint Platform
Digitizing Business Services
Developer Experience
DevOps à l'échelle: ce que l'on a fait, ce que l'on a appris chez Societe Gen...
Tagging Strategy and KPIs: The Case of Netflix
Metaverse based ESG Digital Transformation for Accelerating Sustainability
The Art of Business Storytelling with Data
DevOps : mission [im]possible ?
Pathways to Profitability for the Communications Industry
Distributor-Cloud-Marketplaces
7 Best Quotes on DevOps
A Beginners Guide to noSQL
Taking Charge
Ad

Similar to Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE (20)

PDF
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
PDF
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
PDF
Developer Experience at Zalando - CNCF End User SIG-DX
PDF
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
PDF
Kubernetes at Zalando - CNCF End User Committee Presentation
PDF
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
PDF
Automatic Ingress in Kubernetes
PDF
Kubernetes Deployments: A "Hands-off" Approach
PPTX
How Zalando integrates Kubernetes with AWS
PDF
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
PDF
Kubernetes on AWS at Europe's Leading Online Fashion Platform
PDF
Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...
PDF
Continuously Deliver Your Kubernetes Infrastructure - KubeCon 2018 Copenhagen
PPTX
ITGM#14 - How do we use Kubernetes in Zalando
PPTX
Dev ops con 2015 radical agility with autonomous teams and microservices in...
PDF
Radical Agility with Autonomous Teams and Microservices in the Cloud
PDF
DevOps Con 2015: Radical Agility with Autonomous Teams and Microservices in t...
PDF
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
PPTX
2015 Identity Summit - OpenAM: Friends with benefits
PDF
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - A...
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Developer Experience at Zalando - CNCF End User SIG-DX
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
Kubernetes at Zalando - CNCF End User Committee Presentation
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Automatic Ingress in Kubernetes
Kubernetes Deployments: A "Hands-off" Approach
How Zalando integrates Kubernetes with AWS
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Kubernetes on AWS at Europe's Leading Online Fashion Platform
Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...
Continuously Deliver Your Kubernetes Infrastructure - KubeCon 2018 Copenhagen
ITGM#14 - How do we use Kubernetes in Zalando
Dev ops con 2015 radical agility with autonomous teams and microservices in...
Radical Agility with Autonomous Teams and Microservices in the Cloud
DevOps Con 2015: Radical Agility with Autonomous Teams and Microservices in t...
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
2015 Identity Summit - OpenAM: Friends with benefits
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - A...
Ad

More from Henning Jacobs (20)

PDF
Open Source at Zalando - OSB Open Source Day 2019
PDF
Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
PDF
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
PDF
Kubernetes + Python = ❤ - Cloud Native Prague
PDF
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
PDF
Kubernetes Failure Stories - KubeCon Europe Barcelona
PDF
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
PDF
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
PDF
Let's talk about Failures with Kubernetes - Hamburg Meetup
PDF
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
PDF
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
PDF
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
PDF
API First with Connexion - PyConWeb 2018
PDF
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...
PDF
From AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes Meetup
PDF
Kubernetes on AWS @Zalando - Berlin AWS User Group 2017-05-09
PDF
Plan B: Service to Service Authentication with OAuth
PDF
Docker Berlin Meetup Nov 2015: Zalando Intro
PDF
STUPS @ AWS Enterprise Web Day Oktober 2015
PDF
Python at Zalando Technology @ Python Users Berlin Meetup September 2015
Open Source at Zalando - OSB Open Source Day 2019
Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Kubernetes + Python = ❤ - Cloud Native Prague
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories - KubeCon Europe Barcelona
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
Let's talk about Failures with Kubernetes - Hamburg Meetup
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
API First with Connexion - PyConWeb 2018
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...
From AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes Meetup
Kubernetes on AWS @Zalando - Berlin AWS User Group 2017-05-09
Plan B: Service to Service Authentication with OAuth
Docker Berlin Meetup Nov 2015: Zalando Intro
STUPS @ AWS Enterprise Web Day Oktober 2015
Python at Zalando Technology @ Python Users Berlin Meetup September 2015

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation_ Review paper, used for researhc scholars
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
A Presentation on Artificial Intelligence
PPTX
Cloud computing and distributed systems.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation theory and applications.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
cuic standard and advanced reporting.pdf
Unlocking AI with Model Context Protocol (MCP)
MYSQL Presentation for SQL database connectivity
Encapsulation_ Review paper, used for researhc scholars
The AUB Centre for AI in Media Proposal.docx
A Presentation on Artificial Intelligence
Cloud computing and distributed systems.
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Building Integrated photovoltaic BIPV_UPV.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation theory and applications.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Developer Journey at Zalando - Idea to Production with Containers in the Cloud - R-ETAIL:CODE