Kubernetes + Python = ❤ - Cloud Native Prague

Henning Jacobs
Henning JacobsSenior Principal at Zalando SE
Kubernetes
+ Python
=
CLOUD NATIVE PRAGUE
2019-09-05
HENNING JACOBS
@try_except_
2
ZALANDO AT A GLANCE
~ 5.4billion EUR
revenue 2018
> 250
million
visits
per
month
> 15.000
employees in
Europe
> 79%
of visits via
mobile devices
> 26
million
active customers
> 300.000
product choices
~ 2.000
brands
17
countries
3
SCALE
140Clusters
396Accounts
4
PYTHON
• Very popular
• Easy to learn
• Huge community
5
PYTHON
6
PYTHON IN ZALANDO
61 (Go) vs 257 (Python) profiles
14k (Go) vs 52k (Python) internal GitHub hits
Machine Learning / Data Science
7
RUNNING PYTHON ON KUBERNETES
8
RUNNING PYTHON ON KUBERNETES
⇒ ~114 MiB Docker image
9
DEPLOYMENT MANIFEST
Security "stuff"
Never without a
readinessProbe
10
HELLO, WORLD
kubectl apply -f deployment.yaml
kubectl port-forward service/aiohttp-helloworld 8080:80
http localhost:8080
HTTPie
11
HOW TO USE KUBERNETES
1. run
"Hello World"
2. configure
the rest of your app
12
IS IT FAST ENOUGH?
echo 'GET http://localhost:8080' | vegeta attack -rate 200 | vegeta report
Requests [total, rate] 3300, 200.06
Duration [total, attack, wait] 16.498s, 16.494, 3.261ms
Latencies [mean, 50, 95, 99, max] 3.185ms, 3.229ms,
4.182ms, 4.791ms,
21.153ms
Bytes In [total, mean] 39600, 12.00
Bytes Out [total, mean] 0, 0.00
Success [ratio] 100.00%
Status Codes [code:count] 200:3300
local run on my laptop, single Pod in kind cluster
13
RUNNING PYTHON ON KUBERNETES
14
"GRACEFUL" TERMINATION IN KUBERNETES
1. kubectl delete pod
2. SIGTERM + remove endpoints
3. grace period (default: 30s)
4. SIGKILL
⇒ Going down on SIGTERM leads to request errors
kube-proxy/ iptables,
Load Balancer update
15
TESTING THE ROLLING UPDATE
tests/e2e/test_update.py::test_rolling_update_no_signal_handling
Elapsed: 41.60 seconds
Successes: 2056
Errors: 0
Requests/s: 49.42 rps
tests/e2e/test_update.py::test_rolling_update_with_signal_handling
Elapsed: 15.16 seconds
Successes: 816
Errors: 2
Requests/s: 53.95 rps
16
ALTERNATIVE: THE PRESTOP TRICK
...
17
TESTING WITH PYTEST AND KIND
18
RUNNING PYTHON ON KUBERNETES
19
TESTING WITH PYTEST AND KIND
https://pypi.org/project/pytest-kind/
20
USING KIND CLUSTER DIRECTLY
https://pypi.org/project/pytest-kind/
21
ACCESSING KUBERNETES FROM PYTHON
22
ACCESSING KUBERNETES FROM PYTHON
• Official Kubernetes client - github.com/kubernetes-client/python
• Pykube-ng - github.com/hjacobs/pykube
du -csh /../../lib/python3.7/site-packages/kubernetes/
23M total
du -csh /../../lib/python3.7/site-packages/pykube/
160K total
23
LISTING CONTAINER IMAGES
24
OFFICIAL CLIENT VS PYKUBE-NG
• "Official"
• Generated (Swagger Codegen)
• Less "Pythonic"
• urllib3
• Supports many auth methods
• Heavy (23 MiB)
• Python 2.7 and 3
• Kel project 2015
• Dynamic
• More "Pythonic"
• requests
• Limited auth methods
• Light (160 KiB)
• Only Python 3
25
INTERACTIVE CONSOLE
$ pip3 install pykube-ng
$ python3 -m pykube
Pykube v19.9.1, loaded "/home/hjacobs/.kube/config" with context "mycluster".
Example commands:
[d.name for d in Deployment.objects(api)] # get names of deployments in default namespace
list(DaemonSet.objects(api, namespace='kube-system')) # list daemonsets in "kube-system"
Pod.objects(api).get_by_name('mypod').labels # labels of pod "mypod"
Use Ctrl-D to exit
>>>
26
WRITING A SIMPLE CONTROLLER
27
DOWNSCALING DURING OFF-HOURS
github.com/hjacobs/kube-downscaler
Weekend
28
DOWNSCALING DURING OFF-HOURS
DEFAULT_UPTIME="Mon-Fri 07:30-20:30 CET"
annotations:
downscaler/exclude: "true"
github.com/hjacobs/kube-downscaler
29
HOUSEKEEPING
● Delete prototypes
after X days
● Clean up temporary
deployments
● Remove resources
without owner
30
KUBERNETES JANITOR
● TTL and expiry date annotations, e.g.
○ set time-to-live for your test deployment
● Custom rules, e.g.
○ delete everything without "app" label after 7 days
github.com/hjacobs/kube-janitor
31
JANITOR TTL ANNOTATION
# let's try out nginx, but only for 1 hour
kubectl run nginx --image=nginx
kubectl annotate deploy nginx janitor/ttl=1h
github.com/hjacobs/kube-janitor
32
EXTENDING KUBERNETES WITH OPERATORS
33
ELASTICSEARCH OPERATOR
github.com/zalando-incubator/es-operator
34
WRITING AN OPERATOR
35
MAKE A FRAMEWORK!
github.com/zalando-incubator/kopf
36
KOPF: SIMPLE SPY-HANDLERS
React on events from K8s API.
Raw payload, no interpretation. Fire-and-forget, ignore errors.
github.com/zalando-incubator/kopf
37
KOPF: CONVENIENT CAUSE AND DIFF HANDLERS
github.com/zalando-incubator/kopf
38
RUNNING FROM DEVELOPMENT ENVIRONMENT
github.com/zalando-incubator/kopf
And here we are! Creating: {'duration': '1m', 'field': 'value',
'items': ['item1', 'item2']}
[2019-02-25 14:06:54,742] kopf.reactor.handlin [INFO ]
[asf-preprocessing/kopf-example-1] Handler create_fn succeeded.
[2019-02-25 14:06:54,856] kopf.reactor.handlin [INFO ]
[asf-preprocessing/kopf-example-1] All handlers succeeded for
creation.
Name: kopf-example-1
...
Status:
create_fn:
Message: hello world
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Success 81s kopf Handler create_fn succeeded.
$ kopf run scripts.py [--verbose]
$ kubectl apply -f ../obj.yaml
$ kubectl describe -f ../obj.yaml
39
"HELLO WORLD" EXAMPLE: CRD
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
40
8 LINES OF PYTHON
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
41
4 LINES OF DOCKER
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
42
CRD OBJECT
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
43
STATUS: "HELLO PRAGUE!"
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
44
VMWORLD 2019 SESSION WITH KOPF
github.com/embano1/kopf-operator-vmworld
45
KOPF: FEATURES
• Custom & built-in resources supported (CRDs, Pods, Services, etc)
• Agnostic to API clients: kubernetes-client, pykube-ng, raw HTTP, etc
• Immediate reaction to changes and events
• Predefined behavioural patterns:
• Simple spy-handlers for event watching
• Advanced cause & diff detection for actual change tracking
• Retry-until-success approach to handlers
• Operator resilience:
• Restores its state on restarts
• Operator testing toolkit (minimally sufficient)
github.com/zalando-incubator/kopfgithub.com/zalando-incubator/kopf
46
TESTING WITH KIND
pypi.org/project/pytest-kind/
Kubernetes Web View
"kubectl for the web"
48
MOTIVATION: CHAT PING-PONG
49
MOTIVATION: PENDING PODS INCIDENT
⇒ I want to see all "Pending" Pods across all clusters!
50
MOTIVATION
51
SOME USE CASES
Support interactions with colleagues
• share links
• avoid human mistakes (wrong cluster login on CLI, "-n" param, ..)
• deep link to resource YAML
Incident response and investigation
• find a resource by name across clusters to help troubleshoot
• find pending pods across all clusters
• help identify if a problem is only in one cluster or multiple ones
52
MOTIVATION
srcco.de/posts/kubernetes-web-uis-in-2019.html
53
SOME USE CASES
54
SEARCHING FOR DOCKER IMAGE
55
SOME USE CASES
56
CRDS
additionalPrinterColumns
57
UPGRADE TO KUBERNETES 1.14
"Found 1223 rows for 1 resource type in 148 clusters in 3.301 seconds."
58
RESOURCE YAML VIEW
59
MULTIPLE CONDITIONS
kubectl -l application=coredns
60
MULTIPLE RESOURCE TYPES
kubectl get
pods,stacks,deploys,..
61
LABEL & CUSTOM COLUMNS
labelcols=application
customcols=CPU+Requests=join(', ', spec.containers[*].resources.requests.cpu)
uses JMESPath expression
62
URL STRUCTURE
/clusters/{cluster}/namespaces/{namespace}/{resource-type}
cluster: cluster aliases separated by "," or "_all"
namespace: namespace name or "_all"
resource-type: plural names separated by "," or "all" (like kubectl get all)
https://kube-web-view.readthedocs.io/
63
QUERY PARAMETERS FOR LIST VIEW
sort: column name to sort by, optionally with ":desc"
labelcols: additional label columns (comma separated) or "*"
selector: label selector (like kubectl -l), will be passed to Kubernetes API
filter: post-processing filter, either a simple string, Column=Value or
Column!=Value
hidecols: hide certain columns
customcols: custom columns using JMESPath
limit: number of rows to show
https://kube-web-view.readthedocs.io/en/latest/features.html#listing-resources
64
CUSTOMIZATION
Nearly all aspects can be customized for your org via CLI options:
• External Links (monitoring dashboards, ..)
• Default Label and Custom Columns
• Sidebar, HTML templates
• OAuth2 integration
kube-web-view.readthedocs.io/en/latest/customization.html
65
LINKING FROM DEPLOYMENT STATUS
66
KUBE-WEB-VIEW.DEMO.J-SERV.DE
67
TESTING WITH PYTEST-KIND AND PURE HTML
• Pykube
• aiohttp
• pytest-kind
• Jinja2 templates
68
KUBERNETES + PYTHON?
• Pykube
• asyncio / aiohttp
• pytest-kind
• Jinja2 templates
codeberg.org/hjacobs/kube-web-view/
69
KUBERNETES RESOURCE REPORT
github.com/hjacobs/kube-resource-report
https://github.com/hjacobs/kube-ops-view
https://github.com/hjacobs/kube-ops-view
72
KUBERNETES + PYTHON =
github.com/hjacobs
73
KUBERNETES + PYTHON =
code examples from this talk can be found in
codeberg.org/hjacobs/kubernetes-and-python
74
ZALANDO OPEN SOURCE
Kubernetes on AWS
github.com/zalando-incubator/kubernetes-on-aws
AWS ALB Ingress controller
github.com/zalando-incubator/kube-ingress-aws-controller
External DNS
github.com/kubernetes-incubator/external-dns
Postgres Operator
github.com/zalando/postgres-operator
Elasticsearch Operator
github.com/zalando-incubator/es-operator
Kubernetes Metrics Adapter
github.com/zalando-incubator/kube-metrics-adapter
QUESTIONS?
HENNING JACOBS
henning@zalando.de
@try_except_
Illustrations by @01k
1 of 75

Recommended

Gitlab, GitOps & ArgoCD by
Gitlab, GitOps & ArgoCDGitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCDHaggai Philip Zagury
326 views37 slides
Achieving CI/CD with Kubernetes by
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesRamit Surana
48.8K views37 slides
Terraform by
TerraformTerraform
TerraformPhil Wilkins
1.1K views34 slides
Pave the Golden Path On Your Internal Platform by
Pave the Golden Path On Your Internal PlatformPave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal PlatformMauricio (Salaboy) Salatino
213 views27 slides
ArgoCD and Tekton: Match made in Kubernetes heaven | DevNation Tech Talk by
ArgoCD and Tekton: Match made in Kubernetes heaven | DevNation Tech TalkArgoCD and Tekton: Match made in Kubernetes heaven | DevNation Tech Talk
ArgoCD and Tekton: Match made in Kubernetes heaven | DevNation Tech TalkRed Hat Developers
8.6K views9 slides
Running Apache Spark on Kubernetes: Best Practices and Pitfalls by
Running Apache Spark on Kubernetes: Best Practices and PitfallsRunning Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsDatabricks
2.9K views36 slides

More Related Content

What's hot

CI:CD in Lightspeed with kubernetes and argo cd by
CI:CD in Lightspeed with kubernetes and argo cdCI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cdBilly Yuen
1.6K views18 slides
Platform engineering 101 by
Platform engineering 101Platform engineering 101
Platform engineering 101Sander Knape
2.6K views90 slides
DevOps with Kubernetes by
DevOps with KubernetesDevOps with Kubernetes
DevOps with KubernetesEastBanc Tachnologies
6.8K views45 slides
Prometheus (Prometheus London, 2016) by
Prometheus (Prometheus London, 2016)Prometheus (Prometheus London, 2016)
Prometheus (Prometheus London, 2016)Brian Brazil
1.2K views39 slides
Final terraform by
Final terraformFinal terraform
Final terraformGourav Varma
458 views59 slides
Comprehensive Terraform Training by
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform TrainingYevgeniy Brikman
23K views148 slides

What's hot(20)

CI:CD in Lightspeed with kubernetes and argo cd by Billy Yuen
CI:CD in Lightspeed with kubernetes and argo cdCI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cd
Billy Yuen1.6K views
Platform engineering 101 by Sander Knape
Platform engineering 101Platform engineering 101
Platform engineering 101
Sander Knape2.6K views
Prometheus (Prometheus London, 2016) by Brian Brazil
Prometheus (Prometheus London, 2016)Prometheus (Prometheus London, 2016)
Prometheus (Prometheus London, 2016)
Brian Brazil1.2K views
Apache Spark Streaming in K8s with ArgoCD & Spark Operator by Databricks
Apache Spark Streaming in K8s with ArgoCD & Spark OperatorApache Spark Streaming in K8s with ArgoCD & Spark Operator
Apache Spark Streaming in K8s with ArgoCD & Spark Operator
Databricks448 views
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu... by Edureka!
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!2K views
Let's build Developer Portal with Backstage by Opsta
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
Opsta1K views
An intro to Kubernetes operators by J On The Beach
An intro to Kubernetes operatorsAn intro to Kubernetes operators
An intro to Kubernetes operators
J On The Beach2.5K views
Free GitOps Workshop + Intro to Kubernetes & GitOps by Weaveworks
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOps
Weaveworks177 views
GitOps Testing in Kubernetes with Flux and Testkube.pdf by Weaveworks
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdf
Weaveworks120 views
Apache Camel K - Copenhagen v2 by Claus Ibsen
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
Claus Ibsen1.8K views
Extending kubernetes with CustomResourceDefinitions by Stefan Schimanski
Extending kubernetes with CustomResourceDefinitionsExtending kubernetes with CustomResourceDefinitions
Extending kubernetes with CustomResourceDefinitions
Stefan Schimanski2.2K views
Terraform and Weave GitOps: Build a Fully Automated Application Stack by Weaveworks
Terraform and Weave GitOps: Build a Fully Automated Application StackTerraform and Weave GitOps: Build a Fully Automated Application Stack
Terraform and Weave GitOps: Build a Fully Automated Application Stack
Weaveworks298 views
The journey to GitOps by Nicola Baldi
The journey to GitOpsThe journey to GitOps
The journey to GitOps
Nicola Baldi327 views
How to test infrastructure code: automated testing for Terraform, Kubernetes,... by Yevgeniy Brikman
How to test infrastructure code: automated testing for Terraform, Kubernetes,...How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
Yevgeniy Brikman33.8K views
Gitops: the kubernetes way by sparkfabrik
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
sparkfabrik2.1K views

Similar to Kubernetes + Python = ❤ - Cloud Native Prague

Why I love Kubernetes Failure Stories and you should too - GOTO Berlin by
Why I love Kubernetes Failure Stories and you should too - GOTO BerlinWhy I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why I love Kubernetes Failure Stories and you should too - GOTO BerlinHenning Jacobs
1.1K views91 slides
K8s in 3h - Kubernetes Fundamentals Training by
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingPiotr Perzyna
396 views80 slides
Build Your Own CaaS (Container as a Service) by
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)HungWei Chiu
726 views51 slides
An Introduction to the Kubernetes API by
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes APIStefan Schimanski
4.5K views36 slides
Cluster management with Kubernetes by
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with KubernetesSatnam Singh
9.1K views69 slides
Hands-On Introduction to Kubernetes at LISA17 by
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
1.1K views82 slides

Similar to Kubernetes + Python = ❤ - Cloud Native Prague(20)

Why I love Kubernetes Failure Stories and you should too - GOTO Berlin by Henning Jacobs
Why I love Kubernetes Failure Stories and you should too - GOTO BerlinWhy I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
Henning Jacobs1.1K views
K8s in 3h - Kubernetes Fundamentals Training by Piotr Perzyna
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna396 views
Build Your Own CaaS (Container as a Service) by HungWei Chiu
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)
HungWei Chiu726 views
An Introduction to the Kubernetes API by Stefan Schimanski
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes API
Stefan Schimanski4.5K views
Cluster management with Kubernetes by Satnam Singh
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
Satnam Singh9.1K views
Hands-On Introduction to Kubernetes at LISA17 by Ryan Jarvinen
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen1.1K views
Container Deployment and Management with kubernetes by siuyin
Container Deployment and Management with kubernetesContainer Deployment and Management with kubernetes
Container Deployment and Management with kubernetes
siuyin455 views
Continuous Deployment with Kubernetes, Docker and GitLab CI by alexanderkiel
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CI
alexanderkiel6.9K views
Kubernetes workshop -_the_basics by Sjuul Janssen
Kubernetes workshop -_the_basicsKubernetes workshop -_the_basics
Kubernetes workshop -_the_basics
Sjuul Janssen82 views
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup by Stefan Schimanski
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Stefan Schimanski5.5K views
Docker kubernetes fundamental(pod_service)_190307 by Inhye Park
Docker kubernetes fundamental(pod_service)_190307Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307
Inhye Park1.5K views
Scaling docker with kubernetes by Liran Cohen
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetes
Liran Cohen2.4K views
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent by Henning Jacobs
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHow Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
Henning Jacobs2.7K views
Kubernetes - Sailing a Sea of Containers by Kel Cecil
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
Kel Cecil1.4K views
Kubernetes: The Next Research Platform by Bob Killen
Kubernetes: The Next Research PlatformKubernetes: The Next Research Platform
Kubernetes: The Next Research Platform
Bob Killen1.9K views
Kubernetes Basis: Pods, Deployments, and Services by Jian-Kai Wang
Kubernetes Basis: Pods, Deployments, and ServicesKubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and Services
Jian-Kai Wang194 views
Get you Java application ready for Kubernetes ! by Anthony Dahanne
Get you Java application ready for Kubernetes !Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !
Anthony Dahanne954 views

More from Henning Jacobs

Open Source at Zalando - OSB Open Source Day 2019 by
Open Source at Zalando - OSB Open Source Day 2019Open Source at Zalando - OSB Open Source Day 2019
Open Source at Zalando - OSB Open Source Day 2019Henning Jacobs
649 views34 slides
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise... by
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...Henning Jacobs
1.8K views86 slides
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &... by
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...Henning Jacobs
2.4K views85 slides
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ... by
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...Henning Jacobs
3.5K views93 slides
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo... by
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Henning Jacobs
1.4K views114 slides
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat... by
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Henning Jacobs
535 views99 slides

More from Henning Jacobs(20)

Open Source at Zalando - OSB Open Source Day 2019 by Henning Jacobs
Open Source at Zalando - OSB Open Source Day 2019Open Source at Zalando - OSB Open Source Day 2019
Open Source at Zalando - OSB Open Source Day 2019
Henning Jacobs649 views
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise... by Henning Jacobs
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Henning Jacobs1.8K views
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &... by Henning Jacobs
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Henning Jacobs2.4K views
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ... by Henning Jacobs
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Henning Jacobs3.5K views
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo... by Henning Jacobs
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Henning Jacobs1.4K views
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat... by Henning Jacobs
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs535 views
Kubernetes Failure Stories - KubeCon Europe Barcelona by Henning Jacobs
Kubernetes Failure Stories - KubeCon Europe BarcelonaKubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe Barcelona
Henning Jacobs728 views
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc... by Henning Jacobs
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Henning Jacobs2.4K views
Developer Experience at Zalando - CNCF End User SIG-DX by Henning Jacobs
Developer Experience at Zalando - CNCF End User SIG-DXDeveloper Experience at Zalando - CNCF End User SIG-DX
Developer Experience at Zalando - CNCF End User SIG-DX
Henning Jacobs1.2K views
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering... by Henning Jacobs
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
Henning Jacobs4.3K views
Let's talk about Failures with Kubernetes - Hamburg Meetup by Henning Jacobs
Let's talk about Failures with Kubernetes - Hamburg MeetupLet's talk about Failures with Kubernetes - Hamburg Meetup
Let's talk about Failures with Kubernetes - Hamburg Meetup
Henning Jacobs5.7K views
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019 by Henning Jacobs
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Henning Jacobs2.1K views
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO... by Henning Jacobs
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Henning Jacobs18.5K views
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc... by Henning Jacobs
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Henning Jacobs24.1K views
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont... by Henning Jacobs
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Henning Jacobs3.9K views
API First with Connexion - PyConWeb 2018 by Henning Jacobs
API First with Connexion - PyConWeb 2018API First with Connexion - PyConWeb 2018
API First with Connexion - PyConWeb 2018
Henning Jacobs2.9K views
Developer Journey at Zalando - Idea to Production with Containers in the Clou... by Henning Jacobs
Developer Journey at Zalando - Idea to Production with Containers in the Clou...Developer Journey at Zalando - Idea to Production with Containers in the Clou...
Developer Journey at Zalando - Idea to Production with Containers in the Clou...
Henning Jacobs1.3K views
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW by Henning Jacobs
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRWKubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
Henning Jacobs3.2K views
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C... by Henning Jacobs
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...
Large Scale Kubernetes on AWS at Europe's Leading Online Fashion Platform - C...
Henning Jacobs1.8K views
From AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes Meetup by Henning Jacobs
From AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes MeetupFrom AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes Meetup
From AWS/STUPS to Kubernetes on AWS @Zalando - Berlin Kubernetes Meetup
Henning Jacobs1.8K views

Recently uploaded

Unit 1_Lecture 2_Physical Design of IoT.pdf by
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdfStephenTec
12 views36 slides
Democratising digital commerce in India-Report by
Democratising digital commerce in India-ReportDemocratising digital commerce in India-Report
Democratising digital commerce in India-ReportKapil Khandelwal (KK)
15 views161 slides
Case Study Copenhagen Energy and Business Central.pdf by
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdfAitana
16 views3 slides
Melek BEN MAHMOUD.pdf by
Melek BEN MAHMOUD.pdfMelek BEN MAHMOUD.pdf
Melek BEN MAHMOUD.pdfMelekBenMahmoud
14 views1 slide
handbook for web 3 adoption.pdf by
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 views16 slides
20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
33 views73 slides

Recently uploaded(20)

Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 views
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn21 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun10 views

Kubernetes + Python = ❤ - Cloud Native Prague