SlideShare a Scribd company logo
1 of 32
@nicolas_frankel
With Kubernetes, Flyway and Spring Boot
Zero-downtime Deployment
@nicolas_frankel
• Developer, team lead, architect,
whatever it takes
• Recently Developer Advocate
• Interested in DevOps
• Curious about Kubernetes
Me, myself and I
@nicolas_frankel
Hazelcast
HAZELCAST IMDG is an operational,
in-memory, distributed computing
platform that manages data using
in-memory storage, and performs
parallel execution for breakthrough
application speed and scale.
HAZELCAST JET is the ultra fast,
application embeddable, 3rd
generation stream processing
engine for low latency batch
and stream processing.
@nicolas_frankel
1. Engineers want it
• It’s ”cool”
2. Users want it
• It’s expected
3. Business want it
• It’s revenue
Why zero-downtime?
@nicolas_frankel
Blue-Green deployment
@nicolas_frankel
Blue-Green deployment
@nicolas_frankel
Blue-Green deployment variant
@nicolas_frankel
• Routing latency
• “Lagging” users
• Database management
• Migration
• Or compatibility
Issues with Blue-Green deployment
@nicolas_frankel
1.0 1.01.02.0 2.0 2.0
Rolling updates principle
@nicolas_frankel
Kubernetes to the rescue!
apiVersion: apps/v1
kind: Deployment
spec:
replicas: 3
strategy:
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
type: RollingUpdate
@nicolas_frankel
• maxSurge:
• Number of extra pods
• maxUnavalaible:
• Number of down pods allowed
Rolling update options
@nicolas_frankel
@nicolas_frankel
@nicolas_frankel
@nicolas_frankel
• Kubernetes need to know the
application’s state
• To mark the pod ready
• Spring Boot offers the actuator
• With the /health endpoint
Apps don’t start instantly
@nicolas_frankel
spec:
containers:
- name: spring-boot-app
image: zerodowntime:1.0
readinessProbe:
httpGet:
path: /actuator/health
port: 8080
Kubernetes-Spring Boot integration
magic
@nicolas_frankel
• Let’s pat ourselves on the shoulder
• Hello world apps FTW!
Most talks stop there...
@nicolas_frankel
It’s the database, stupid!
1.0 1.01.02.0
1.02.0
@nicolas_frankel
Consecutive app versions must be
schema-compatible
Version compatibility
@nicolas_frankel
It’s still the database...
1.0 1.01.02.0
1.0
2.0 2.0
2.0
@nicolas_frankel
Break down a change into a serie of
side-by-side compatible changes
Making changes for-/backward
compatible
@nicolas_frankel
Separating a single table into 2 tables
with a Primary Key - Foreign Key
relation
A sample use-case
@nicolas_frankel
Database schema migration
@nicolas_frankel
Steps decomposition
1. Create ADDRESS table
• App use the PERSON table data as previously
• Trigger copy data to ADDRESS table
2. The ADDRESS becomes the “source of truth”
• App now uses the ADDRESS table data
• Trigger copy data to the PERSON table
3. Stop copying the data
4. (Remove extra columns in the PERSON table)
@nicolas_frankel
• Disable automatic DDL
creation/update
• Delegate to Flyway
• (Or Liquibase)
Spring Boot specifics
@nicolas_frankel
“Version control for your database.
Robust schema evolution across all
your environments.”
Flyway
@nicolas_frankel
• Based on migrations
• A migration is a SQL script
• Each migration is versioned
• Flyway records migrations in a
dedicated table
Flyway 101
@nicolas_frankel
• Migrations are stored in the
db/migrations folder
• Automatically applied at
application startup
Spring Boot Flyway integration
@nicolas_frankel
• Spring and JPA listeners don’t go
along well
• Implementation dependent
(Hibernate)
JPA specifics
@nicolas_frankel
@nicolas_frankel
1. Zero-downtime is possible
2. It’s not free
3. It has an impact on how to
code/design/plan
Takeaways
@nicolas_frankel
• https://blog.frankel.ch/
• @nicolas_frankel
• https://git.io/JeGJd
Thanks!

More Related Content

What's hot

The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
The Many Faces of Apache Kafka: Leveraging Real-time Data at ScaleThe Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
The Many Faces of Apache Kafka: Leveraging Real-time Data at ScaleMessaging Meetup
 
KnowItPresentation
KnowItPresentationKnowItPresentation
KnowItPresentationChuan Su
 
FME 2021.2: Conquer New Data Challenges with FME Cloud and FME Mobile
FME 2021.2: Conquer New Data Challenges with FME Cloud and FME MobileFME 2021.2: Conquer New Data Challenges with FME Cloud and FME Mobile
FME 2021.2: Conquer New Data Challenges with FME Cloud and FME MobileSafe Software
 
Disrupting Big Data with Apache Spark in the Cloud
Disrupting Big Data with Apache Spark in the CloudDisrupting Big Data with Apache Spark in the Cloud
Disrupting Big Data with Apache Spark in the CloudJen Aman
 
Data science at scale with Kafka and Flink (Razorpay)
Data science at scale with Kafka and Flink (Razorpay)Data science at scale with Kafka and Flink (Razorpay)
Data science at scale with Kafka and Flink (Razorpay)KafkaZone
 
Intelligently Monitor And Rapidly Troubleshoot Streaming Fast Data Applicatio...
Intelligently Monitor And Rapidly Troubleshoot Streaming Fast Data Applicatio...Intelligently Monitor And Rapidly Troubleshoot Streaming Fast Data Applicatio...
Intelligently Monitor And Rapidly Troubleshoot Streaming Fast Data Applicatio...Lightbend
 
Proficy machine edition logic pc view ethernet
Proficy machine edition logic pc view ethernetProficy machine edition logic pc view ethernet
Proficy machine edition logic pc view ethernetIamtubalcain
 
Apache Apex Meetup at Cask
Apache Apex Meetup at CaskApache Apex Meetup at Cask
Apache Apex Meetup at CaskApache Apex
 
Genome Analysis Pipelines with Spark and ADAM
Genome Analysis Pipelines with Spark and ADAMGenome Analysis Pipelines with Spark and ADAM
Genome Analysis Pipelines with Spark and ADAMAllen Day, PhD
 
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...Safe Software
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!Nicolas Fränkel
 
Splunk Distributed Management Console
Splunk Distributed Management Console                                         Splunk Distributed Management Console
Splunk Distributed Management Console Splunk
 
Building a REST API Interface With FME
Building a REST API Interface With FMEBuilding a REST API Interface With FME
Building a REST API Interface With FMESafe Software
 
Meetup core concepts-erick-ramirez-20150729
Meetup core concepts-erick-ramirez-20150729Meetup core concepts-erick-ramirez-20150729
Meetup core concepts-erick-ramirez-20150729Erick Ramirez
 

What's hot (16)

The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
The Many Faces of Apache Kafka: Leveraging Real-time Data at ScaleThe Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
 
KnowItPresentation
KnowItPresentationKnowItPresentation
KnowItPresentation
 
FME 2021.2: Conquer New Data Challenges with FME Cloud and FME Mobile
FME 2021.2: Conquer New Data Challenges with FME Cloud and FME MobileFME 2021.2: Conquer New Data Challenges with FME Cloud and FME Mobile
FME 2021.2: Conquer New Data Challenges with FME Cloud and FME Mobile
 
Disrupting Big Data with Apache Spark in the Cloud
Disrupting Big Data with Apache Spark in the CloudDisrupting Big Data with Apache Spark in the Cloud
Disrupting Big Data with Apache Spark in the Cloud
 
Data science at scale with Kafka and Flink (Razorpay)
Data science at scale with Kafka and Flink (Razorpay)Data science at scale with Kafka and Flink (Razorpay)
Data science at scale with Kafka and Flink (Razorpay)
 
Intelligently Monitor And Rapidly Troubleshoot Streaming Fast Data Applicatio...
Intelligently Monitor And Rapidly Troubleshoot Streaming Fast Data Applicatio...Intelligently Monitor And Rapidly Troubleshoot Streaming Fast Data Applicatio...
Intelligently Monitor And Rapidly Troubleshoot Streaming Fast Data Applicatio...
 
Proficy machine edition logic pc view ethernet
Proficy machine edition logic pc view ethernetProficy machine edition logic pc view ethernet
Proficy machine edition logic pc view ethernet
 
Apache Apex Meetup at Cask
Apache Apex Meetup at CaskApache Apex Meetup at Cask
Apache Apex Meetup at Cask
 
Genome Analysis Pipelines with Spark and ADAM
Genome Analysis Pipelines with Spark and ADAMGenome Analysis Pipelines with Spark and ADAM
Genome Analysis Pipelines with Spark and ADAM
 
Flux and React.js
Flux and React.jsFlux and React.js
Flux and React.js
 
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!
 
Flux architecture
Flux architectureFlux architecture
Flux architecture
 
Splunk Distributed Management Console
Splunk Distributed Management Console                                         Splunk Distributed Management Console
Splunk Distributed Management Console
 
Building a REST API Interface With FME
Building a REST API Interface With FMEBuilding a REST API Interface With FME
Building a REST API Interface With FME
 
Meetup core concepts-erick-ramirez-20150729
Meetup core concepts-erick-ramirez-20150729Meetup core concepts-erick-ramirez-20150729
Meetup core concepts-erick-ramirez-20150729
 

Similar to VoxxedDays Cluj - Zero-downtime deployment with Kubernetes, Spring Boot and Flyway

Zero-Downtime Deployment with Kubernetes, SpringBoot & Flyway
Zero-Downtime Deployment with Kubernetes, SpringBoot & FlywayZero-Downtime Deployment with Kubernetes, SpringBoot & Flyway
Zero-Downtime Deployment with Kubernetes, SpringBoot & FlywayNicolas Fränkel
 
Zero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with HazelcastZero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with HazelcastNicolas Fränkel
 
Zero-downtime Deployment on Kubernetes
Zero-downtime Deployment on KubernetesZero-downtime Deployment on Kubernetes
Zero-downtime Deployment on KubernetesAll Things Open
 
JavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architectureJavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architecture Nicolas Fränkel
 
YAJUG - 3 Idées d’amélioration pour vos Architectures Microservices
YAJUG - 3 Idées d’amélioration pour vos Architectures MicroservicesYAJUG - 3 Idées d’amélioration pour vos Architectures Microservices
YAJUG - 3 Idées d’amélioration pour vos Architectures MicroservicesNicolas Fränkel
 
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...Nicolas Fränkel
 
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...Nicolas Fränkel
 
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...Nicolas Fränkel
 
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...Nicolas Fränkel
 
Tech talks - 3 performance improvements
Tech talks - 3 performance improvementsTech talks - 3 performance improvements
Tech talks - 3 performance improvementsNicolas Fränkel
 
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheGeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheNicolas Fränkel
 
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...Nicolas Fränkel
 
JOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheJOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheNicolas Fränkel
 
jLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cachejLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cacheNicolas Fränkel
 
GeekOut - Configuration Management with Kubernetes, a Spring-Boot use-case
GeekOut - Configuration Management with Kubernetes, a Spring-Boot use-caseGeekOut - Configuration Management with Kubernetes, a Spring-Boot use-case
GeekOut - Configuration Management with Kubernetes, a Spring-Boot use-caseNicolas Fränkel
 
ING Meetup - Migrating Spring Boot Config Annotations to Functional with Kotlin
ING Meetup - Migrating Spring Boot Config Annotations to Functional with KotlinING Meetup - Migrating Spring Boot Config Annotations to Functional with Kotlin
ING Meetup - Migrating Spring Boot Config Annotations to Functional with KotlinNicolas Fränkel
 
Kotlin/Everywhere Utrecht - From annotations to declarative, the path to more...
Kotlin/Everywhere Utrecht - From annotations to declarative, the path to more...Kotlin/Everywhere Utrecht - From annotations to declarative, the path to more...
Kotlin/Everywhere Utrecht - From annotations to declarative, the path to more...Nicolas Fränkel
 
W-JAX - Migrating Spring Boot apps from annotation-based config to Functional...
W-JAX - Migrating Spring Boot apps from annotation-based config to Functional...W-JAX - Migrating Spring Boot apps from annotation-based config to Functional...
W-JAX - Migrating Spring Boot apps from annotation-based config to Functional...Nicolas Fränkel
 
DevFest Santo Domingo - Migrating Spring Boot apps from annotation-based conf...
DevFest Santo Domingo - Migrating Spring Boot apps from annotation-based conf...DevFest Santo Domingo - Migrating Spring Boot apps from annotation-based conf...
DevFest Santo Domingo - Migrating Spring Boot apps from annotation-based conf...Nicolas Fränkel
 
Kotlin/Everywehere Minsk - Migrating Spring Boot Apps from Annotation-based C...
Kotlin/Everywehere Minsk - Migrating Spring Boot Apps from Annotation-based C...Kotlin/Everywehere Minsk - Migrating Spring Boot Apps from Annotation-based C...
Kotlin/Everywehere Minsk - Migrating Spring Boot Apps from Annotation-based C...Nicolas Fränkel
 

Similar to VoxxedDays Cluj - Zero-downtime deployment with Kubernetes, Spring Boot and Flyway (20)

Zero-Downtime Deployment with Kubernetes, SpringBoot & Flyway
Zero-Downtime Deployment with Kubernetes, SpringBoot & FlywayZero-Downtime Deployment with Kubernetes, SpringBoot & Flyway
Zero-Downtime Deployment with Kubernetes, SpringBoot & Flyway
 
Zero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with HazelcastZero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with Hazelcast
 
Zero-downtime Deployment on Kubernetes
Zero-downtime Deployment on KubernetesZero-downtime Deployment on Kubernetes
Zero-downtime Deployment on Kubernetes
 
JavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architectureJavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architecture
 
YAJUG - 3 Idées d’amélioration pour vos Architectures Microservices
YAJUG - 3 Idées d’amélioration pour vos Architectures MicroservicesYAJUG - 3 Idées d’amélioration pour vos Architectures Microservices
YAJUG - 3 Idées d’amélioration pour vos Architectures Microservices
 
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...
 
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...
 
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...
 
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...
 
Tech talks - 3 performance improvements
Tech talks - 3 performance improvementsTech talks - 3 performance improvements
Tech talks - 3 performance improvements
 
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheGeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
 
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
 
JOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheJOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen Cache
 
jLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cachejLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cache
 
GeekOut - Configuration Management with Kubernetes, a Spring-Boot use-case
GeekOut - Configuration Management with Kubernetes, a Spring-Boot use-caseGeekOut - Configuration Management with Kubernetes, a Spring-Boot use-case
GeekOut - Configuration Management with Kubernetes, a Spring-Boot use-case
 
ING Meetup - Migrating Spring Boot Config Annotations to Functional with Kotlin
ING Meetup - Migrating Spring Boot Config Annotations to Functional with KotlinING Meetup - Migrating Spring Boot Config Annotations to Functional with Kotlin
ING Meetup - Migrating Spring Boot Config Annotations to Functional with Kotlin
 
Kotlin/Everywhere Utrecht - From annotations to declarative, the path to more...
Kotlin/Everywhere Utrecht - From annotations to declarative, the path to more...Kotlin/Everywhere Utrecht - From annotations to declarative, the path to more...
Kotlin/Everywhere Utrecht - From annotations to declarative, the path to more...
 
W-JAX - Migrating Spring Boot apps from annotation-based config to Functional...
W-JAX - Migrating Spring Boot apps from annotation-based config to Functional...W-JAX - Migrating Spring Boot apps from annotation-based config to Functional...
W-JAX - Migrating Spring Boot apps from annotation-based config to Functional...
 
DevFest Santo Domingo - Migrating Spring Boot apps from annotation-based conf...
DevFest Santo Domingo - Migrating Spring Boot apps from annotation-based conf...DevFest Santo Domingo - Migrating Spring Boot apps from annotation-based conf...
DevFest Santo Domingo - Migrating Spring Boot apps from annotation-based conf...
 
Kotlin/Everywehere Minsk - Migrating Spring Boot Apps from Annotation-based C...
Kotlin/Everywehere Minsk - Migrating Spring Boot Apps from Annotation-based C...Kotlin/Everywehere Minsk - Migrating Spring Boot Apps from Annotation-based C...
Kotlin/Everywehere Minsk - Migrating Spring Boot Apps from Annotation-based C...
 

More from Nicolas Fränkel

SnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy applicationSnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy applicationNicolas Fränkel
 
Un CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jourUn CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jourNicolas Fränkel
 
BigData conference - Introduction to stream processing
BigData conference - Introduction to stream processingBigData conference - Introduction to stream processing
BigData conference - Introduction to stream processingNicolas Fränkel
 
ADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoNicolas Fränkel
 
TestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your TestsTestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your TestsNicolas Fränkel
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationNicolas Fränkel
 
Devclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processingDevclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processingNicolas Fränkel
 
JUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streamingJUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streamingNicolas Fränkel
 
Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Nicolas Fränkel
 
vJUG - Introduction to data streaming
vJUG - Introduction to data streamingvJUG - Introduction to data streaming
vJUG - Introduction to data streamingNicolas Fränkel
 
London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...Nicolas Fränkel
 
OSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoOSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoNicolas Fränkel
 
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...Nicolas Fränkel
 
SouJava- 3 easy performance improvements in your microservices architecture
SouJava- 3 easy performance improvements in your microservices architectureSouJava- 3 easy performance improvements in your microservices architecture
SouJava- 3 easy performance improvements in your microservices architectureNicolas Fränkel
 
JUG SF - Introduction to data streaming
JUG SF - Introduction to data streamingJUG SF - Introduction to data streaming
JUG SF - Introduction to data streamingNicolas Fränkel
 
SCALE - Stream processing and Open Data, a match made in Heaven
SCALE - Stream processing and Open Data, a match made in HeavenSCALE - Stream processing and Open Data, a match made in Heaven
SCALE - Stream processing and Open Data, a match made in HeavenNicolas Fränkel
 
ConFoo - 3 performance improvements
ConFoo - 3 performance improvementsConFoo - 3 performance improvements
ConFoo - 3 performance improvementsNicolas Fränkel
 

More from Nicolas Fränkel (17)

SnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy applicationSnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy application
 
Un CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jourUn CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jour
 
BigData conference - Introduction to stream processing
BigData conference - Introduction to stream processingBigData conference - Introduction to stream processing
BigData conference - Introduction to stream processing
 
ADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in Go
 
TestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your TestsTestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your Tests
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
 
Devclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processingDevclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processing
 
JUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streamingJUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streaming
 
Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!
 
vJUG - Introduction to data streaming
vJUG - Introduction to data streamingvJUG - Introduction to data streaming
vJUG - Introduction to data streaming
 
London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...
 
OSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoOSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in Go
 
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...
 
SouJava- 3 easy performance improvements in your microservices architecture
SouJava- 3 easy performance improvements in your microservices architectureSouJava- 3 easy performance improvements in your microservices architecture
SouJava- 3 easy performance improvements in your microservices architecture
 
JUG SF - Introduction to data streaming
JUG SF - Introduction to data streamingJUG SF - Introduction to data streaming
JUG SF - Introduction to data streaming
 
SCALE - Stream processing and Open Data, a match made in Heaven
SCALE - Stream processing and Open Data, a match made in HeavenSCALE - Stream processing and Open Data, a match made in Heaven
SCALE - Stream processing and Open Data, a match made in Heaven
 
ConFoo - 3 performance improvements
ConFoo - 3 performance improvementsConFoo - 3 performance improvements
ConFoo - 3 performance improvements
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 

VoxxedDays Cluj - Zero-downtime deployment with Kubernetes, Spring Boot and Flyway