SlideShare a Scribd company logo
1 of 22
Download to read offline
Cloud Native Kafka
Using Kubernetes Operators
May 2022
02
The Design
03
The Solutions
01
The Vision
04
Demo
Your trusted, strategic technology partner
Helping companies adopt emerging technologies to keep competitive and drive business growth
The art of the possible
with kafka
How can we structure the
deliverables
What tooling should we
use where
All singing and dancing
kafka
2
01
The Vision
Siloed Kafka
Development teams are
responsible for building and
running their own Kafka in siloes
Standardised way of adopting
Kafka throughout your
organisation
Confluent Cloud
Pay-as-you consume, without
infrastructure and operational
complexities
Where are you today?
4
Centralised Kafka
01. Vision
Kafka as a Service (KaaS)
Investment & Time
Value
3
4
5
1
2
Product, Support, Training, Duel Delivery, Technical Account Management
Experimentation /
early interest
Central Nervous
System
Mission critical, in
production, but
disparate lines of
business (LOBs)
Identify a project
Mission-critical,
connected LOBs
Individual Use Case
Individual Team Project
Multi-Use Case Multi-Team
Platform
5
01. Vision
The journey of event streaming
6
Goals
+ Lower the barrier to entry
+ Build confidence in the
value of event driven use
cases
+ Share best practice across
teams
+ Increase project success
■ Efficient, focused delivery squads working to achieve clear goals
■ Build confidence in the technology and delivery model
■ Low risk for new users of Kafka
■ Well defined operating model
■ Clear pathway to production
Reusable enablers
Kafka
adoption
→
Siloed Kafka
01. Vision
Increasing your Kafka adoption curve
7
01. Vision
Adopting a central nervous system
...
Device
Logs ... ...
...
Data Stores Logs 3rd Party Apps Custom Apps / Microservices
Real-time
Portfolio
Real-time Fraud
Detection
Real-time
Customer 360
Machine
Learning
Models
Real-time Data
Transformation ...
Data in Motion Applications
Universal Event Pipeline
SaaS
apps
02
The Design
02. Design
Smart Analytics
(AI/ML)
Anomaly
Detection
Application
Modernization
Data
Exchange
IT Observability &
SIEM Optimization
Compliance &
Regulations
Microservice /
Event Sourcing
Streaming
ETL
Log
Aggregation
IoT / Edge
Analytics
Cyber
Security
DATA INFRASTRUCTURE USE CASES BUSINESS APPLICATION USE CASES
Data
Pipelines
Hybrid & Multicloud
Integration
Customer
360
Mainframe
Augmentation
Data Warehouse
Modernization
Messaging
Modernization
Database
Modernization
Real-time Data beats Slow Data
Introducing
Confluent for
Kubernetes
Complete, declarative API
to deploy and operate
Confluent as a
cloud-native system on
Kubernetes
02. Design
Confluent Platform
Confluent for Kubernetes (CFK)
Kubernetes
Red Hat Local Raspberry Pi
AWS Azure
Docker Images
GCP
Standardised way of deploying components no matter the environment or
underlying infrastructure.
10
11
Key benefits of CFK
Operability
> Everything is declared in YAML which removes ambiguity around Terraform
controlling configuration
Reliability
> Operator pattern closes the gap between SRE and Kafka SME. Lower the
barrier to entry with isolated deployments
Maintainability
> Operator pattern is designed to do the heavy lifting. Broker rebalancing, disk
attachment and certificates management are built into CFK
02. Design
Local
Creating and validating Kafka
configuration
Sandbox
Testing your automation and GitOps
process
Production
Delivering KaaS in a controlled
environment
How to deliver configuration as code
12
Rapidly prototype solutions
High developer velocity
Build trust in the technology
Automate delivery pipeline
Monitor operational excellence
Consistent delivery
02. Design
GitOps
Process
GitOps
Process
13
+ Multi tenancy allowed many
teams to co-exist in the same
cluster
+ Tenants have segregated
namespaces with RBAC
+ Separate Git repos per tenant
+ Easily automated for onboarding
Multi tenancy using namespaced deployments
02. Design
Tenant A
Kafka
Tenant B
Kafka
Tenant C
Kafka
Flux System
Flux
03
The Solutions
Kubernetes Native CRDs for Confluent services
15
03. Solutions
{ } { }
zookeeper.yaml
{ }
schemaregistry
.yaml
{ }
controlcenter
.yaml
K8s Resource
{ }
connect.yaml
● Affinity
● Annotations
● Labels
● Environment Variables
● Tolerations
{ }
Enables
Integrates with Kubernetes
ecosystem
Configuration Overrides
● Server properties
● JVM
● Log4j
Enables
Parity with all Confluent
Platform features
ksqldb.yaml
kafka.yaml
16
How CFK operator works
03. Solutions
Building a reactive platform to automatically
respond to tenant demands.
+ Deploy Confluent operator to handle
Kafka operations
+ Provides the ability to programmatically
deploy clusters
+ Well defined division of responsibilities
{ }
Tenant A
YAML
GitOps Pipeline
Confluent
Operator
Confluent CRDs
Watches
Create/update cluster
Tenant A Namespace
Zookeeper Cluster
pod pod pod
Kafka Cluster
pod pod pod pod
Create/Deploy Scale
17
Default configuration defined in base YAML
with variations defined per tenant.
+ Supports reuse of configuration via the
concept of layering
+ Centralled controlled by Kustomize
+ One-to-one mapping of each environment
Configuration management using kustomize.io
03. Solutions
{ } { }
{ }
{ }
Base YAML Tenant B
Tenant A
Tenant C
Tenant B
Namespace
Tenant A
Namespace
Tenant C
Namespace
Kustomize
Git
Tenant A
18
Manage Kafka infrastructure and deployments using GitOps
03. Solutions
The Kustomize and Source controller apply
configuration in a standardised way.
+ Git is the single source of truth
+ Automatic cluster reconciliation. e.g. Flux
+ Multiple clusters from a central repository
+ Operations are committed by pull requests
Core Platform
Kustomization
Security
Policy
Source
Controller
Kubernetes
API
Tenant A
Namespace
(Tenant A)
Confluent
Operator
Confluent
CRDs
Kafka
Cluster
Tenant B
Kustomize
Controller
Kafka Config
Change
Poll
Reconcile
Git
19
TF controller features
Multi-Tenancy
> Supports multi-tenancy by running Terraform plan and apply inside Runner Pods
GitOps Automation for Terraform
> Terraform object to perform plan, apply its associated Terraform resources. It then
stores the TFSTATE of the applied resources as a Secret
Drift detection
> The controller detects and fixes drift for your infrastructures, based on the
Terraform resources and their TFSTATE
Plan and Manual Approve
> Separate the plan, out of the apply step, just like the Terraform workflow
03. Solutions
04
Demo
Overview
21
04. Demo
1. Minikube overview
2. Deploy GitOps toolkit
3. Install the Confluent Operator (CFK)
4. Connect Source Controller to GitHub repo
5. Deploy production cluster
6. Deploy sandbox cluster
7. Deploy TF Controller
8. Run Terraform to provision Confluent Cloud
Thank You!
Contact me
sion@oso.sh
https://www.linkedin.com/in/sionsmith/

More Related Content

Similar to OSO Confluent GitOps Demo

Similar to OSO Confluent GitOps Demo (20)

Episode 1: Building Kubernetes-as-a-Service
Episode 1: Building Kubernetes-as-a-ServiceEpisode 1: Building Kubernetes-as-a-Service
Episode 1: Building Kubernetes-as-a-Service
 
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptxKubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
 
Fabio rapposelli pks-vmug
Fabio rapposelli   pks-vmugFabio rapposelli   pks-vmug
Fabio rapposelli pks-vmug
 
Running Kubernetes in Kubernetes
Running Kubernetes in KubernetesRunning Kubernetes in Kubernetes
Running Kubernetes in Kubernetes
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI Admin
 
DIMT 2023 SG - Hands-on Workshop_ Getting started with Confluent Cloud.pdf
DIMT 2023 SG - Hands-on Workshop_ Getting started with Confluent Cloud.pdfDIMT 2023 SG - Hands-on Workshop_ Getting started with Confluent Cloud.pdf
DIMT 2023 SG - Hands-on Workshop_ Getting started with Confluent Cloud.pdf
 
New Features in Confluent Platform 6.0 / Apache Kafka 2.6
New Features in Confluent Platform 6.0 / Apache Kafka 2.6New Features in Confluent Platform 6.0 / Apache Kafka 2.6
New Features in Confluent Platform 6.0 / Apache Kafka 2.6
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
 
OSDC 2017: Automating Kubernetes Cluster Operations with Operators by Timo De...
OSDC 2017: Automating Kubernetes Cluster Operations with Operators by Timo De...OSDC 2017: Automating Kubernetes Cluster Operations with Operators by Timo De...
OSDC 2017: Automating Kubernetes Cluster Operations with Operators by Timo De...
 
OSDC 2017 - Timo Derstappen - Automating kubernetes cluster operations with o...
OSDC 2017 - Timo Derstappen - Automating kubernetes cluster operations with o...OSDC 2017 - Timo Derstappen - Automating kubernetes cluster operations with o...
OSDC 2017 - Timo Derstappen - Automating kubernetes cluster operations with o...
 
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans JespersenBest Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Red Hat OpenShift & CoreOS by Ludovic Aelbrecht, Senior Solution Architect at...
Red Hat OpenShift & CoreOS by Ludovic Aelbrecht, Senior Solution Architect at...Red Hat OpenShift & CoreOS by Ludovic Aelbrecht, Senior Solution Architect at...
Red Hat OpenShift & CoreOS by Ludovic Aelbrecht, Senior Solution Architect at...
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)
 
Elastically Scaling Kafka Using Confluent
Elastically Scaling Kafka Using ConfluentElastically Scaling Kafka Using Confluent
Elastically Scaling Kafka Using Confluent
 
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
Pivotal Container Service (PKS) at SF Cloud Foundry MeetupPivotal Container Service (PKS) at SF Cloud Foundry Meetup
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
 
Move existing middleware to the cloud
Move existing middleware to the cloudMove existing middleware to the cloud
Move existing middleware to the cloud
 
Kubermatic.pdf
Kubermatic.pdfKubermatic.pdf
Kubermatic.pdf
 

Recently uploaded

JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
Max Lee
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Marc Lester
 

Recently uploaded (20)

Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
 
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...
 
What is an API Development- Definition, Types, Specifications, Documentation.pdf
What is an API Development- Definition, Types, Specifications, Documentation.pdfWhat is an API Development- Definition, Types, Specifications, Documentation.pdf
What is an API Development- Definition, Types, Specifications, Documentation.pdf
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 

OSO Confluent GitOps Demo

  • 1. Cloud Native Kafka Using Kubernetes Operators May 2022
  • 2. 02 The Design 03 The Solutions 01 The Vision 04 Demo Your trusted, strategic technology partner Helping companies adopt emerging technologies to keep competitive and drive business growth The art of the possible with kafka How can we structure the deliverables What tooling should we use where All singing and dancing kafka 2
  • 4. Siloed Kafka Development teams are responsible for building and running their own Kafka in siloes Standardised way of adopting Kafka throughout your organisation Confluent Cloud Pay-as-you consume, without infrastructure and operational complexities Where are you today? 4 Centralised Kafka 01. Vision Kafka as a Service (KaaS)
  • 5. Investment & Time Value 3 4 5 1 2 Product, Support, Training, Duel Delivery, Technical Account Management Experimentation / early interest Central Nervous System Mission critical, in production, but disparate lines of business (LOBs) Identify a project Mission-critical, connected LOBs Individual Use Case Individual Team Project Multi-Use Case Multi-Team Platform 5 01. Vision The journey of event streaming
  • 6. 6 Goals + Lower the barrier to entry + Build confidence in the value of event driven use cases + Share best practice across teams + Increase project success ■ Efficient, focused delivery squads working to achieve clear goals ■ Build confidence in the technology and delivery model ■ Low risk for new users of Kafka ■ Well defined operating model ■ Clear pathway to production Reusable enablers Kafka adoption → Siloed Kafka 01. Vision Increasing your Kafka adoption curve
  • 7. 7 01. Vision Adopting a central nervous system ... Device Logs ... ... ... Data Stores Logs 3rd Party Apps Custom Apps / Microservices Real-time Portfolio Real-time Fraud Detection Real-time Customer 360 Machine Learning Models Real-time Data Transformation ... Data in Motion Applications Universal Event Pipeline SaaS apps
  • 9. 02. Design Smart Analytics (AI/ML) Anomaly Detection Application Modernization Data Exchange IT Observability & SIEM Optimization Compliance & Regulations Microservice / Event Sourcing Streaming ETL Log Aggregation IoT / Edge Analytics Cyber Security DATA INFRASTRUCTURE USE CASES BUSINESS APPLICATION USE CASES Data Pipelines Hybrid & Multicloud Integration Customer 360 Mainframe Augmentation Data Warehouse Modernization Messaging Modernization Database Modernization Real-time Data beats Slow Data
  • 10. Introducing Confluent for Kubernetes Complete, declarative API to deploy and operate Confluent as a cloud-native system on Kubernetes 02. Design Confluent Platform Confluent for Kubernetes (CFK) Kubernetes Red Hat Local Raspberry Pi AWS Azure Docker Images GCP Standardised way of deploying components no matter the environment or underlying infrastructure. 10
  • 11. 11 Key benefits of CFK Operability > Everything is declared in YAML which removes ambiguity around Terraform controlling configuration Reliability > Operator pattern closes the gap between SRE and Kafka SME. Lower the barrier to entry with isolated deployments Maintainability > Operator pattern is designed to do the heavy lifting. Broker rebalancing, disk attachment and certificates management are built into CFK 02. Design
  • 12. Local Creating and validating Kafka configuration Sandbox Testing your automation and GitOps process Production Delivering KaaS in a controlled environment How to deliver configuration as code 12 Rapidly prototype solutions High developer velocity Build trust in the technology Automate delivery pipeline Monitor operational excellence Consistent delivery 02. Design GitOps Process GitOps Process
  • 13. 13 + Multi tenancy allowed many teams to co-exist in the same cluster + Tenants have segregated namespaces with RBAC + Separate Git repos per tenant + Easily automated for onboarding Multi tenancy using namespaced deployments 02. Design Tenant A Kafka Tenant B Kafka Tenant C Kafka Flux System Flux
  • 15. Kubernetes Native CRDs for Confluent services 15 03. Solutions { } { } zookeeper.yaml { } schemaregistry .yaml { } controlcenter .yaml K8s Resource { } connect.yaml ● Affinity ● Annotations ● Labels ● Environment Variables ● Tolerations { } Enables Integrates with Kubernetes ecosystem Configuration Overrides ● Server properties ● JVM ● Log4j Enables Parity with all Confluent Platform features ksqldb.yaml kafka.yaml
  • 16. 16 How CFK operator works 03. Solutions Building a reactive platform to automatically respond to tenant demands. + Deploy Confluent operator to handle Kafka operations + Provides the ability to programmatically deploy clusters + Well defined division of responsibilities { } Tenant A YAML GitOps Pipeline Confluent Operator Confluent CRDs Watches Create/update cluster Tenant A Namespace Zookeeper Cluster pod pod pod Kafka Cluster pod pod pod pod Create/Deploy Scale
  • 17. 17 Default configuration defined in base YAML with variations defined per tenant. + Supports reuse of configuration via the concept of layering + Centralled controlled by Kustomize + One-to-one mapping of each environment Configuration management using kustomize.io 03. Solutions { } { } { } { } Base YAML Tenant B Tenant A Tenant C Tenant B Namespace Tenant A Namespace Tenant C Namespace Kustomize Git
  • 18. Tenant A 18 Manage Kafka infrastructure and deployments using GitOps 03. Solutions The Kustomize and Source controller apply configuration in a standardised way. + Git is the single source of truth + Automatic cluster reconciliation. e.g. Flux + Multiple clusters from a central repository + Operations are committed by pull requests Core Platform Kustomization Security Policy Source Controller Kubernetes API Tenant A Namespace (Tenant A) Confluent Operator Confluent CRDs Kafka Cluster Tenant B Kustomize Controller Kafka Config Change Poll Reconcile Git
  • 19. 19 TF controller features Multi-Tenancy > Supports multi-tenancy by running Terraform plan and apply inside Runner Pods GitOps Automation for Terraform > Terraform object to perform plan, apply its associated Terraform resources. It then stores the TFSTATE of the applied resources as a Secret Drift detection > The controller detects and fixes drift for your infrastructures, based on the Terraform resources and their TFSTATE Plan and Manual Approve > Separate the plan, out of the apply step, just like the Terraform workflow 03. Solutions
  • 21. Overview 21 04. Demo 1. Minikube overview 2. Deploy GitOps toolkit 3. Install the Confluent Operator (CFK) 4. Connect Source Controller to GitHub repo 5. Deploy production cluster 6. Deploy sandbox cluster 7. Deploy TF Controller 8. Run Terraform to provision Confluent Cloud