SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
@Xebiconfr #Xebicon18 @LoicMDivad
Build the future
Scale in / scale out with Kafka-Streams and Kubernetes
Loïc DIVAD
Data Engineer @ Xebia France
@Xebiconfr #Xebicon18 @LoicMDivad2
APP
@Xebiconfr #Xebicon18 @LoicMDivad3
APP
APP
APP
@Xebiconfr #Xebicon18 @LoicMDivad4
APP
APP
APP
APP
APP
@Xebiconfr #Xebicon18 @LoicMDivad
Auto-scaling
applied to streaming apps
5
@Xebiconfr #Xebicon18 @LoicMDivad6
@Xebiconfr #Xebicon18 @LoicMDivad
Loïc DIVAD
Developer @XebiaFr
(also #Data Engineer, #Spark Trainer, @DataXDay #Organiser, #Writer@blog.xebia.fr, #DataLover )
@LoicMDivad
7
@Xebiconfr #Xebicon18 @LoicMDivad
Streaming Apps
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka clients and the consumer polling system
APP
9
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka clients and the consumer polling system
APP
10
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka clients and the consumer polling system
APP
11
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka clients and the consumer polling system
APP
12
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka clients and the consumer polling system
APP
13
@Xebiconfr #Xebicon18 @LoicMDivad
Streaming Apps
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka-Streams and the consumer protocol
topic-partition-0
topic-partition-1
topic-partition-2
topic-partition-N
APP
● Every topic in Kafka is split into one or more
partitions
● All the streaming tasks are executed through
one or multiple threads of the same instance
15
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka-Streams and the consumer protocol
topic-partition-0
topic-partition-1
topic-partition-2
topic-partition-N
APP
APP
● Consumers from the same consumer group
cooperate to consume data from topics.
● Every instance by joining the group triggers a
partition rebalance.
16
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka-Streams and the consumer protocol
topic-partition-0
topic-partition-1
topic-partition-2
topic-partition-N
APP
APP
APP
APP
● The maximum parallelism is determined by the
number of partitions of the input topic(s)
17
@Xebiconfr #Xebicon18 @LoicMDivad
Container Orchestration
@Xebiconfr #Xebicon18 @LoicMDivad
Container Orchestration: K8s or the state of the art
➔ Source: Kubernetes.io Documentation
19
@Xebiconfr #Xebicon18 @LoicMDivad
Container Orchestration
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
21
kind: Deployment # deployment.yaml
#...
template:
containers:
- name: streaming-app
# ...
- name: prometheus-to-sd
# ... adapter.yaml
- name: custom-metrics-sd-adapter
Your Streaming App
Prometheus to Stackdriver
https://gcr.io/google-containers/prometheus-to-sd
Metrics Server
https://gcr.io/google-containers/custom-metrics-stackdriver-adapter
JMX
metrics in a
Prometheus
format
Stackdriver
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
# jmx-exporter.conf
---
global:
scrape_interval: 1s
evaluation_interval: 1s
rules:
- pattern: "kafka.consumer<type=..., topic=GAME-FRAME-RS, partition=(.*)><>(.*):(.*)"
labels: { partition: $2, topic: GAME-FRAME-RS, metric: $3 }
name: "consumer_lag_game_frame_rs"
type: GAUGE
- pattern: "kafka.consumer<type=..., topic=GAME-FRAME-RQ, partition=(.*)><>(.*):(.*)"
labels: { partition: $2, topic: GAME-FRAME-RQ, metric: $3 }
name: "consumer_lag_game_frame_rq"
type: GAUGE
22
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
23
1
W ,
D f
lolo ➜ ./gradlew dockerPush
<=========----> 73% EXECUTING [2s]
> :docker …
BUILD SUCCESSFUL in 14s
10 actionable tasks: 5 executed, 5 up-to-date
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
lolo ➜ ./gradlew dockerPush
<=========----> 73% EXECUTING [2s]
> :docker …
BUILD SUCCESSFUL in 14s
10 actionable tasks: 5 executed, 5 up-to-date
lolo ➜ terraform apply
…
+ google_container_cluster.primary
24
2
E
!
U f
f … f
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
lolo ➜ ./gradlew dockerPush
<=========----> 73% EXECUTING [2s]
> :docker …
BUILD SUCCESSFUL in 14s
10 actionable tasks: 5 executed, 5 up-to-date
lolo ➜ terraform apply
…
+ google_container_cluster.primary
lolo ➜ kubectl create -f deployment.yaml
25
3
W
f , ,
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
lolo ➜ ./gradlew dockerPush
<=========----> 73% EXECUTING [2s]
> :docker …
BUILD SUCCESSFUL in 14s
10 actionable tasks: 5 executed, 5 up-to-date
lolo ➜ terraform apply
…
+ google_container_cluster.primary
lolo ➜ kubectl create -f deployment.yaml
lolo ➜ kubectl get pods
prometheus-to-sd kstreams-app
26
4
E !
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
lolo ➜ ./gradlew dockerPush
<=========----> 73% EXECUTING [2s]
> :docker …
BUILD SUCCESSFUL in 14s
10 actionable tasks: 5 executed, 5 up-to-date
lolo ➜ terraform apply
…
+ google_container_cluster.primary
lolo ➜ kubectl create -f deployment.yaml
lolo ➜ kubectl get pods
prometheus-to-sd kstreams-app
27
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
lolo ➜ ./gradlew dockerPush
<=========----> 73% EXECUTING [2s]
> :docker …
BUILD SUCCESSFUL in 14s
10 actionable tasks: 5 executed, 5 up-to-date
lolo ➜ terraform apply
…
+ google_container_cluster.primary
lolo ➜ kubectl create -f deployment.yaml
lolo ➜ kubectl get pods
prometheus-to-sd kstreams-app
28
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
lolo ➜ ./gradlew dockerPush
<=========----> 73% EXECUTING [2s]
> :docker …
BUILD SUCCESSFUL in 14s
10 actionable tasks: 5 executed, 5 up-to-date
lolo ➜ terraform apply
…
+ google_container_cluster.primary
lolo ➜ kubectl create -f deployment.yaml
lolo ➜ kubectl get pods
prometheus-to-sd kstreams-app
29
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Support for custom metrics
30
kind: Deployment # deployment.yaml
#...
template:
containers:
- name: streaming-app
# ...
- name: prometheus-to-sd
# ... adapter.yaml
- name: custom-metrics-sd-adapter
Your Streaming App
Prometheus to Stackdriver
https://gcr.io/google-containers/prometheus-to-sd
Metrics Server
https://gcr.io/google-containers/custom-metrics-stackdriver-adapter
Stackdriver
@Xebiconfr #Xebicon18 @LoicMDivad
Container Orchestration
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Horizontal Pod Autoscaler
➔ Source: Kubernetes.io Documentation
32
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Horizontal Pod Autoscaler
- Kubernetes Resource
- Periodically adjusts the number of replicas
- Base on CPU usage in autoscaling/v1
- Memory and custom metrics are covered by the
autoscaling/v2beta1
- Use the metrics.k8s.io API through a metric server
➔ Source: Kubernetes.io Documentation
33
@Xebiconfr #Xebicon18 @LoicMDivad
Scale In / scale out with kafka-streams and k8s
34
@Xebiconfr #Xebicon18 @LoicMDivad35
@Xebiconfr #Xebicon18 @LoicMDivad
Scale In / scale out with kafka-streams and k8s
36
@Xebiconfr #Xebicon18 @LoicMDivad
CONCLUSION
States migration, changelog compaction, topology
upgrades and k8s StateFull Sets adoption are the
next challenges to ease auto-scaling
BUILD THE FUTURE
1. Kafka-Streams exposes relevant metrics
related to stream processing
2. Consumer-lag is one of the key metrics to
monitor in real time application
3. The cloud native trends brings a set of
powerful tools on which the Kafka
community keep a close look
37
@Xebiconfr #Xebicon18 @LoicMDivad
MERCI
38
@Xebiconfr #Xebicon18 @LoicMDivad39
@Xebiconfr #Xebicon18 @LoicMDivad40
@Xebiconfr #Xebicon18 @LoicMDivad
ANNEXES
41
@Xebiconfr #Xebicon18 @LoicMDivad
The Horizontal Pod Autoscaler algorithm depends on the current metric value and replica number
desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]
➢ A ratio of two will double the number of intances within the respect of maxReplicas
➢ By using targetAverageValue, the metric is computed by taking the average of the given metric across all Pods
The number of replicas may fluctuating frequently due to the dynamic nature of the metrics, it’s called trashing
➢ --horizontal-pod-autoscaler-downscale-delay (default 5m0s)
➢ --horizontal-pod-autoscaler-upscale-delay (default 3m0s)
Note: Both Kafka-Streams topology modification and HPA makes rolling update imposible
HPA & thrashing: “Should I stay or should I Go?”
42
@Xebiconfr #Xebicon18 @LoicMDivad
Kafka-Streams & persistent storage: “Let’s talk about states baby”
43
Streaming apps
@Xebiconfr #Xebicon18 @LoicMDivad
K8s: Horizontal Pod Autoscaler
44
@Xebiconfr #Xebicon18 @LoicMDivad
now supports more than
45
https://www.confluent.io/blog/apache-kafka-supports-200k-partitions-per-cluster
200K partitions
@Xebiconfr #Xebicon18 @LoicMDivad
“Everything is awesome, when you're living in a THE CLOUD”
46
@Xebiconfr #Xebicon18 @LoicMDivad
Use Case - King Of Fighters: The combos sessionization
47
Streaming
App
Correlate
Flatten
Decode
Group
Produce Back
Key => {
"ts":1542609460412,
"machine":"903071",
"zone":"AU"
}
Value => {
"bytes":[
"c3ff8ab19d00d9e5",
"e3ff8c72b600d9e5"
]}
[{
"impact":0,
"key":"X",
"direction":"DOWN",
"type":"Missed",
"level":"Pro",
"game":"Neowave"
}, ...]
@Xebiconfr #Xebicon18 @LoicMDivad
Links and references
●
●
●
●
●
●
48
@Xebiconfr #Xebicon18 @LoicMDivad
With special thanks to:
49
@Xebiconfr #Xebicon18 @LoicMDivad
Auto-scaling
applied to streaming apps
50

Weitere ähnliche Inhalte

Was ist angesagt?

KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
Chris Fregly
 

Was ist angesagt? (20)

Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CD
 
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
 
Kafka on Kubernetes: Does it really have to be "The Hard Way"? (Viktor Gamov ...
Kafka on Kubernetes: Does it really have to be "The Hard Way"? (Viktor Gamov ...Kafka on Kubernetes: Does it really have to be "The Hard Way"? (Viktor Gamov ...
Kafka on Kubernetes: Does it really have to be "The Hard Way"? (Viktor Gamov ...
 
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
 
Webinar: Flink SQL in Action - Fabian Hueske
 Webinar: Flink SQL in Action - Fabian Hueske Webinar: Flink SQL in Action - Fabian Hueske
Webinar: Flink SQL in Action - Fabian Hueske
 
Do Flink on Web with FLOW
Do Flink on Web with FLOWDo Flink on Web with FLOW
Do Flink on Web with FLOW
 
Flink on Kubernetes operator
Flink on Kubernetes operatorFlink on Kubernetes operator
Flink on Kubernetes operator
 
Realizing the promise of portability with Apache Beam
Realizing the promise of portability with Apache BeamRealizing the promise of portability with Apache Beam
Realizing the promise of portability with Apache Beam
 
Live Event Debugging With ksqlDB at Reddit | Hannah Hagen and Paul Kiernan, R...
Live Event Debugging With ksqlDB at Reddit | Hannah Hagen and Paul Kiernan, R...Live Event Debugging With ksqlDB at Reddit | Hannah Hagen and Paul Kiernan, R...
Live Event Debugging With ksqlDB at Reddit | Hannah Hagen and Paul Kiernan, R...
 
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjp
 
Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018
 
Crossing the streams viktor gamov
Crossing the streams viktor gamovCrossing the streams viktor gamov
Crossing the streams viktor gamov
 
Developingapiplug insforcs-151112204727-lva1-app6891
Developingapiplug insforcs-151112204727-lva1-app6891Developingapiplug insforcs-151112204727-lva1-app6891
Developingapiplug insforcs-151112204727-lva1-app6891
 
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 
Event Data Processing with Streamlio
Event Data Processing with StreamlioEvent Data Processing with Streamlio
Event Data Processing with Streamlio
 
So You Want to Write a Connector?
So You Want to Write a Connector? So You Want to Write a Connector?
So You Want to Write a Connector?
 
Dapr logicapps
Dapr logicappsDapr logicapps
Dapr logicapps
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with Keptn
 
Flink Connector Development Tips & Tricks
Flink Connector Development Tips & TricksFlink Connector Development Tips & Tricks
Flink Connector Development Tips & Tricks
 

Ähnlich wie XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams

Ähnlich wie XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams (20)

使用 Prometheus 監控 Kubernetes Cluster
使用 Prometheus 監控 Kubernetes Cluster 使用 Prometheus 監控 Kubernetes Cluster
使用 Prometheus 監控 Kubernetes Cluster
 
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + KubernetesMongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
 
MongoDB.local Austin 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local Austin 2018: MongoDB Ops Manager + KubernetesMongoDB.local Austin 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local Austin 2018: MongoDB Ops Manager + Kubernetes
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOps
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
A hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackA hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stack
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 
Kubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarKubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF Webinar
 
Kubermatic.pdf
Kubermatic.pdfKubermatic.pdf
Kubermatic.pdf
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdf
 
GitOps & the deployment branching models - DevOps D-day Marseille 2021
GitOps & the deployment branching models - DevOps D-day Marseille 2021GitOps & the deployment branching models - DevOps D-day Marseille 2021
GitOps & the deployment branching models - DevOps D-day Marseille 2021
 
Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ... Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 
Java EE & Glass Fish User Group: Digital JavaEE 7 - New and Noteworthy
Java EE & Glass Fish User Group: Digital JavaEE 7 - New and NoteworthyJava EE & Glass Fish User Group: Digital JavaEE 7 - New and Noteworthy
Java EE & Glass Fish User Group: Digital JavaEE 7 - New and Noteworthy
 
JavaEE & GlassFish UG - Digital JavaEE 7 New & Noteworthy by P.Pilgrim
JavaEE & GlassFish UG - Digital JavaEE 7 New & Noteworthy by P.PilgrimJavaEE & GlassFish UG - Digital JavaEE 7 New & Noteworthy by P.Pilgrim
JavaEE & GlassFish UG - Digital JavaEE 7 New & Noteworthy by P.Pilgrim
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 

Mehr von Publicis Sapient Engineering

Mehr von Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 

Kürzlich hochgeladen

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
Safe Software
 

Kürzlich hochgeladen (20)

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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
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, ...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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?
 
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
 
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...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams