SlideShare a Scribd company logo
1 of 37
Download to read offline
https://strimzi.io
Make Your Kafka Cluster
Production-ready
Jakub Scholz
DOK Day @ KubeCon NA 2023
Make Your Kafka Cluster Production-ready
About me
● Senior Principal Software Engineer @ Red Hat
● Maintainer of Strimzi project (https://strimzi.io)
● Occasional Apache Kafka contributor
@scholzj
https://github.com/scholzj
https://www.linkedin.com/in/scholzj/
2
3
Make Your Kafka Cluster Production-ready
Infrastructure
4
Make Your Kafka Cluster Production-ready
Make Your Kafka Cluster Production-ready
Infrastructure
● Networking
● Storage
○ Supports JBOD and Local storage
● CPU & Memory
● Resource Limits & Requests
5
Make Your Kafka Cluster Production-ready
6
Cache eeeee
JVM
Heap
Limit
Request
Security
7
Make Your Kafka Cluster Production-ready
Make Your Kafka Cluster Production-ready
Security
● TLS Encryption
● Authentication (SCRAM-SHA, mTLS, OAuth)
● Authorization (Kafka authorizer, Keycloak, Open Policy Agent)
● Network Policies
● RBAC
● Security Context
8
Monitoring
9
Make Your Kafka Cluster Production-ready
Make Your Kafka Cluster Production-ready
Monitoring
● Understanding the state of the Kafka cluster
● Logs, Metrics, Tracing, Dashboards, Alerts, …
● The usual suspects: Prometheus, OpenTelemetry, …
● Consumer Lag
● Kafka Exporter
10
Availability
11
Make Your Kafka Cluster Production-ready
Make Your Kafka Cluster Production-ready
Availability
● Topic and client configurations
● Rolling Updates
● Rack Awareness
● Topology Spread Constraints & Affinity
● Voluntary Disruptions
● Pod Disruption Budgets, Readiness probes
● Disaster Recover / Backups
12
Rolling Updates
13
Make Your Kafka Cluster Production-ready
14
Make Your Kafka Cluster Production-ready
Controller
Controller
Controller
Controller
Controller
15
Make Your Kafka Cluster Production-ready
15
Make Your Kafka Cluster Production-ready
P1 P1 P1
P2 P2
P3 P3
P2
P3
15
Make Your Kafka Cluster Production-ready
P1 P1
P2 P2
P3 P3
P2
P3
P1
15
Make Your Kafka Cluster Production-ready
P1 P1
P2 P2
P3 P3
P1
P2
P3
Rack Awareness
16
Make Your Kafka Cluster Production-ready
A
ZONE
C
ZONE
B
ZONE
A
ZONE
C
ZONE
B
ZONE
A
ZONE
C
ZONE
B
ZONE
P2
P1
P2
P1
P2
P1
P3 P3
P3
A
ZONE
C
ZONE
B
ZONE
P2
P1
P2
P1
P2
P1
P3 P3
P3
A
ZONE
C
ZONE
B
ZONE
P2
P1
P2
P1
P2
P1
P3 P3
P3
Make Your Kafka Cluster Production-ready
Availability
● Topic and client configurations
● Rolling Updates
● Rack Awareness
● Topology Spread Constraints & Affinity
● Voluntary Disruptions
● Pod Disruption Budgets, Readiness probes
● Disaster Recover / Backups
18
Performance
19
Make Your Kafka Cluster Production-ready
Make Your Kafka Cluster Production-ready
Performance
● Noisy neighbours
● Pod anti-affinity
● Dedicated nodes (Taints & Tolerations)
● Tune the JVM (Garbage collection, …)
● Cluster Balancing
20
Cluster Balancing
21
Make Your Kafka Cluster Production-ready
2
1
0
2
1
0
0 2
1
0 2
1
Networking, Storage, Memory, CPU, Resource Requests & Limits
Encryption, Authentication, Authorization,
Network Policies, Security Context, RBAC, …
Logs, Metrics, Alerts, Dashboards,
Consumer Lag, Traces, Audits, …
Topology Spread Constraints,
Rolling Updates, Rack awareness,
Node Affinity, Configuration, Disaster
Recovery, Backups, Disruptions, …
Cluster
Balancing,
Pod anti-affinity,
Dedicated nodes,
Tune the JVM, …
Infrastructure
Security
Monitoring
High
Availability
(Reliability)
Performance
Why do I need to care about this?
Why not have production-ready Kafka out-of-the box?
25
Make Your Kafka Cluster Production-ready
Make Your Kafka Cluster Production-ready
Mind the gap!
● Different environments
● Development vs. CIs vs. Production
● Different requirements
● How much [Security|Monitoring|Availability|Performance] do I really need?
● Different infrastructure
● Labels, versions, topologies, tools, …
● No one-size-fits-all
26
Make Your Kafka Cluster Production-ready
Further resources
● Documentation
● Strimzi: https://strimzi.io/documentation/
● Apache Kafka: https://kafka.apache.org/documentation/
● Examples: https://github.com/strimzi/strimzi-kafka-operator/tree/main/examples
● Blog posts: https://strimzi.io/blog/
● “Make your Kafka cluster production-ready”: https://youtube.com/c/Strimzi
27
Thank you
Website: https://strimzi.io
GitHub: https://github.com/strimzi
Twitter: @strimziio
YouTube: https://youtube.com/c/Strimzi
28
Make
Your
Kafka
Cluster
Production-ready

More Related Content

Similar to Make Your Kafka Cluster Production-Ready

From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...Junho Suh
 
How is Kafka so Fast?
How is Kafka so Fast?How is Kafka so Fast?
How is Kafka so Fast?Ricardo Paiva
 
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Stephen Gordon
 
Scylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla OperatorScylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla OperatorScyllaDB
 
Kafka on Kubernetes—From Evaluation to Production at Intuit
Kafka on Kubernetes—From Evaluation to Production at Intuit Kafka on Kubernetes—From Evaluation to Production at Intuit
Kafka on Kubernetes—From Evaluation to Production at Intuit confluent
 
Rook - cloud-native storage
Rook - cloud-native storageRook - cloud-native storage
Rook - cloud-native storageKarol Chrapek
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaShiao-An Yuan
 
Capital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream ProcessingCapital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream Processingconfluent
 
Introduction to apache kafka
Introduction to apache kafkaIntroduction to apache kafka
Introduction to apache kafkaSamuel Kerrien
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
 
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...Athens Big Data
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationClaus Ibsen
 
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre ZembBuilding a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre ZembStreamNative
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache KafkaAmir Sedighi
 
HKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversHKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversLinaro
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouseAltinity Ltd
 
A Container Stack for Openstack - OpenStack Silicon Valley
A Container Stack for Openstack - OpenStack Silicon ValleyA Container Stack for Openstack - OpenStack Silicon Valley
A Container Stack for Openstack - OpenStack Silicon ValleyStephen Gordon
 
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...ScyllaDB
 

Similar to Make Your Kafka Cluster Production-Ready (20)

From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
 
RocksDB meetup
RocksDB meetupRocksDB meetup
RocksDB meetup
 
How is Kafka so Fast?
How is Kafka so Fast?How is Kafka so Fast?
How is Kafka so Fast?
 
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
 
BRKDCT-2445
BRKDCT-2445BRKDCT-2445
BRKDCT-2445
 
Scylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla OperatorScylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla Operator
 
Kafka on Kubernetes—From Evaluation to Production at Intuit
Kafka on Kubernetes—From Evaluation to Production at Intuit Kafka on Kubernetes—From Evaluation to Production at Intuit
Kafka on Kubernetes—From Evaluation to Production at Intuit
 
Rook - cloud-native storage
Rook - cloud-native storageRook - cloud-native storage
Rook - cloud-native storage
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Capital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream ProcessingCapital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream Processing
 
Introduction to apache kafka
Introduction to apache kafkaIntroduction to apache kafka
Introduction to apache kafka
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
 
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre ZembBuilding a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
 
HKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversHKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM servers
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouse
 
A Container Stack for Openstack - OpenStack Silicon Valley
A Container Stack for Openstack - OpenStack Silicon ValleyA Container Stack for Openstack - OpenStack Silicon Valley
A Container Stack for Openstack - OpenStack Silicon Valley
 
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
How we got to 1 millisecond latency in 99% under repair, compaction, and flus...
 

More from DoKC

Distributed Vector Databases - What, Why, and How
Distributed Vector Databases - What, Why, and HowDistributed Vector Databases - What, Why, and How
Distributed Vector Databases - What, Why, and HowDoKC
 
Is It Safe? Security Hardening for Databases Using Kubernetes Operators
Is It Safe? Security Hardening for Databases Using Kubernetes OperatorsIs It Safe? Security Hardening for Databases Using Kubernetes Operators
Is It Safe? Security Hardening for Databases Using Kubernetes OperatorsDoKC
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryDoKC
 
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...DoKC
 
The State of Stateful on Kubernetes
The State of Stateful on KubernetesThe State of Stateful on Kubernetes
The State of Stateful on KubernetesDoKC
 
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...DoKC
 
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...DoKC
 
Run PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the CloudRun PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the CloudDoKC
 
The Kubernetes Native Database
The Kubernetes Native DatabaseThe Kubernetes Native Database
The Kubernetes Native DatabaseDoKC
 
ING Data Services hosted on ICHP DoK Amsterdam 2023
ING Data Services hosted on ICHP DoK Amsterdam 2023ING Data Services hosted on ICHP DoK Amsterdam 2023
ING Data Services hosted on ICHP DoK Amsterdam 2023DoKC
 
Implementing data and databases on K8s within the Dutch government
Implementing data and databases on K8s within the Dutch governmentImplementing data and databases on K8s within the Dutch government
Implementing data and databases on K8s within the Dutch governmentDoKC
 
StatefulSets in K8s - DoK Talks #154
StatefulSets in K8s - DoK Talks #154StatefulSets in K8s - DoK Talks #154
StatefulSets in K8s - DoK Talks #154DoKC
 
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...DoKC
 
Analytics with Apache Superset and ClickHouse - DoK Talks #151
Analytics with Apache Superset and ClickHouse - DoK Talks #151Analytics with Apache Superset and ClickHouse - DoK Talks #151
Analytics with Apache Superset and ClickHouse - DoK Talks #151DoKC
 
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...DoKC
 
Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147DoKC
 
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...DoKC
 
We will Dok You! - The journey to adopt stateful workloads on k8s
We will Dok You! - The journey to adopt stateful workloads on k8sWe will Dok You! - The journey to adopt stateful workloads on k8s
We will Dok You! - The journey to adopt stateful workloads on k8sDoKC
 
Mastering MongoDB on Kubernetes, the power of operators
Mastering MongoDB on Kubernetes, the power of operators Mastering MongoDB on Kubernetes, the power of operators
Mastering MongoDB on Kubernetes, the power of operators DoKC
 
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...DoKC
 

More from DoKC (20)

Distributed Vector Databases - What, Why, and How
Distributed Vector Databases - What, Why, and HowDistributed Vector Databases - What, Why, and How
Distributed Vector Databases - What, Why, and How
 
Is It Safe? Security Hardening for Databases Using Kubernetes Operators
Is It Safe? Security Hardening for Databases Using Kubernetes OperatorsIs It Safe? Security Hardening for Databases Using Kubernetes Operators
Is It Safe? Security Hardening for Databases Using Kubernetes Operators
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
 
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...
 
The State of Stateful on Kubernetes
The State of Stateful on KubernetesThe State of Stateful on Kubernetes
The State of Stateful on Kubernetes
 
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...
 
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...
 
Run PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the CloudRun PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
 
The Kubernetes Native Database
The Kubernetes Native DatabaseThe Kubernetes Native Database
The Kubernetes Native Database
 
ING Data Services hosted on ICHP DoK Amsterdam 2023
ING Data Services hosted on ICHP DoK Amsterdam 2023ING Data Services hosted on ICHP DoK Amsterdam 2023
ING Data Services hosted on ICHP DoK Amsterdam 2023
 
Implementing data and databases on K8s within the Dutch government
Implementing data and databases on K8s within the Dutch governmentImplementing data and databases on K8s within the Dutch government
Implementing data and databases on K8s within the Dutch government
 
StatefulSets in K8s - DoK Talks #154
StatefulSets in K8s - DoK Talks #154StatefulSets in K8s - DoK Talks #154
StatefulSets in K8s - DoK Talks #154
 
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
 
Analytics with Apache Superset and ClickHouse - DoK Talks #151
Analytics with Apache Superset and ClickHouse - DoK Talks #151Analytics with Apache Superset and ClickHouse - DoK Talks #151
Analytics with Apache Superset and ClickHouse - DoK Talks #151
 
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
 
Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147
 
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...
 
We will Dok You! - The journey to adopt stateful workloads on k8s
We will Dok You! - The journey to adopt stateful workloads on k8sWe will Dok You! - The journey to adopt stateful workloads on k8s
We will Dok You! - The journey to adopt stateful workloads on k8s
 
Mastering MongoDB on Kubernetes, the power of operators
Mastering MongoDB on Kubernetes, the power of operators Mastering MongoDB on Kubernetes, the power of operators
Mastering MongoDB on Kubernetes, the power of operators
 
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
 

Recently uploaded

Haitian culture and stuff and places and food and travel.pptx
Haitian culture and stuff and places and food and travel.pptxHaitian culture and stuff and places and food and travel.pptx
Haitian culture and stuff and places and food and travel.pptxhxhlixia
 
Apply Indian E-Visa Process Online (Evisa)
Apply Indian E-Visa Process Online (Evisa)Apply Indian E-Visa Process Online (Evisa)
Apply Indian E-Visa Process Online (Evisa)RanjeetKumar108130
 
Inspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodInspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodKasia Chojecki
 
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)Mazie Garcia
 
Moving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterMoving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterStefSmulders1
 
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCRsoniya singh
 
question 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationquestion 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationcaminantesdaauga
 
Revolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI UpdateRevolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI Updatejoymorrison10
 
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)Escort Service
 
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCRdollysharma2066
 
Louisville Bourbon Tour Packages
Louisville    Bourbon    Tour    PackagesLouisville    Bourbon    Tour    Packages
Louisville Bourbon Tour Packagestrailntrackus
 
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,MsVIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Msankitnayak356677
 
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxHoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxChung Yen Chang
 
"Fly with Ease: Booking Your Flights with Air Europa"
"Fly with Ease: Booking Your Flights with Air Europa""Fly with Ease: Booking Your Flights with Air Europa"
"Fly with Ease: Booking Your Flights with Air Europa"flyn goo
 
Where to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdWhere to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdusmanghaniwixpatriot
 
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...nishakur201
 
Italia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue muraItalia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue murasandamichaela *
 
Dubai Call Girls O528786472 Call Girls Dubai Big Juicy
Dubai Call Girls O528786472 Call Girls Dubai Big JuicyDubai Call Girls O528786472 Call Girls Dubai Big Juicy
Dubai Call Girls O528786472 Call Girls Dubai Big Juicyhf8803863
 
How Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersHow Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersMakena Coast Charters
 

Recently uploaded (20)

Haitian culture and stuff and places and food and travel.pptx
Haitian culture and stuff and places and food and travel.pptxHaitian culture and stuff and places and food and travel.pptx
Haitian culture and stuff and places and food and travel.pptx
 
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
 
Apply Indian E-Visa Process Online (Evisa)
Apply Indian E-Visa Process Online (Evisa)Apply Indian E-Visa Process Online (Evisa)
Apply Indian E-Visa Process Online (Evisa)
 
Inspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodInspirational Quotes About Italy and Food
Inspirational Quotes About Italy and Food
 
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
 
Moving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterMoving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation Rollercoaster
 
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
 
question 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationquestion 2: airplane vocabulary presentation
question 2: airplane vocabulary presentation
 
Revolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI UpdateRevolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI Update
 
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
 
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
 
Louisville Bourbon Tour Packages
Louisville    Bourbon    Tour    PackagesLouisville    Bourbon    Tour    Packages
Louisville Bourbon Tour Packages
 
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,MsVIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
 
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxHoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
 
"Fly with Ease: Booking Your Flights with Air Europa"
"Fly with Ease: Booking Your Flights with Air Europa""Fly with Ease: Booking Your Flights with Air Europa"
"Fly with Ease: Booking Your Flights with Air Europa"
 
Where to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdWhere to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasd
 
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
 
Italia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue muraItalia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue mura
 
Dubai Call Girls O528786472 Call Girls Dubai Big Juicy
Dubai Call Girls O528786472 Call Girls Dubai Big JuicyDubai Call Girls O528786472 Call Girls Dubai Big Juicy
Dubai Call Girls O528786472 Call Girls Dubai Big Juicy
 
How Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersHow Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s Waters
 

Make Your Kafka Cluster Production-Ready

  • 1. https://strimzi.io Make Your Kafka Cluster Production-ready Jakub Scholz DOK Day @ KubeCon NA 2023
  • 2. Make Your Kafka Cluster Production-ready About me ● Senior Principal Software Engineer @ Red Hat ● Maintainer of Strimzi project (https://strimzi.io) ● Occasional Apache Kafka contributor @scholzj https://github.com/scholzj https://www.linkedin.com/in/scholzj/ 2
  • 3. 3 Make Your Kafka Cluster Production-ready
  • 4. Infrastructure 4 Make Your Kafka Cluster Production-ready
  • 5. Make Your Kafka Cluster Production-ready Infrastructure ● Networking ● Storage ○ Supports JBOD and Local storage ● CPU & Memory ● Resource Limits & Requests 5
  • 6. Make Your Kafka Cluster Production-ready 6 Cache eeeee JVM Heap Limit Request
  • 7. Security 7 Make Your Kafka Cluster Production-ready
  • 8. Make Your Kafka Cluster Production-ready Security ● TLS Encryption ● Authentication (SCRAM-SHA, mTLS, OAuth) ● Authorization (Kafka authorizer, Keycloak, Open Policy Agent) ● Network Policies ● RBAC ● Security Context 8
  • 9. Monitoring 9 Make Your Kafka Cluster Production-ready
  • 10. Make Your Kafka Cluster Production-ready Monitoring ● Understanding the state of the Kafka cluster ● Logs, Metrics, Tracing, Dashboards, Alerts, … ● The usual suspects: Prometheus, OpenTelemetry, … ● Consumer Lag ● Kafka Exporter 10
  • 11. Availability 11 Make Your Kafka Cluster Production-ready
  • 12. Make Your Kafka Cluster Production-ready Availability ● Topic and client configurations ● Rolling Updates ● Rack Awareness ● Topology Spread Constraints & Affinity ● Voluntary Disruptions ● Pod Disruption Budgets, Readiness probes ● Disaster Recover / Backups 12
  • 13. Rolling Updates 13 Make Your Kafka Cluster Production-ready
  • 14. 14 Make Your Kafka Cluster Production-ready Controller Controller Controller Controller Controller
  • 15. 15 Make Your Kafka Cluster Production-ready
  • 16. 15 Make Your Kafka Cluster Production-ready P1 P1 P1 P2 P2 P3 P3 P2 P3
  • 17. 15 Make Your Kafka Cluster Production-ready P1 P1 P2 P2 P3 P3 P2 P3 P1
  • 18. 15 Make Your Kafka Cluster Production-ready P1 P1 P2 P2 P3 P3 P1 P2 P3
  • 19. Rack Awareness 16 Make Your Kafka Cluster Production-ready
  • 25. Make Your Kafka Cluster Production-ready Availability ● Topic and client configurations ● Rolling Updates ● Rack Awareness ● Topology Spread Constraints & Affinity ● Voluntary Disruptions ● Pod Disruption Budgets, Readiness probes ● Disaster Recover / Backups 18
  • 26. Performance 19 Make Your Kafka Cluster Production-ready
  • 27. Make Your Kafka Cluster Production-ready Performance ● Noisy neighbours ● Pod anti-affinity ● Dedicated nodes (Taints & Tolerations) ● Tune the JVM (Garbage collection, …) ● Cluster Balancing 20
  • 28. Cluster Balancing 21 Make Your Kafka Cluster Production-ready
  • 29. 2 1 0
  • 30. 2 1 0
  • 31. 0 2 1
  • 32. 0 2 1
  • 33. Networking, Storage, Memory, CPU, Resource Requests & Limits Encryption, Authentication, Authorization, Network Policies, Security Context, RBAC, … Logs, Metrics, Alerts, Dashboards, Consumer Lag, Traces, Audits, … Topology Spread Constraints, Rolling Updates, Rack awareness, Node Affinity, Configuration, Disaster Recovery, Backups, Disruptions, … Cluster Balancing, Pod anti-affinity, Dedicated nodes, Tune the JVM, … Infrastructure Security Monitoring High Availability (Reliability) Performance
  • 34. Why do I need to care about this? Why not have production-ready Kafka out-of-the box? 25 Make Your Kafka Cluster Production-ready
  • 35. Make Your Kafka Cluster Production-ready Mind the gap! ● Different environments ● Development vs. CIs vs. Production ● Different requirements ● How much [Security|Monitoring|Availability|Performance] do I really need? ● Different infrastructure ● Labels, versions, topologies, tools, … ● No one-size-fits-all 26
  • 36. Make Your Kafka Cluster Production-ready Further resources ● Documentation ● Strimzi: https://strimzi.io/documentation/ ● Apache Kafka: https://kafka.apache.org/documentation/ ● Examples: https://github.com/strimzi/strimzi-kafka-operator/tree/main/examples ● Blog posts: https://strimzi.io/blog/ ● “Make your Kafka cluster production-ready”: https://youtube.com/c/Strimzi 27
  • 37. Thank you Website: https://strimzi.io GitHub: https://github.com/strimzi Twitter: @strimziio YouTube: https://youtube.com/c/Strimzi 28 Make Your Kafka Cluster Production-ready