SlideShare a Scribd company logo
JAX DEVOPS
LONDON
2019-05-15
HENNING JACOBS
@try_except_
Optimizing
Kubernetes
Resource
Requests/Limits
2
EUROPE’S LEADING ONLINE FASHION PLATFORM
3
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
4
SCALE
118Clusters
380Accounts
5
DEVELOPERS USING KUBERNETES
6
7
Is this a lot? Is this cost efficient?
8
¯_(ツ)_/¯
Do you know your per unit costs?
9
THE MAGIC DIAL
Speed
Stability
Overprovision
Higher Cost
Efficiency
Risk
Overcommit
Lower Cost
10
THE BASICS
11
KUBERNETES: IT'S ALL ABOUT RESOURCES
Node Node
Pods demand capacity
Nodes offer capacity
Scheduler
12
COMPUTE RESOURCE TYPES
● CPU
● Memory
● Local ephemeral storage (1.12+)
● Extended Resources
○ GPU
○ TPU?
Node
13
KUBERNETES RESOURCES
CPU
○ Base: 1 AWS vCPU (or GCP Core or ..)
○ Example: 100m (0.1 vCPU, "100 Millicores")
Memory
○ Base: 1 Byte
○ Example: 500Mi (500 MiB memory)
14
REQUESTS / LIMITS
Requests
○ Affect Scheduling Decision
○ Priority (CPU, OOM adjust)
Limits
○ Limit maximum container usage
resources:
requests:
cpu: 100m
memory: 300Mi
limits:
cpu: 1
memory: 300Mi
15
Pod 1
REQUESTS: POD SCHEDULING
CPU
Memory
Pod 2CPU
Memory
Node 1
Node 2
CPU
Memory
Pod 3
Requests
16
POD SCHEDULING
CPU
Memory
CPU
Memory
Node 1
Node 2
Pod 4
17
POD SCHEDULING: TRY TO FIT
CPU
Memory
CPU
Memory
Node 1
Node 2
18
POD SCHEDULING: NO CAPACITY
CPU
Memory
CPU
Memory
Node 1
Node 2
Pod 4
"PENDING"
19
REQUESTS: CPU SHARES
kubectl run --requests=cpu=10m/5m ..sha512()..
cat /sys/fs/cgroup/cpu/kubepods/burstable/pod5d5..0d/cpu.shares
10 // relative share of CPU time
cat /sys/fs/cgroup/cpu/kubepods/burstable/pod6e0..0d/cpu.shares
5 // relative share of CPU time
cat /sys/fs/cgroup/cpuacct/kubepods/burstable/pod5d5..0d/cpuacct.usage
/sys/fs/cgroup/cpuacct/kubepods/burstable/pod6e0..0d/cpuacct.usage
13432815283 // total CPU time in nanoseconds
7528759332 // total CPU time in nanoseconds
20
LIMITS: COMPRESSIBLE RESOURCES
Can be taken away quickly,
"only" cause slowness
CPU Throttling
200m CPU limit
⇒ container can use 0.2s of CPU time per second
21
CPU THROTTLING
docker run --cpus CPUS -it python
python -m timeit -s 'import hashlib' -n 10000 -v
'hashlib.sha512().update(b"foo")'
CPUS=1.0 3.8 - 4ms
CPUS=0.5 3.8 - 52ms
CPUS=0.2 6.8 - 88ms
CPUS=0.1 5.7 - 190ms
more CPU throttling,
slower hash computation
22
LIMITS: NON-COMPRESSIBLE RESOURCES
Hold state,
are slower to take away.
⇒ Killing (OOMKill)
23
MEMORY LIMITS: OUT OF MEMORY
kubectl get pod
NAME READY STATUS RESTARTS AGE
kube-ops-view-7bc-tcwkt 0/1 CrashLoopBackOff 3 2m
kubectl describe pod kube-ops-view-7bc-tcwkt
...
Last State: Terminated
Reason: OOMKilled
Exit Code: 137
24
QUALITY OF SERVICE (QOS)
Guaranteed: all containers have limits == requests
Burstable: some containers have limits > requests
BestEffort: no requests/limits set
kubectl describe pod …
Limits:
memory: 100Mi
Requests:
cpu: 100m
memory: 100Mi
QoS Class: Burstable
25
OVERCOMMIT
Limits > Requests ⇒ Burstable QoS ⇒ Overcommit
For CPU: fine, running into completely fair scheduling
For memory: fine, as long as demand < node capacity
https://code.fb.com/production-engineering/oomd/
Might run into unpredictable OOM
situations when demand reaches node's
memory capacity (Kernel OOM Killer)
26
LIMITS: CGROUPS
docker run --cpus 1 -m 200m --rm -it busybox
cat /sys/fs/cgroup/cpu/docker/8ab25..1c/cpu.{shares,cfs_*}
1024 // cpu.shares (default value)
100000 // cpu.cfs_period_us (100ms period length)
100000 // cpu.cfs_quota_us (total CPU time in µs consumable per period)
cat /sys/fs/cgroup/memory/docker/8ab25..1c/memory.limit_in_bytes
209715200
27
LIMITS: PROBLEMS
1. CPU CFS Quota: Latency
2. Memory: accounting, OOM behavior
28
PROBLEMS: LATENCY
https://github.com/zalando-incubator/kubernetes-on-aws/pull/923
29
PROBLEMS: HARDCODED PERIOD
30
PROBLEMS: HARDCODED PERIOD
https://github.com/kubernetes/kubernetes/issues/51135
31
NOW IN KUBERNETES 1.12
https://github.com/kubernetes/kubernetes/pull/63437
32
OVERLY AGGRESSIVE CFS
Usage < Limit,
but heavy
throttling
33
OVERLY AGGRESSIVE CFS: EXPERIMENT #1
CPU Period: 100ms
CPU Quota: None
Burn 5ms and sleep 100ms
⇒ Quota disabled
⇒ No Throttling expected!
https://gist.github.com/bobrik/2030ff040fad360327a5fab7a09c4ff1
34
EXPERIMENT #1: NO QUOTA, NO THROTTLING
2018/11/03 13:04:02 [0] burn took 5ms, real time so far: 5ms, cpu time so far: 6ms
2018/11/03 13:04:03 [1] burn took 5ms, real time so far: 510ms, cpu time so far: 11ms
2018/11/03 13:04:03 [2] burn took 5ms, real time so far: 1015ms, cpu time so far: 17ms
2018/11/03 13:04:04 [3] burn took 5ms, real time so far: 1520ms, cpu time so far: 23ms
2018/11/03 13:04:04 [4] burn took 5ms, real time so far: 2025ms, cpu time so far: 29ms
2018/11/03 13:04:05 [5] burn took 5ms, real time so far: 2530ms, cpu time so far: 35ms
2018/11/03 13:04:05 [6] burn took 5ms, real time so far: 3036ms, cpu time so far: 40ms
2018/11/03 13:04:06 [7] burn took 5ms, real time so far: 3541ms, cpu time so far: 46ms
2018/11/03 13:04:06 [8] burn took 5ms, real time so far: 4046ms, cpu time so far: 52ms
2018/11/03 13:04:07 [9] burn took 5ms, real time so far: 4551ms, cpu time so far: 58ms
35
OVERLY AGGRESSIVE CFS: EXPERIMENT #2
CPU Period: 100ms
CPU Quota: 20ms
Burn 5ms and sleep 500ms
⇒ No 100ms intervals where possibly 20ms is burned
⇒ No Throttling expected!
36
EXPERIMENT #2: OVERLY AGGRESSIVE CFS
2018/11/03 13:05:05 [0] burn took 5ms, real time so far: 5ms, cpu time so far: 5ms
2018/11/03 13:05:06 [1] burn took 99ms, real time so far: 690ms, cpu time so far: 9ms
2018/11/03 13:05:06 [2] burn took 99ms, real time so far: 1290ms, cpu time so far: 14ms
2018/11/03 13:05:07 [3] burn took 99ms, real time so far: 1890ms, cpu time so far: 18ms
2018/11/03 13:05:07 [4] burn took 5ms, real time so far: 2395ms, cpu time so far: 24ms
2018/11/03 13:05:08 [5] burn took 94ms, real time so far: 2990ms, cpu time so far: 27ms
2018/11/03 13:05:09 [6] burn took 99ms, real time so far: 3590ms, cpu time so far: 32ms
2018/11/03 13:05:09 [7] burn took 5ms, real time so far: 4095ms, cpu time so far: 37ms
2018/11/03 13:05:10 [8] burn took 5ms, real time so far: 4600ms, cpu time so far: 43ms
2018/11/03 13:05:10 [9] burn took 5ms, real time so far: 5105ms, cpu time so far: 49ms
37
OVERLY AGGRESSIVE CFS: EXPERIMENT #3
CPU Period: 10ms
CPU Quota: 2ms
Burn 5ms and sleep 100ms
⇒ Same 20% CPU (200m) limit, but smaller period
⇒ Throttling expected!
38
SMALLER CPU PERIOD ⇒ BETTER LATENCY
2018/11/03 16:31:07 [0] burn took 18ms, real time so far: 18ms, cpu time so far: 6ms
2018/11/03 16:31:07 [1] burn took 9ms, real time so far: 128ms, cpu time so far: 8ms
2018/11/03 16:31:07 [2] burn took 9ms, real time so far: 238ms, cpu time so far: 13ms
2018/11/03 16:31:07 [3] burn took 5ms, real time so far: 343ms, cpu time so far: 18ms
2018/11/03 16:31:07 [4] burn took 30ms, real time so far: 488ms, cpu time so far: 24ms
2018/11/03 16:31:07 [5] burn took 19ms, real time so far: 608ms, cpu time so far: 29ms
2018/11/03 16:31:07 [6] burn took 9ms, real time so far: 718ms, cpu time so far: 34ms
2018/11/03 16:31:08 [7] burn took 5ms, real time so far: 824ms, cpu time so far: 40ms
2018/11/03 16:31:08 [8] burn took 5ms, real time so far: 943ms, cpu time so far: 45ms
2018/11/03 16:31:08 [9] burn took 9ms, real time so far: 1068ms, cpu time so far: 48ms
39
INCIDENT INVOLVING CPU THROTTLING
https://k8s.af
40
LIMITS: VISIBILITY
docker run --cpus 1 -m 200m --rm -it busybox top
Mem: 7369128K used, 726072K free, 128164K shrd, 303924K buff, 1208132K cached
CPU0: 14.8% usr 8.4% sys 0.2% nic 67.6% idle 8.2% io 0.0% irq 0.6% sirq
CPU1: 8.8% usr 10.3% sys 0.0% nic 75.9% idle 4.4% io 0.0% irq 0.4% sirq
CPU2: 7.3% usr 8.7% sys 0.0% nic 63.2% idle 20.1% io 0.0% irq 0.6% sirq
CPU3: 9.3% usr 9.9% sys 0.0% nic 65.7% idle 14.5% io 0.0% irq 0.4% sirq
41
• Container-aware memory configuration
• JVM MaxHeap
• Container-aware processor configuration
• Thread pools
• GOMAXPROCS
• node.js cluster module
LIMITS: VISIBILITY
42
KUBERNETES RESOURCES
43
ZALANDO: DECISION
1. Forbid Memory Overcommit
• Implement mutating admission webhook
• Set requests = limits
2. Disable CPU CFS Quota in all clusters
• --cpu-cfs-quota=false
44
INGRESS LATENCY IMPROVEMENT
45
CLUSTER AUTOSCALER
Simulates the Kubernetes scheduler internally to find out..
• ..if any of the pods wouldn’t fit on existing nodes
⇒ upscale is needed
• ..if it’s possible to fit some of the pods on existing nodes
⇒ downscale is needed
⇒ Cluster size is determined by resource requests
(+ constraints)
github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
46
AUTOSCALING BUFFER
• Cluster Autoscaler only triggers on Pending Pods
• Node provisioning is slow
⇒ Reserve extra capacity via low priority Pods
"Autoscaling Buffer Pods"
47
AUTOSCALING BUFFER
kubectl describe pod autoscaling-buffer-..zjq5 -n kube-system
...
Namespace: kube-system
Priority: -1000000
PriorityClassName: autoscaling-buffer
Containers:
pause:
Image: teapot/pause-amd64:3.1
Requests:
cpu: 1600m
memory: 6871947673
Evict if higher
priority (default)
Pod needs
capacity
48
ALLOCATABLE
Reserve resources for
system components,
Kubelet, and container runtime:
--system-reserved=
cpu=100m,memory=164Mi
--kube-reserved=
cpu=100m,memory=282Mi
49
CPU/memory requests "block" resources on nodes.
Difference between actual usage and requests → Slack
SLACK
CPU
Memory
Node
"Slack"
50
STRANDED RESOURCES
Stranded
CPU
Memory
CPU
Memory
Node 1
Node 2
Some available capacity
can become unusable /
stranded.
⇒ Reschedule, bin packing
51
MONITORING
COST EFFICIENCY
52
KUBERNETES RESOURCE REPORT
github.com/hjacobs/kube-resource-report
53
RESOURCE REPORT: TEAMS
Sorting teams by
Slack Costs
github.com/hjacobs/kube-resource-report
54
RESOURCE REPORT: APPLICATIONS
"Slack"
55
RESOURCE REPORT: APPLICATIONS
56
RESOURCE REPORT: CLUSTERS
github.com/hjacobs/kube-resource-report
"Slack"
57
RESOURCE REPORT METRICS
github.com/hjacobs/kube-resource-report
58
KUBERNETES APPLICATION DASHBOARD
https://github.com/hjacobs/kube-ops-view
https://github.com/hjacobs/kube-ops-view
requested
vs used
61
OPTIMIZING
COST EFFICIENCY
62
VERTICAL POD AUTOSCALER (VPA)
"Some 2/3 of the (Google) Borg
users use autopilot."
- Tim Hockin
VPA: Set resource requests
automatically based on usage.
63
VPA FOR PROMETHEUS
apiVersion: autoscaling.k8s.io/v1beta2
kind: VerticalPodAutoscaler
metadata: ...
spec:
targetRef:
apiVersion: apps/v1
kind: StatefulSet
name: prometheus
updatePolicy: { updateMode: Auto }
resourcePolicy:
containerPolicies: { containerName: prometheus }
minAllowed:
memory: 512Mi
maxAllowed:
memory: 10Gi
CPU/memory
64
VERTICAL POD AUTOSCALER
limit/requests adapted by VPA
65
VERTICAL POD AUTOSCALER
66
HORIZONTAL POD AUTOSCALER
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: myapp
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp
minReplicas: 3
maxReplicas: 5
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 100
target: ~100% of
CPU requests
...
67
HORIZONTAL POD AUTOSCALING (CUSTOM METRICS)
Queue Length
Prometheus Query
Ingress Req/s
ZMON Check
github.com/zalando-incubator/kube-metrics-adapter
68
DOWNSCALING DURING OFF-HOURS
github.com/hjacobs/kube-downscaler
Weekend
69
DOWNSCALING DURING OFF-HOURS
DEFAULT_UPTIME="Mon-Fri 07:30-20:30 CET"
annotations:
downscaler/exclude: "true"
github.com/hjacobs/kube-downscaler
70
ACCUMULATED WASTE
● Prototypes
● Personal test environments
● Trial runs
● Decommissioned services
● Learning/training deployments
Sounds familiar?
Example: Getting started
with Zalenium & UI Tests
Example: Step by step guide to the first UI test with Zalenium running in the
Continuous Delivery Platform. I was always afraid of UI tests because it looked too
difficult to get started, Zalenium solved this problem for me.
72
HOUSEKEEPING
● Delete prototypes
after X days
● Clean up temporary
deployments
● Remove resources
without owner
73
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
74
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
75
CUSTOM JANITOR RULES
# require "app" label for new pods starting April 2019
- id: require-app-label-april-2019
resources:
- deployments
- statefulsets
jmespath: "!(spec.template.metadata.labels.app) &&
metadata.creationTimestamp > '2019-04-01'"
ttl: 7d
github.com/hjacobs/kube-janitor
76
EC2 SPOT NODES
72% savings
77
SPOT ASG / LAUNCH TEMPLATE
Not upstream in cluster-autoscaler (yet)
78
CLUSTER OVERHEAD: CONTROL PLANE
● GKE cluster: free
● EKS cluster: $146/month
● Zalando prod cluster: $635/month
(etcd nodes + master nodes + ELB)
Potential: fewer etcd nodes, no HA, shared control plane.
79
WHAT WORKED FOR US
● Disable CPU CFS Quota in all clusters
● Prevent memory overcommit
● Kubernetes Resource Report
● Downscaling during off-hours
● EC2 Spot
80
STABILITY ↔ EFFICIENCY
Slack
Autoscaling
Buffer
Disable
Overcommit
Cluster
Overhead
Resource
Report
HPA
VPA
Downscaler
Janitor
EC2 Spot
81
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
Kubernetes Resource Report
github.com/hjacobs/kube-resource-report
Kubernetes Downscaler
github.com/hjacobs/kube-downscaler
Kubernetes Janitor
github.com/hjacobs/kube-janitor
82
OTHER TALKS/POSTS
• Everything You Ever Wanted to Know About Resource Scheduling
• Inside Kubernetes Resource Management (QoS) - KubeCon 2018
• Setting Resource Requests and Limits in Kubernetes (Best Practices)
• Effectively Managing Kubernetes Resources with Cost Monitoring
QUESTIONS?
HENNING JACOBS
HEAD OF
DEVELOPER PRODUCTIVITY
henning@zalando.de
@try_except_
Illustrations by @01k

More Related Content

PDF
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
PPTX
RocksDB compaction
PPTX
High Performance, High Reliability Data Loading on ClickHouse
PDF
Producer Performance Tuning for Apache Kafka
PDF
Seastore: Next Generation Backing Store for Ceph
PDF
Linux Profiling at Netflix
PDF
[Meetup] a successful migration from elastic search to clickhouse
PDF
Ceph and RocksDB
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
RocksDB compaction
High Performance, High Reliability Data Loading on ClickHouse
Producer Performance Tuning for Apache Kafka
Seastore: Next Generation Backing Store for Ceph
Linux Profiling at Netflix
[Meetup] a successful migration from elastic search to clickhouse
Ceph and RocksDB

What's hot (20)

PDF
Page cache in Linux kernel
PDF
Velocity 2015 linux perf tools
PPTX
Kafka at Peak Performance
PPTX
Linux Memory Management with CMA (Contiguous Memory Allocator)
PDF
Linux Performance Analysis: New Tools and Old Secrets
PDF
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
PDF
Memory Bandwidth QoS
PDF
High-Performance Networking Using eBPF, XDP, and io_uring
PDF
Systems@Scale 2021 BPF Performance Getting Started
PDF
Virtualization Support in ARMv8+
PDF
MariaDB Performance Tuning and Optimization
PPTX
Ceph Performance and Sizing Guide
PDF
BPF - in-kernel virtual machine
PPTX
Revisiting CephFS MDS and mClock QoS Scheduler
PDF
Log Structured Merge Tree
PDF
Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
PDF
Profiling deep learning network using NVIDIA nsight systems
PDF
Using ClickHouse for Experimentation
PDF
Container Performance Analysis
ODP
Continguous Memory Allocator in the Linux Kernel
Page cache in Linux kernel
Velocity 2015 linux perf tools
Kafka at Peak Performance
Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Performance Analysis: New Tools and Old Secrets
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Memory Bandwidth QoS
High-Performance Networking Using eBPF, XDP, and io_uring
Systems@Scale 2021 BPF Performance Getting Started
Virtualization Support in ARMv8+
MariaDB Performance Tuning and Optimization
Ceph Performance and Sizing Guide
BPF - in-kernel virtual machine
Revisiting CephFS MDS and mClock QoS Scheduler
Log Structured Merge Tree
Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
Profiling deep learning network using NVIDIA nsight systems
Using ClickHouse for Experimentation
Container Performance Analysis
Continguous Memory Allocator in the Linux Kernel
Ad

Similar to Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latency - JAX DevOps London (20)

PDF
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
PDF
Why Kubernetes Freedom Requires Chaos Engineering to Shine in Production
PDF
Kubernetes Resource Mis-management - What not to do
PDF
KubeCon EU 2016: A Practical Guide to Container Scheduling
PPTX
K8s best practices from the field!
PDF
Red Hat Summit 2018 5 New High Performance Features in OpenShift
PDF
DevoxxUK: Optimizating Application Performance on Kubernetes
PPTX
Implement Advanced Scheduling Techniques in Kubernetes
PDF
Kubernetes Requests and Limits
PDF
Kubernetes Walk Through from Technical View
PDF
Kubernetes at Datadog the very hard way
PPTX
Kubernetes Resources Allocation
PPTX
Production Grade Kubernetes Applications
PDF
Zero downtime deployment of micro-services with Kubernetes
PPTX
Webcast - Making kubernetes production ready
PDF
Spring Into Kubernetes DFW
PPTX
KCD PPT -2025 - Kasun Rathnayaka (2).pptx
PDF
Kube Your Enthusiasm - Tyler Britten
PDF
GDG Cloud Southlake #20:Stefano Doni: Kubernetes performance tuning dilemma: ...
PPTX
Dealing with kubesprawl tetris style !
Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering...
Why Kubernetes Freedom Requires Chaos Engineering to Shine in Production
Kubernetes Resource Mis-management - What not to do
KubeCon EU 2016: A Practical Guide to Container Scheduling
K8s best practices from the field!
Red Hat Summit 2018 5 New High Performance Features in OpenShift
DevoxxUK: Optimizating Application Performance on Kubernetes
Implement Advanced Scheduling Techniques in Kubernetes
Kubernetes Requests and Limits
Kubernetes Walk Through from Technical View
Kubernetes at Datadog the very hard way
Kubernetes Resources Allocation
Production Grade Kubernetes Applications
Zero downtime deployment of micro-services with Kubernetes
Webcast - Making kubernetes production ready
Spring Into Kubernetes DFW
KCD PPT -2025 - Kasun Rathnayaka (2).pptx
Kube Your Enthusiasm - Tyler Britten
GDG Cloud Southlake #20:Stefano Doni: Kubernetes performance tuning dilemma: ...
Dealing with kubesprawl tetris style !
Ad

More from Henning Jacobs (20)

PDF
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
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
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
PDF
Kubernetes + Python = ❤ - Cloud Native Prague
PDF
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
PDF
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
PDF
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
PDF
Kubernetes Failure Stories - KubeCon Europe Barcelona
PDF
Developer Experience at Zalando - CNCF End User SIG-DX
PDF
Let's talk about Failures with Kubernetes - Hamburg Meetup
PDF
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
PDF
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
PDF
API First with Connexion - PyConWeb 2018
PDF
Developer Journey at Zalando - Idea to Production with Containers in the Clou...
PDF
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
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
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
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...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Kubernetes + Python = ❤ - Cloud Native Prague
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
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 - Destinat...
Kubernetes Failure Stories - KubeCon Europe Barcelona
Developer Experience at Zalando - CNCF End User SIG-DX
Let's talk about Failures with Kubernetes - Hamburg Meetup
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
API First with Connexion - PyConWeb 2018
Developer Journey at Zalando - Idea to Production with Containers in the Clou...
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
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

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
A Presentation on Artificial Intelligence
PDF
Machine learning based COVID-19 study performance prediction
PPTX
1. Introduction to Computer Programming.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Unlocking AI with Model Context Protocol (MCP)
Programs and apps: productivity, graphics, security and other tools
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine Learning_overview_presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Tartificialntelligence_presentation.pptx
Spectral efficient network and resource selection model in 5G networks
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MIND Revenue Release Quarter 2 2025 Press Release
Diabetes mellitus diagnosis method based random forest with bat algorithm
A Presentation on Artificial Intelligence
Machine learning based COVID-19 study performance prediction
1. Introduction to Computer Programming.pptx

Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latency - JAX DevOps London