SlideShare una empresa de Scribd logo
1 de 112
Descargar para leer sin conexión
Kubernetes + Operator + PaaSTA =
Flink@Yelp
Oct 9, 2019
Yelp’s Mission
Connecting
people with great
local businesses
What you’ll see
What you’ll see What Flink at Yelp looks like
What Yelp uses Flink for and what using Flink at Yelp
looks like
WHAT YOU’LL SEE
What you’ll see What Flink at Yelp looks like
What Yelp uses Flink for and what using Flink at Yelp
looks like
How Kubernetes can power Flink
How Kubernetes and Operators can be used to power
Flink clusters deployment and operations
WHAT YOU’LL SEE
What you’ll see What Flink at Yelp looks like
What Yelp uses Flink for and what using Flink at Yelp
looks like
How Kubernetes can power Flink
Why platform integration matters
How Kubernetes and Operators can be used to power
Flink clusters deployment and operations
Why integrating Flink with Yelp’s platform as a service
(PaaSTA) is the key to unlock value for the users
WHAT YOU’LL SEE
Flink@Yelp
FLINK@YELP
Powering Data Enrichment and Transformation as a Service
StreamSQL manipulations and multi-stream
unwindowed joins as a service
FLINK@YELP
Powering Data Enrichment and Transformation as a Service
StreamSQL manipulations and multi-stream
unwindowed joins as a service
Real-time Notifications
Customized push notification to suggest relevant
businesses nearby
FLINK@YELP
Powering Data Enrichment and Transformation as a Service
StreamSQL manipulations and multi-stream
unwindowed joins as a service
Real-time Notifications
User Activity Sessions
Customized push notification to suggest relevant
businesses nearby
Multi-platform user activity sessions out of event logs
FLINK@YELP
Powering
Connectors
FLINK@YELP
Powering
Connectors
FLINK@YELP
Powering
Connectors
FLINK@YELP
Powering
Connectors
FLINK@YELP
Powering
Connectors
FLINK@YELP
Powering
Connectors
FLINK@YELP
The scale ~10 apps
FLINK@YELP
The scale ~10 apps
~50 clusters
FLINK@YELP
~1000 jobs
The scale ~10 apps
~50 clusters
The Status Quo
THE STATUS QUO
Flink on
AWS EMR
THE STATUS QUO
Meh. Both complex and slow
Running a dockerized Puppet monolith, 15 minutes
boot time and depending on AWS for Flink updates
THE STATUS QUO
Meh. Both complex and slow
Running a dockerized Puppet monolith, 15 minutes
boot time and depending on AWS for Flink updates
Still pretty manual
Each cluster needs trained operators to manually
deploy new versions or scale up resources
THE STATUS QUO
Meh. Both complex and slow
Running a dockerized Puppet monolith, 15 minutes
boot time and depending on AWS for Flink updates
Still pretty manual
Just different
Each cluster needs trained operators to manually
deploy new versions or scale up resources
Different UX and infrastructure from the rest of Yelp led
to high barrier to entry and knowledge impedance
Meet
Kubernetes
MEET KUBERNETES
Hello, I’m... an open-source system for automating deployment, scaling, and
management of containerized applications.
(The Internet)
MEET KUBERNETES
I like... Horizontal scaling
Scale applications up and down with a simple
command or automatically based on CPU usage
MEET KUBERNETES
I like... Horizontal scaling
Scale applications up and down with a simple
command or automatically based on CPU usage
Self-healing systems
Restart containers that fails, reschedule them when
nodes die, support user-defined health-checks
MEET KUBERNETES
I like... Horizontal scaling
Scale applications up and down with a simple
command or automatically based on CPU usage
Self-healing systems
Powerful primitives
Restart containers that fails, reschedule them when
nodes die, support user-defined health-checks
Pods, ReplicaSets, Services, Jobs and friends can be
used to model complex applications and workflows
MEET KUBERNETES
My hobbies are... Automatic bin packing
Place containers based on their requirements and
constraints, to drive up utilization and save resources
MEET KUBERNETES
My hobbies are... Automatic bin packing
Place containers based on their requirements and
constraints, to drive up utilization and save resources
Service discovery and load balancing
Give pods their own IP and a single DNS name for a set
of Pods and can load-balance across them
MEET KUBERNETES
My hobbies are... Automatic bin packing
Place containers based on their requirements and
constraints, to drive up utilization and save resources
Service discovery and load balancing
Storage orchestration
Give pods their own IP and a single DNS name for a set
of Pods and can load-balance across them
Automatically mount the storage system of your choice
and maintain state across application restarts
Assembling
Flink
Clusters
ASSEMBLING FLINK CLUSTERS
Job Manager is a Deployment of a Pod
Job Manager
Pod
Co-located group of containers with shared storage,
network and a spec for how to run the containers
is a Deployment of a Pod
ASSEMBLING FLINK CLUSTERS
Job Manager
Pod
Co-located group of containers with shared storage,
network and a spec for how to run the containers
is a Deployment of a Pod
Deployments
Provides declarative updates for Pods and ReplicaSets
to automate containers deployments and rollbacks
ASSEMBLING FLINK CLUSTERS
ASSEMBLING FLINK CLUSTERS
Task Managers are a Deployment of a ReplicaSet
Task Managers are a Deployment of a ReplicaSet
ReplicaSets
Maintain a stable set of identical Pods running at any
given time
ASSEMBLING FLINK CLUSTERS
Static IPs or DNS are replaced by a Service and a Proxy
ASSEMBLING FLINK CLUSTERS
Static IPs or DNS
Service
Exposes an application running on a set of Pods as a
network service regardless of their ephemeral IPs
are replaced by a Service and a Proxy
ASSEMBLING FLINK CLUSTERS
Static IPs or DNS
Service
Exposes an application running on a set of Pods as a
network service regardless of their ephemeral IPs
are replaced by a Service and a Proxy
Kube-proxy
Network proxy running on each node reflecting
Services and doing port-forwarding and round-robin
ASSEMBLING FLINK CLUSTERS
Flink jobs are deployed by the Supervisor
ASSEMBLING FLINK CLUSTERS
Flink jobs
Flink Supervisor
Yelp’s in-house daemon responsible of deployment,
state management and monitoring of Flink jobs on EMR
are deployed by Supervisor
ASSEMBLING FLINK CLUSTERS
Cluster shutdown is signaled via a Job
ASSEMBLING FLINK CLUSTERS
Cluster shutdown
Jobs
Create Pods and ensure that a specified number of
them successfully terminate.
is signaled via a Job
ASSEMBLING FLINK CLUSTERS
Kubernetes
Operators
software extensions to Kubernetes that make use of custom
resources to manage applications and their components.
(The Internet)
Operators are...
KUBERNETES OPERATORS
Human VS K8s
manages a service or a
set of services
KUBERNETES OPERATORS
manages a service or a
set of services
Kubernetes OperatorHuman Operator
Human VS K8s
manages a service or a
set of services
KUBERNETES OPERATORS
manages a service or a
set of services
Kubernetes OperatorHuman Operator
has deep knowledge of
how the system is
expected to behave
has deep knowledge of
how the system is
expected to behave
Human VS K8s
manages a service or a
set of services
KUBERNETES OPERATORS
manages a service or a
set of services
Kubernetes OperatorHuman Operator
has deep knowledge of
how the system is
expected to behave
knows how to deploy it
has deep knowledge of
how the system is
expected to behave
knows how to deploy it
Human VS K8s
manages a service or a
set of services
KUBERNETES OPERATORS
manages a service or a
set of services
Kubernetes OperatorHuman Operator
has deep knowledge of
how the system is
expected to behave
knows how to deploy it
knows how to react if
there are problems
has deep knowledge of
how the system is
expected to behave
knows how to deploy it
knows how to react if
there are problems
Human VS K8s
manages a service or a
set of services
KUBERNETES OPERATORS
manages a service or a
set of services
Kubernetes OperatorHuman Operator
has deep knowledge of
how the system is
expected to behave
knows how to deploy it
knows how to react if
there are problems
automates repetitive
tasks
has deep knowledge of
how the system is
expected to behave
knows how to deploy it
knows how to react if
there are problems
uses automation for
repetitive tasks
Human VS K8s
manages a service or a
set of services
KUBERNETES OPERATORS
manages a service or a
set of services
Kubernetes OperatorHuman Operator
has deep knowledge of
how the system is
expected to behave
knows how to deploy it
knows how to react if
there are problems
automates repetitive
tasks
has deep knowledge of
how the system is
expected to behave
knows how to deploy it
knows how to react if
there are problems
uses automation for
repetitive tasks
can only manage a
limited number of
instances
can manage a very
high number of
instances
Flink Custom
Resource
Declarative model
Model the configuration and the deployment of a Flink
cluster
KUBERNETES OPERATORS
Flink Custom
Resource
Declarative model
Model the configuration and the deployment of a Flink
cluster
State representation
Used by the operator to keep track of the state of any
Flink cluster
KUBERNETES OPERATORS
Flink Custom
Resource
Declarative model
Model the configuration and the deployment of a Flink
cluster
State representation
Labels and Annotations
Used by the operator to keep track of the state of any
Flink cluster
Used for selecting the components to update or to signal
that the user requested a shutdown
KUBERNETES OPERATORS
Flink Dashboard is accessible via an Ingress rule
ASSEMBLING FLINK CLUSTERS
Flink Dashboard
Ingress
Exposes HTTP and HTTPS routes from outside the
cluster to services within the cluster
is accessible via an Ingress rule
ASSEMBLING FLINK CLUSTERS
Flink Dashboard
Ingress
Exposes HTTP and HTTPS routes from outside the
cluster to services within the cluster
is accessible via an Ingress rule
ASSEMBLING FLINK CLUSTERS
Ingress Controller
Ingresses and ingress rules are managed by their own
“operator”
Yelp PaaSTA
YELP PAASTA
PaaSTA is...
a highly-available, distributed system for building, deploying, and
running services using containers and Apache Mesos.
(Yelp)
YELP PAASTA
PaaSTA is...
a highly-available, distributed system for building, deploying, and
running services using containers and Apache Mesos Kubernetes.
(Yelp)
YELP PAASTA
Why integrating? Consistent interface
Every PaaSTA user knows how to interact with any
service regardless of its nature
YELP PAASTA
Why integrating? Consistent interface
Every PaaSTA user knows how to interact with any
service regardless of its nature
Infrastructure as a Service
Whether it is a Web server, a Cassandra cluster or a
Flink job, to the user everything is a service
YELP PAASTA
Why integrating? Consistent interface
Every PaaSTA user knows how to interact with any
service regardless of its nature
Infrastructure as a Service
Platform engineers are users too
Whether it is a Web server, a Cassandra cluster or a
Flink job, to the user everything is a service
Shared infrastructure and tools are exposed as
services, libraries and CLIs to platform developers
main:
job_type: stateful
checkpoint_interval_ms : 30000
deploy_group: prod
taskmanager:
cpus: 2.0
mem: 10G
instances: 3
checkpoint_path : s3://flink-state/service/main/checkpoints
savepoint_path : s3://flink-state/service/main/savepoints
flink_conf:
taskmanager.network.detailed-metrics : "true"
env.java.opts.taskmanager : "-XX:+UseConcMarkSweepGC"
main:
job_type: stateful
checkpoint_interval_ms : 30000
deploy_group: prod
taskmanager:
cpus: 2.0
mem: 10G
instances: 3
checkpoint_path : s3://flink-state/service/main/checkpoints
savepoint_path : s3://flink-state/service/main/savepoints
flink_conf:
taskmanager.network.detailed-metrics : "true"
env.java.opts.taskmanager : "-XX:+UseConcMarkSweepGC"
Custom
Resource
Definition
YELP PAASTA
User Interaction Check status
paasta status -s service -i instance -r region
paasta logs -s service -i instance -n 100
YELP PAASTA
User Interaction Check status
paasta status -s service -i instance -r region
Read logs
paasta logs -s service -i instance -n 100
YELP PAASTA
User Interaction Check status
paasta status -s service -i instance -r region
Read logs
Deploy a new version
Different UX and infrastructure from the rest of Yelp led
to high barrier to entry and knowledge impedance
git commit && git push origin master
The Future
THE FUTURE
Python
on Beam
on Flink
on Kubernetes
THE FUTURE
Pipeline
Builder
THE FUTURE
Pipeline
Builder
THE FUTURE
Pipeline
Builder
THE FUTURE
Pipeline
Builder
THE FUTURE
Pipeline
Builder
THE FUTURE
Pipeline
Builder
What’s next Job Oriented Deployment
More isolation, faster restarts and simpler deployment
by running a single job per Flink cluster
THE FUTURE
What’s next Job Oriented Deployment
More isolation, faster restarts and simpler deployment
by running a single job per Flink cluster
Reactive Container Mode and Autoscaling
Flink will automatically react to new resources available
in K8s by rescaling the job (FLINK-10407)
THE FUTURE
What’s next Job Oriented Deployment
More isolation, faster restarts and simpler deployment
by running a single job per Flink cluster
Reactive Container Mode and Autoscaling
Thinner Supervisor
Flink will automatically react to new resources available
in K8s by rescaling the job (FLINK-10407)
Move savepoints, jobs lifecycle and configuration
management from the Supervisor to the Operator
THE FUTURE
Should I do it?
Let’s do it!
SHOULD I DO IT?
O(1) people for O(N) clusters
A K8s operator allows you to scale up your number of
Flink clusters without adding more human operators
Let’s do it! O(1) people for O(N) clusters
A K8s operator allows you to scale up your number of
Flink clusters without adding more human operators
Operators to codify knowledge
Codifying operational knowledge is easier than passing
it all down to new hires
SHOULD I DO IT?
Let’s do it! O(1) people for O(N) clusters
A K8s operator allows you to scale up your number of
Flink clusters without adding more human operators
Operators to codify knowledge
A catalyst for users
Codifying operational knowledge is easier than passing
it all down to new hires
Once integrated with your platform, users don’t have to
learn how to deploy or configure a Flink job anymore
SHOULD I DO IT?
Or maybe not The Kubernetes Tax
Embedding Kubernetes into your platform requires a
pretty solid effort, if you haven’t done it yet
SHOULD I DO IT?
Or maybe not The Kubernetes Tax
Embedding Kubernetes into your platform requires a
pretty solid effort, if you haven’t done it yet
(Build ∨ Buy) → Time
It takes some time to write your own operator or to fit
an existing one into your platform
SHOULD I DO IT?
Or maybe not The Kubernetes Tax
Embedding Kubernetes into your platform requires a
pretty solid effort, if you haven’t done it yet
(Build ∨ Buy) → Time
It takes some time to write your own operator or to fit
an existing one into your platform
SHOULD I DO IT?
There is always the cloud
Cloud providers are starting to offer managed platforms
based on Kubernetes operators
www.yelp.com/careers/
We're Hiring!
@YelpEngineering
fb.com/YelpEngineers
engineeringblog.yelp.com
github.com/yelp
Questions/Suggestions?
antonio@yelp.com
Thank you.

Más contenido relacionado

La actualidad más candente

Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianVirtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianFlink Forward
 
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Till Rohrmann
 
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...Flink Forward
 
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuVirtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuFlink Forward
 
Flink Connector Development Tips & Tricks
Flink Connector Development Tips & TricksFlink Connector Development Tips & Tricks
Flink Connector Development Tips & TricksEron Wright
 
Flink Forward San Francisco 2018: Gregory Fee - "Bootstrapping State In Apach...
Flink Forward San Francisco 2018: Gregory Fee - "Bootstrapping State In Apach...Flink Forward San Francisco 2018: Gregory Fee - "Bootstrapping State In Apach...
Flink Forward San Francisco 2018: Gregory Fee - "Bootstrapping State In Apach...Flink Forward
 
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...Flink Forward
 
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4Flink Forward
 
Flink Forward San Francisco 2018: Jörg Schad and Biswajit Das - "Operating Fl...
Flink Forward San Francisco 2018: Jörg Schad and Biswajit Das - "Operating Fl...Flink Forward San Francisco 2018: Jörg Schad and Biswajit Das - "Operating Fl...
Flink Forward San Francisco 2018: Jörg Schad and Biswajit Das - "Operating Fl...Flink Forward
 
Keynote: Building and Operating A Serverless Streaming Runtime for Apache Bea...
Keynote: Building and Operating A Serverless Streaming Runtime for Apache Bea...Keynote: Building and Operating A Serverless Streaming Runtime for Apache Bea...
Keynote: Building and Operating A Serverless Streaming Runtime for Apache Bea...Flink Forward
 
Flink Forward Berlin 2017: Piotr Wawrzyniak - Extending Apache Flink stream p...
Flink Forward Berlin 2017: Piotr Wawrzyniak - Extending Apache Flink stream p...Flink Forward Berlin 2017: Piotr Wawrzyniak - Extending Apache Flink stream p...
Flink Forward Berlin 2017: Piotr Wawrzyniak - Extending Apache Flink stream p...Flink Forward
 
Streaming your Lyft Ride Prices - Flink Forward SF 2019
Streaming your Lyft Ride Prices - Flink Forward SF 2019Streaming your Lyft Ride Prices - Flink Forward SF 2019
Streaming your Lyft Ride Prices - Flink Forward SF 2019Thomas Weise
 
Flink Forward San Francisco 2018 keynote: Srikanth Satya - "Stream Processin...
Flink Forward San Francisco 2018 keynote:  Srikanth Satya - "Stream Processin...Flink Forward San Francisco 2018 keynote:  Srikanth Satya - "Stream Processin...
Flink Forward San Francisco 2018 keynote: Srikanth Satya - "Stream Processin...Flink Forward
 
Flink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Flink Forward Berlin 2017: Patrick Lucas - Flink in ContainerlandFlink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Flink Forward Berlin 2017: Patrick Lucas - Flink in ContainerlandFlink Forward
 
Virtual Flink Forward 2020: Implement Reliable, Isolated & Unified Job Submis...
Virtual Flink Forward 2020: Implement Reliable, Isolated & Unified Job Submis...Virtual Flink Forward 2020: Implement Reliable, Isolated & Unified Job Submis...
Virtual Flink Forward 2020: Implement Reliable, Isolated & Unified Job Submis...Flink Forward
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward
 
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...Flink Forward
 
data Artisans Product Announcement
data Artisans Product Announcementdata Artisans Product Announcement
data Artisans Product AnnouncementFlink Forward
 

La actualidad más candente (19)

Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianVirtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
 
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
 
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
 
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuVirtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
 
Flink Connector Development Tips & Tricks
Flink Connector Development Tips & TricksFlink Connector Development Tips & Tricks
Flink Connector Development Tips & Tricks
 
Flink Forward San Francisco 2018: Gregory Fee - "Bootstrapping State In Apach...
Flink Forward San Francisco 2018: Gregory Fee - "Bootstrapping State In Apach...Flink Forward San Francisco 2018: Gregory Fee - "Bootstrapping State In Apach...
Flink Forward San Francisco 2018: Gregory Fee - "Bootstrapping State In Apach...
 
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...
 
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
 
Flink Forward San Francisco 2018: Jörg Schad and Biswajit Das - "Operating Fl...
Flink Forward San Francisco 2018: Jörg Schad and Biswajit Das - "Operating Fl...Flink Forward San Francisco 2018: Jörg Schad and Biswajit Das - "Operating Fl...
Flink Forward San Francisco 2018: Jörg Schad and Biswajit Das - "Operating Fl...
 
Keynote: Building and Operating A Serverless Streaming Runtime for Apache Bea...
Keynote: Building and Operating A Serverless Streaming Runtime for Apache Bea...Keynote: Building and Operating A Serverless Streaming Runtime for Apache Bea...
Keynote: Building and Operating A Serverless Streaming Runtime for Apache Bea...
 
Flink Forward Berlin 2017: Piotr Wawrzyniak - Extending Apache Flink stream p...
Flink Forward Berlin 2017: Piotr Wawrzyniak - Extending Apache Flink stream p...Flink Forward Berlin 2017: Piotr Wawrzyniak - Extending Apache Flink stream p...
Flink Forward Berlin 2017: Piotr Wawrzyniak - Extending Apache Flink stream p...
 
Streaming your Lyft Ride Prices - Flink Forward SF 2019
Streaming your Lyft Ride Prices - Flink Forward SF 2019Streaming your Lyft Ride Prices - Flink Forward SF 2019
Streaming your Lyft Ride Prices - Flink Forward SF 2019
 
Flink Forward San Francisco 2018 keynote: Srikanth Satya - "Stream Processin...
Flink Forward San Francisco 2018 keynote:  Srikanth Satya - "Stream Processin...Flink Forward San Francisco 2018 keynote:  Srikanth Satya - "Stream Processin...
Flink Forward San Francisco 2018 keynote: Srikanth Satya - "Stream Processin...
 
Flink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Flink Forward Berlin 2017: Patrick Lucas - Flink in ContainerlandFlink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Flink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
 
Virtual Flink Forward 2020: Implement Reliable, Isolated & Unified Job Submis...
Virtual Flink Forward 2020: Implement Reliable, Isolated & Unified Job Submis...Virtual Flink Forward 2020: Implement Reliable, Isolated & Unified Job Submis...
Virtual Flink Forward 2020: Implement Reliable, Isolated & Unified Job Submis...
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
 
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
 
dA Platform Overview
dA Platform OverviewdA Platform Overview
dA Platform Overview
 
data Artisans Product Announcement
data Artisans Product Announcementdata Artisans Product Announcement
data Artisans Product Announcement
 

Similar a Kubernetes + Operator + PaaSTA = Flink @ Yelp - Antonio Verardi, Yelp

Jenkins_K8s (2).pptx
Jenkins_K8s (2).pptxJenkins_K8s (2).pptx
Jenkins_K8s (2).pptxkhalil Ismail
 
prodops.io k8s presentation
prodops.io k8s presentationprodops.io k8s presentation
prodops.io k8s presentationProdops.io
 
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...Jitendra Bafna
 
Kubernetes Kops - Automation Night
Kubernetes Kops - Automation NightKubernetes Kops - Automation Night
Kubernetes Kops - Automation NightKasper Nissen
 
Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Harshal Shah
 
Ansible vs Kubernetes.pdf
Ansible vs Kubernetes.pdfAnsible vs Kubernetes.pdf
Ansible vs Kubernetes.pdfVishnuGone
 
A GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKSA GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKSWeaveworks
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic
 
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingFederated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingBob Killen
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesVishal Biyani
 
Using kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containersUsing kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containersjosfuecas
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB
 
Advanced Container Management and Scheduling
Advanced Container Management and SchedulingAdvanced Container Management and Scheduling
Advanced Container Management and SchedulingAmazon Web Services
 
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...ShapeBlue
 
KubernetesPPT.pptx
KubernetesPPT.pptxKubernetesPPT.pptx
KubernetesPPT.pptxRyuzaki360
 
kubernetesforbeginners.pptx
kubernetesforbeginners.pptxkubernetesforbeginners.pptx
kubernetesforbeginners.pptxBaskarKannanK
 
Deploying your first application with Kubernetes
Deploying your first application with KubernetesDeploying your first application with Kubernetes
Deploying your first application with KubernetesOVHcloud
 

Similar a Kubernetes + Operator + PaaSTA = Flink @ Yelp - Antonio Verardi, Yelp (20)

Jenkins_K8s (2).pptx
Jenkins_K8s (2).pptxJenkins_K8s (2).pptx
Jenkins_K8s (2).pptx
 
prodops.io k8s presentation
prodops.io k8s presentationprodops.io k8s presentation
prodops.io k8s presentation
 
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
 
Intro to Kubernetes
Intro to KubernetesIntro to Kubernetes
Intro to Kubernetes
 
Kubernetes Kops - Automation Night
Kubernetes Kops - Automation NightKubernetes Kops - Automation Night
Kubernetes Kops - Automation Night
 
Advanced Container Scheduling
Advanced Container SchedulingAdvanced Container Scheduling
Advanced Container Scheduling
 
Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6
 
Ansible vs Kubernetes.pdf
Ansible vs Kubernetes.pdfAnsible vs Kubernetes.pdf
Ansible vs Kubernetes.pdf
 
A GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKSA GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKS
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingFederated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific Computing
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Using kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containersUsing kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containers
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James Broadhead
 
Advanced Container Management and Scheduling
Advanced Container Management and SchedulingAdvanced Container Management and Scheduling
Advanced Container Management and Scheduling
 
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
 
KubernetesPPT.pptx
KubernetesPPT.pptxKubernetesPPT.pptx
KubernetesPPT.pptx
 
kubernetesforbeginners.pptx
kubernetesforbeginners.pptxkubernetesforbeginners.pptx
kubernetesforbeginners.pptx
 
Deploying your first application with Kubernetes
Deploying your first application with KubernetesDeploying your first application with Kubernetes
Deploying your first application with Kubernetes
 

Más de Flink Forward

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Flink Forward
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkFlink Forward
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...Flink Forward
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Flink Forward
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorFlink Forward
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeFlink Forward
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Flink Forward
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkFlink Forward
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxFlink Forward
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink Forward
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraFlink Forward
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkFlink Forward
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentFlink Forward
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022Flink Forward
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink Forward
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsFlink Forward
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotFlink Forward
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesFlink Forward
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Flink Forward
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergFlink Forward
 

Más de Flink Forward (20)

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive Mode
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptx
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 

Último

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Kubernetes + Operator + PaaSTA = Flink @ Yelp - Antonio Verardi, Yelp

  • 1. Kubernetes + Operator + PaaSTA = Flink@Yelp Oct 9, 2019
  • 4. What you’ll see What Flink at Yelp looks like What Yelp uses Flink for and what using Flink at Yelp looks like WHAT YOU’LL SEE
  • 5. What you’ll see What Flink at Yelp looks like What Yelp uses Flink for and what using Flink at Yelp looks like How Kubernetes can power Flink How Kubernetes and Operators can be used to power Flink clusters deployment and operations WHAT YOU’LL SEE
  • 6. What you’ll see What Flink at Yelp looks like What Yelp uses Flink for and what using Flink at Yelp looks like How Kubernetes can power Flink Why platform integration matters How Kubernetes and Operators can be used to power Flink clusters deployment and operations Why integrating Flink with Yelp’s platform as a service (PaaSTA) is the key to unlock value for the users WHAT YOU’LL SEE
  • 8. FLINK@YELP Powering Data Enrichment and Transformation as a Service StreamSQL manipulations and multi-stream unwindowed joins as a service
  • 9. FLINK@YELP Powering Data Enrichment and Transformation as a Service StreamSQL manipulations and multi-stream unwindowed joins as a service Real-time Notifications Customized push notification to suggest relevant businesses nearby
  • 10. FLINK@YELP Powering Data Enrichment and Transformation as a Service StreamSQL manipulations and multi-stream unwindowed joins as a service Real-time Notifications User Activity Sessions Customized push notification to suggest relevant businesses nearby Multi-platform user activity sessions out of event logs
  • 18. FLINK@YELP The scale ~10 apps ~50 clusters
  • 19. FLINK@YELP ~1000 jobs The scale ~10 apps ~50 clusters
  • 21. THE STATUS QUO Flink on AWS EMR
  • 22. THE STATUS QUO Meh. Both complex and slow Running a dockerized Puppet monolith, 15 minutes boot time and depending on AWS for Flink updates
  • 23. THE STATUS QUO Meh. Both complex and slow Running a dockerized Puppet monolith, 15 minutes boot time and depending on AWS for Flink updates Still pretty manual Each cluster needs trained operators to manually deploy new versions or scale up resources
  • 24. THE STATUS QUO Meh. Both complex and slow Running a dockerized Puppet monolith, 15 minutes boot time and depending on AWS for Flink updates Still pretty manual Just different Each cluster needs trained operators to manually deploy new versions or scale up resources Different UX and infrastructure from the rest of Yelp led to high barrier to entry and knowledge impedance
  • 26. MEET KUBERNETES Hello, I’m... an open-source system for automating deployment, scaling, and management of containerized applications. (The Internet)
  • 27. MEET KUBERNETES I like... Horizontal scaling Scale applications up and down with a simple command or automatically based on CPU usage
  • 28. MEET KUBERNETES I like... Horizontal scaling Scale applications up and down with a simple command or automatically based on CPU usage Self-healing systems Restart containers that fails, reschedule them when nodes die, support user-defined health-checks
  • 29. MEET KUBERNETES I like... Horizontal scaling Scale applications up and down with a simple command or automatically based on CPU usage Self-healing systems Powerful primitives Restart containers that fails, reschedule them when nodes die, support user-defined health-checks Pods, ReplicaSets, Services, Jobs and friends can be used to model complex applications and workflows
  • 30. MEET KUBERNETES My hobbies are... Automatic bin packing Place containers based on their requirements and constraints, to drive up utilization and save resources
  • 31. MEET KUBERNETES My hobbies are... Automatic bin packing Place containers based on their requirements and constraints, to drive up utilization and save resources Service discovery and load balancing Give pods their own IP and a single DNS name for a set of Pods and can load-balance across them
  • 32. MEET KUBERNETES My hobbies are... Automatic bin packing Place containers based on their requirements and constraints, to drive up utilization and save resources Service discovery and load balancing Storage orchestration Give pods their own IP and a single DNS name for a set of Pods and can load-balance across them Automatically mount the storage system of your choice and maintain state across application restarts
  • 34.
  • 35.
  • 36. ASSEMBLING FLINK CLUSTERS Job Manager is a Deployment of a Pod
  • 37. Job Manager Pod Co-located group of containers with shared storage, network and a spec for how to run the containers is a Deployment of a Pod ASSEMBLING FLINK CLUSTERS
  • 38. Job Manager Pod Co-located group of containers with shared storage, network and a spec for how to run the containers is a Deployment of a Pod Deployments Provides declarative updates for Pods and ReplicaSets to automate containers deployments and rollbacks ASSEMBLING FLINK CLUSTERS
  • 39.
  • 40. ASSEMBLING FLINK CLUSTERS Task Managers are a Deployment of a ReplicaSet
  • 41. Task Managers are a Deployment of a ReplicaSet ReplicaSets Maintain a stable set of identical Pods running at any given time ASSEMBLING FLINK CLUSTERS
  • 42.
  • 43. Static IPs or DNS are replaced by a Service and a Proxy ASSEMBLING FLINK CLUSTERS
  • 44. Static IPs or DNS Service Exposes an application running on a set of Pods as a network service regardless of their ephemeral IPs are replaced by a Service and a Proxy ASSEMBLING FLINK CLUSTERS
  • 45. Static IPs or DNS Service Exposes an application running on a set of Pods as a network service regardless of their ephemeral IPs are replaced by a Service and a Proxy Kube-proxy Network proxy running on each node reflecting Services and doing port-forwarding and round-robin ASSEMBLING FLINK CLUSTERS
  • 46.
  • 47. Flink jobs are deployed by the Supervisor ASSEMBLING FLINK CLUSTERS
  • 48. Flink jobs Flink Supervisor Yelp’s in-house daemon responsible of deployment, state management and monitoring of Flink jobs on EMR are deployed by Supervisor ASSEMBLING FLINK CLUSTERS
  • 49.
  • 50. Cluster shutdown is signaled via a Job ASSEMBLING FLINK CLUSTERS
  • 51. Cluster shutdown Jobs Create Pods and ensure that a specified number of them successfully terminate. is signaled via a Job ASSEMBLING FLINK CLUSTERS
  • 53. software extensions to Kubernetes that make use of custom resources to manage applications and their components. (The Internet) Operators are... KUBERNETES OPERATORS
  • 54.
  • 55.
  • 56. Human VS K8s manages a service or a set of services KUBERNETES OPERATORS manages a service or a set of services Kubernetes OperatorHuman Operator
  • 57. Human VS K8s manages a service or a set of services KUBERNETES OPERATORS manages a service or a set of services Kubernetes OperatorHuman Operator has deep knowledge of how the system is expected to behave has deep knowledge of how the system is expected to behave
  • 58. Human VS K8s manages a service or a set of services KUBERNETES OPERATORS manages a service or a set of services Kubernetes OperatorHuman Operator has deep knowledge of how the system is expected to behave knows how to deploy it has deep knowledge of how the system is expected to behave knows how to deploy it
  • 59. Human VS K8s manages a service or a set of services KUBERNETES OPERATORS manages a service or a set of services Kubernetes OperatorHuman Operator has deep knowledge of how the system is expected to behave knows how to deploy it knows how to react if there are problems has deep knowledge of how the system is expected to behave knows how to deploy it knows how to react if there are problems
  • 60. Human VS K8s manages a service or a set of services KUBERNETES OPERATORS manages a service or a set of services Kubernetes OperatorHuman Operator has deep knowledge of how the system is expected to behave knows how to deploy it knows how to react if there are problems automates repetitive tasks has deep knowledge of how the system is expected to behave knows how to deploy it knows how to react if there are problems uses automation for repetitive tasks
  • 61. Human VS K8s manages a service or a set of services KUBERNETES OPERATORS manages a service or a set of services Kubernetes OperatorHuman Operator has deep knowledge of how the system is expected to behave knows how to deploy it knows how to react if there are problems automates repetitive tasks has deep knowledge of how the system is expected to behave knows how to deploy it knows how to react if there are problems uses automation for repetitive tasks can only manage a limited number of instances can manage a very high number of instances
  • 62.
  • 63.
  • 64. Flink Custom Resource Declarative model Model the configuration and the deployment of a Flink cluster KUBERNETES OPERATORS
  • 65. Flink Custom Resource Declarative model Model the configuration and the deployment of a Flink cluster State representation Used by the operator to keep track of the state of any Flink cluster KUBERNETES OPERATORS
  • 66. Flink Custom Resource Declarative model Model the configuration and the deployment of a Flink cluster State representation Labels and Annotations Used by the operator to keep track of the state of any Flink cluster Used for selecting the components to update or to signal that the user requested a shutdown KUBERNETES OPERATORS
  • 67.
  • 68.
  • 69. Flink Dashboard is accessible via an Ingress rule ASSEMBLING FLINK CLUSTERS
  • 70. Flink Dashboard Ingress Exposes HTTP and HTTPS routes from outside the cluster to services within the cluster is accessible via an Ingress rule ASSEMBLING FLINK CLUSTERS
  • 71. Flink Dashboard Ingress Exposes HTTP and HTTPS routes from outside the cluster to services within the cluster is accessible via an Ingress rule ASSEMBLING FLINK CLUSTERS Ingress Controller Ingresses and ingress rules are managed by their own “operator”
  • 72.
  • 74. YELP PAASTA PaaSTA is... a highly-available, distributed system for building, deploying, and running services using containers and Apache Mesos. (Yelp)
  • 75. YELP PAASTA PaaSTA is... a highly-available, distributed system for building, deploying, and running services using containers and Apache Mesos Kubernetes. (Yelp)
  • 76. YELP PAASTA Why integrating? Consistent interface Every PaaSTA user knows how to interact with any service regardless of its nature
  • 77. YELP PAASTA Why integrating? Consistent interface Every PaaSTA user knows how to interact with any service regardless of its nature Infrastructure as a Service Whether it is a Web server, a Cassandra cluster or a Flink job, to the user everything is a service
  • 78. YELP PAASTA Why integrating? Consistent interface Every PaaSTA user knows how to interact with any service regardless of its nature Infrastructure as a Service Platform engineers are users too Whether it is a Web server, a Cassandra cluster or a Flink job, to the user everything is a service Shared infrastructure and tools are exposed as services, libraries and CLIs to platform developers
  • 79.
  • 80.
  • 81. main: job_type: stateful checkpoint_interval_ms : 30000 deploy_group: prod taskmanager: cpus: 2.0 mem: 10G instances: 3 checkpoint_path : s3://flink-state/service/main/checkpoints savepoint_path : s3://flink-state/service/main/savepoints flink_conf: taskmanager.network.detailed-metrics : "true" env.java.opts.taskmanager : "-XX:+UseConcMarkSweepGC"
  • 82. main: job_type: stateful checkpoint_interval_ms : 30000 deploy_group: prod taskmanager: cpus: 2.0 mem: 10G instances: 3 checkpoint_path : s3://flink-state/service/main/checkpoints savepoint_path : s3://flink-state/service/main/savepoints flink_conf: taskmanager.network.detailed-metrics : "true" env.java.opts.taskmanager : "-XX:+UseConcMarkSweepGC" Custom Resource Definition
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88. YELP PAASTA User Interaction Check status paasta status -s service -i instance -r region
  • 89. paasta logs -s service -i instance -n 100 YELP PAASTA User Interaction Check status paasta status -s service -i instance -r region Read logs
  • 90. paasta logs -s service -i instance -n 100 YELP PAASTA User Interaction Check status paasta status -s service -i instance -r region Read logs Deploy a new version Different UX and infrastructure from the rest of Yelp led to high barrier to entry and knowledge impedance git commit && git push origin master
  • 92. THE FUTURE Python on Beam on Flink on Kubernetes
  • 99. What’s next Job Oriented Deployment More isolation, faster restarts and simpler deployment by running a single job per Flink cluster THE FUTURE
  • 100. What’s next Job Oriented Deployment More isolation, faster restarts and simpler deployment by running a single job per Flink cluster Reactive Container Mode and Autoscaling Flink will automatically react to new resources available in K8s by rescaling the job (FLINK-10407) THE FUTURE
  • 101. What’s next Job Oriented Deployment More isolation, faster restarts and simpler deployment by running a single job per Flink cluster Reactive Container Mode and Autoscaling Thinner Supervisor Flink will automatically react to new resources available in K8s by rescaling the job (FLINK-10407) Move savepoints, jobs lifecycle and configuration management from the Supervisor to the Operator THE FUTURE
  • 102. Should I do it?
  • 103. Let’s do it! SHOULD I DO IT? O(1) people for O(N) clusters A K8s operator allows you to scale up your number of Flink clusters without adding more human operators
  • 104. Let’s do it! O(1) people for O(N) clusters A K8s operator allows you to scale up your number of Flink clusters without adding more human operators Operators to codify knowledge Codifying operational knowledge is easier than passing it all down to new hires SHOULD I DO IT?
  • 105. Let’s do it! O(1) people for O(N) clusters A K8s operator allows you to scale up your number of Flink clusters without adding more human operators Operators to codify knowledge A catalyst for users Codifying operational knowledge is easier than passing it all down to new hires Once integrated with your platform, users don’t have to learn how to deploy or configure a Flink job anymore SHOULD I DO IT?
  • 106. Or maybe not The Kubernetes Tax Embedding Kubernetes into your platform requires a pretty solid effort, if you haven’t done it yet SHOULD I DO IT?
  • 107. Or maybe not The Kubernetes Tax Embedding Kubernetes into your platform requires a pretty solid effort, if you haven’t done it yet (Build ∨ Buy) → Time It takes some time to write your own operator or to fit an existing one into your platform SHOULD I DO IT?
  • 108. Or maybe not The Kubernetes Tax Embedding Kubernetes into your platform requires a pretty solid effort, if you haven’t done it yet (Build ∨ Buy) → Time It takes some time to write your own operator or to fit an existing one into your platform SHOULD I DO IT? There is always the cloud Cloud providers are starting to offer managed platforms based on Kubernetes operators