SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
You’ve got Mail!
MichaĂŤl van der Haven
Š 2023 CGI Inc. Public
Government Goes Digital!
All communications for citizens and organizations
from Goverment (central and decentralized)
and Public Utilities is made available through digital means
2
Š 2023 CGI Inc. Public 3
• Founded 1976
• Consultants and professionals 90,250
• Locations worldwide 400
• F2022 revenue C$12.87B
• End-to-end services clients globally 5,500
• Clients through our IP-based solutions 50,000
• Stock symbols:
– NYSE: GIB
– TSX: GIB.A
Š 2023 CGI Inc. Public 4
About me
MichaĂŤl
van der Haven
Vice President Consulting Expert
(Renewable) Energy
CGI
Š 2023 CGI Inc. Public
Digital Government: In Practice
• The Blue Envelope
– The most infamous letter in The Netherlands
– Invite to pay taxes and all other associated tax
correspondations
• But also
– Pension notices
– Compensation schemes
– Reminders to mandatory car inspections
– Vaccination invites
– Local municipality maintenance notices
– Etc.
5
• 600+ ‘senders’
• 9+ million users
• 5+ million messages sent
per day
• 4+ million messages requested
per day
Š 2023 CGI Inc. Public
This excuse does not work anymore
6
Š 2023 CGI Inc. Public
BBO: The Messaging Platform
Berichtenbox voor Burgers en Ondernemers
(message-box for citizens and organizations)
• Stakeholders send their messages
to a central location: BBO
– Receives
– Validates
– Sorts
– Notifies
– Makes Available
• Manages all legislation topics
– Retention (archival law)
– Locking (legal disputes)
– Audit
– Etc.
7
Š 2023 CGI Inc. Public
Microservices
8
Requirements
(non
functional)
Highly secure
Allways on
Auditable
Allways Available Ă  No impact
by performance demands
Scalable Horizontal
Vertical
Reuse of resources
Monitoring
Self-healing
Š 2023 CGI Inc. Public
Still Microservices?
Prevent congestion at all costs
• Receive
– Senders don’t want to wait until
you’re done sorting each message
including that of other senders
• Process
– Validation and sorting can be at
a different speed: messages often
have a future publication date
• Serve Requests
– Citizen doesn’t want to be impacted
by others or messages that are
being sent
9
Š 2023 CGI Inc. Public
Yes: Microservices, not nano-services
• Different Service Levels
• Different Kinds of services
• Completely independent (i.e. not the Amazon Prime use-case)
10
Receive
Receive
Receive
Validate
Sort
Validate
Sort
Notify
Retrieve
Retrieve
BBO
Š 2023 CGI Inc. Public
Š 2023 CGI Inc. 11
Event Driven
The Kafka Case
• Microservices with different scaling
requirements
• More than one interested
consumer
• Microservices should only ‘act’
when something becomes relevant
Š 2023 CGI Inc. Public
Zooming in
1. A receiving service handles a message or
batch of messages
a) Stores the message in S3 (on-premise MinIO)
b) Post an event that initial reception is done
2. RPO=0 Requirement
Buckets in multiple data centers
3. Publish S3 Replication Events
4. Kafka Stream combines to Received
RPO=0 Guaranteed
5. Acknowledgement to sender
(your message is safe! We will handle the rest)
6. Other consumers
(Validated, Reporting, Audit Log)
will consume the same stream and follow with their
own business actions
12
Receive Validate Report Audit
Inbox
Initial Reception
Stored and
Replicated
Received
1
1a
1b
2
3
4
5 6
Š 2023 CGI Inc. Public
Event Driven: Self Healing System
Utilizing Event Driven Concepts (and a lot of Kubernetes)
to automatically recover from failure
Event Driven
• Store the state of events
• Idempotent
• Each process results in
exactly the same result
Replay
• Process events again
• Anything new ‘after’ the
snapshot is processed
• Idempotency
• Downstream services ‘know’
that the event does not have
to be processed again
Kubernetes
• State store snapshots
• Persistent Volumes
• Snapshots
• Recover from an older
snapshot in case of
detected failure
13
Š 2023 CGI Inc. Public
The proof of the pudding is in eating
• Replay as part of deployment
– Z-Shaped deployments
– Prove that a solution can always be
rolled back
– Deploy into representative environment
– Test on actual data
– Roll back
– Play again and show that the complete
system still works
14
Š 2023 CGI Inc. Public
Replay and Snapshots
• Kubernetes & MongoDb state database
– State:
§ MongoDb to store which events have been processed
(yes the collection is very simple)
– Kubernetes Snapshots
§ Each snapshot virtually points to a location on a Kafka
topic
– Kubernetes Hydrating a new PV or existing PV
§ The new MongoDb server has state data that points to
a location on the topic that the original service had not
processed yet
– Microservice & Kafka à Replay
§ Deploy a new service and let it work on the new
database
§ The service will automatically ‘replay’ everything on the
topic
15
t
t(0) t(1) t(n)
t(n-1)
Š 2023 CGI Inc. Public
Š 2023 CGI Inc.
• Yes, you can do everything yourself
• It is a lot of Ops work though
• Managed platform
• Axual
• Main Drivers:
– Topic and Connection Overview
– Integration with Keyvault systems
– Programmable Part of CI/CD
– Clear DTAP management
• Disadvantage: Vendor specific
(and this is a problem with all commercial Kafka providers)
• Operators
• KSQL types of languages
• Schema management
• Etc
Managing Kafka
16
DIY or Managed solution?
• Normal Topics (BBO: 10+)
• Streams (BBO: 20+)
• Operational tasks and challenges
• Security (20+ services)
• Performance
• Reuse of Kafka outside of BBO
Š 2023 CGI Inc. Public
Developer Experience
Perception & Skills
• Microservices are not easy
• Event Driven is not easy
Developers (non) comforts:
• Atomic services à Balancing act, not
too atomic
(recall the Amazon Prime case)
• Limited scope of a service
• Object Oriented across services
• Embrace reuse of code in the form of
copy-paste
Or
• Excellent library management
Testing
• Consumer Driven Contract Based
Testing with Events
It is too tempting to let the producer
rule
DevOps
• CI/CD Pipeline
– Templates
– Branching merging
– Etc.
– Getting used to The C truly becomes
continuous
17
Š 2023 CGI Inc. Public
Insight is a gamechanger
• Developers may be working in an atomic service
• Atomic or not: if another service is not doing its
job the system fails
• Provide insight in
– What topics are available
– Who is producing and who is consuming?
18
Axual Metro Map
• Results
– Finding bugs
– Finding dead topics
– Finding producers without consumers and vice
versa
– Fix and export and make it part of CI/CD
Š 2023 CGI Inc. Public
Current State
• Matured Team
– Well Established testing framework including PACT
– Z-Shaped Deployment
– Secure
– Insight!
• Performance?
– Kafka
§ Bare minimum set of brokers for RPO=0
§ 30+ MM events per day
Ă  Kafka walk in the park
– Services
§ Vertical Scaling Challenges
§ Internal Optimization
§ Fewer functionalities
§ How micro is micro?
19
Š 2023 CGI Inc. Public
Conclusions and Lessons Learned
20
• An event driven architecture works
– Supports the Micro Service Pattern
– Self Healing System
– Highly performant and scalable
– Ideal to ‘detect & manage’ RPO=0 requirements
– Kubernetes, Kafka and MongoDb are a golden combination
• An event driven architecture is hard for developers
– Invest in training
– Have seniors that can teach on the job
– Shared code management becomes more challenging
– A system that provides an overview is a gamechanger!
• Managed Platform vs DIY Open Source
– DIY
§ Using Kafka with two or three services can perfectly be done with open source
– Managed
More services, more streams, more topics AND security:
§ Managed platform
§ Axual was a front-runner with their management platform
§ The competitive landscape is on-par
§ Choose your poison
o Operators
o Streaming Language
cgi.com
Insights you can act on
Founded in 1976, CGI is among the largest IT and business
consulting services firms in the world.
We are insights-driven and outcomes-based to help accelerate
returns on your investments. Across hundreds of locations
worldwide, we provide comprehensive, scalable and sustainable IT
and business consulting services that are informed globally and
delivered locally.
cgi.com
Q&A

Weitere ähnliche Inhalte

Ähnlich wie You've Got Mail! with Michael van der Haven

Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...VMware Tanzu
 
Best Practices for MongoDB in Today's Telecommunications Market
Best Practices for MongoDB in Today's Telecommunications MarketBest Practices for MongoDB in Today's Telecommunications Market
Best Practices for MongoDB in Today's Telecommunications MarketMongoDB
 
What Every MSP Needs to Know for Cloud Success
What Every MSP Needs to Know for Cloud SuccessWhat Every MSP Needs to Know for Cloud Success
What Every MSP Needs to Know for Cloud SuccessRightScale
 
The Future of Service Mesh
The Future of Service MeshThe Future of Service Mesh
The Future of Service MeshAll Things Open
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud ComputingUOS
 
Right scale enterprise solution
Right scale enterprise solution Right scale enterprise solution
Right scale enterprise solution Brad , Yun Lee
 
Right scale enterprise solution
Right scale enterprise solution Right scale enterprise solution
Right scale enterprise solution Brad , Yun Lee
 
How did we move the mountain? - Migrating 1 trillion+ messages per day across...
How did we move the mountain? - Migrating 1 trillion+ messages per day across...How did we move the mountain? - Migrating 1 trillion+ messages per day across...
How did we move the mountain? - Migrating 1 trillion+ messages per day across...HostedbyConfluent
 
Kublr for cloud and managed service providers
Kublr for cloud and managed service providersKublr for cloud and managed service providers
Kublr for cloud and managed service providersScott Clinton
 
Preparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptxPreparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptxmambrino
 
Event Horizon at Solace Connect Singapore
Event Horizon at Solace Connect SingaporeEvent Horizon at Solace Connect Singapore
Event Horizon at Solace Connect SingaporeSolace
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIsCisco DevNet
 
Reality Check: Moving From the Transformation Laboratory to Production
Reality Check: Moving From the Transformation Laboratory to ProductionReality Check: Moving From the Transformation Laboratory to Production
Reality Check: Moving From the Transformation Laboratory to ProductionDevOps.com
 
MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Cha...
MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Cha...MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Cha...
MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Cha...MongoDB
 
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & KafkaMohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & KafkaFlink Forward
 
Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147DoKC
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Datacornelia davis
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisVMware Tanzu
 
2019 03-23-2nd-meetup-essential capabilities behind microservices
2019 03-23-2nd-meetup-essential capabilities behind microservices2019 03-23-2nd-meetup-essential capabilities behind microservices
2019 03-23-2nd-meetup-essential capabilities behind microservicesKim Kao
 
Gcp intro-20160721
Gcp intro-20160721Gcp intro-20160721
Gcp intro-20160721Haeseung Lee
 

Ähnlich wie You've Got Mail! with Michael van der Haven (20)

Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
 
Best Practices for MongoDB in Today's Telecommunications Market
Best Practices for MongoDB in Today's Telecommunications MarketBest Practices for MongoDB in Today's Telecommunications Market
Best Practices for MongoDB in Today's Telecommunications Market
 
What Every MSP Needs to Know for Cloud Success
What Every MSP Needs to Know for Cloud SuccessWhat Every MSP Needs to Know for Cloud Success
What Every MSP Needs to Know for Cloud Success
 
The Future of Service Mesh
The Future of Service MeshThe Future of Service Mesh
The Future of Service Mesh
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Right scale enterprise solution
Right scale enterprise solution Right scale enterprise solution
Right scale enterprise solution
 
Right scale enterprise solution
Right scale enterprise solution Right scale enterprise solution
Right scale enterprise solution
 
How did we move the mountain? - Migrating 1 trillion+ messages per day across...
How did we move the mountain? - Migrating 1 trillion+ messages per day across...How did we move the mountain? - Migrating 1 trillion+ messages per day across...
How did we move the mountain? - Migrating 1 trillion+ messages per day across...
 
Kublr for cloud and managed service providers
Kublr for cloud and managed service providersKublr for cloud and managed service providers
Kublr for cloud and managed service providers
 
Preparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptxPreparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptx
 
Event Horizon at Solace Connect Singapore
Event Horizon at Solace Connect SingaporeEvent Horizon at Solace Connect Singapore
Event Horizon at Solace Connect Singapore
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
 
Reality Check: Moving From the Transformation Laboratory to Production
Reality Check: Moving From the Transformation Laboratory to ProductionReality Check: Moving From the Transformation Laboratory to Production
Reality Check: Moving From the Transformation Laboratory to Production
 
MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Cha...
MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Cha...MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Cha...
MongoDB World 2019: High Performance Auditing of Changes Based on MongoDB Cha...
 
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & KafkaMohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
 
Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
2019 03-23-2nd-meetup-essential capabilities behind microservices
2019 03-23-2nd-meetup-essential capabilities behind microservices2019 03-23-2nd-meetup-essential capabilities behind microservices
2019 03-23-2nd-meetup-essential capabilities behind microservices
 
Gcp intro-20160721
Gcp intro-20160721Gcp intro-20160721
Gcp intro-20160721
 

Mehr von HostedbyConfluent

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Renaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonRenaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonHostedbyConfluent
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolEvolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolHostedbyConfluent
 
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesEnsuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesHostedbyConfluent
 
Exactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaExactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaHostedbyConfluent
 
Fish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonFish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonHostedbyConfluent
 
Tiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonTiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonHostedbyConfluent
 
Building a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyBuilding a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyHostedbyConfluent
 
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...HostedbyConfluent
 
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...HostedbyConfluent
 
Navigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersNavigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersHostedbyConfluent
 
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformApache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformHostedbyConfluent
 
Explaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubExplaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubHostedbyConfluent
 
TL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonTL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonHostedbyConfluent
 
A Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLA Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLHostedbyConfluent
 
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceMastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceHostedbyConfluent
 
Data Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondData Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondHostedbyConfluent
 
Code-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsCode-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsHostedbyConfluent
 
Debezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemDebezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemHostedbyConfluent
 
Beyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksBeyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksHostedbyConfluent
 

Mehr von HostedbyConfluent (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Renaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonRenaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit London
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolEvolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at Trendyol
 
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesEnsuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
 
Exactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaExactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and Kafka
 
Fish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonFish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit London
 
Tiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonTiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit London
 
Building a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyBuilding a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And Why
 
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
 
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
 
Navigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersNavigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka Clusters
 
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformApache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
 
Explaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubExplaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy Pub
 
TL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonTL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit London
 
A Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLA Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSL
 
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceMastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
 
Data Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondData Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and Beyond
 
Code-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsCode-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink Apps
 
Debezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemDebezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC Ecosystem
 
Beyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksBeyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local Disks
 

KĂźrzlich hochgeladen

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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 RobisonAnna Loughnan Colquhoun
 
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 WorkerThousandEyes
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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 Scriptwesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

KĂźrzlich hochgeladen (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
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
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

You've Got Mail! with Michael van der Haven

  • 2. Š 2023 CGI Inc. Public Government Goes Digital! All communications for citizens and organizations from Goverment (central and decentralized) and Public Utilities is made available through digital means 2
  • 3. Š 2023 CGI Inc. Public 3 • Founded 1976 • Consultants and professionals 90,250 • Locations worldwide 400 • F2022 revenue C$12.87B • End-to-end services clients globally 5,500 • Clients through our IP-based solutions 50,000 • Stock symbols: – NYSE: GIB – TSX: GIB.A
  • 4. Š 2023 CGI Inc. Public 4 About me MichaĂŤl van der Haven Vice President Consulting Expert (Renewable) Energy CGI
  • 5. Š 2023 CGI Inc. Public Digital Government: In Practice • The Blue Envelope – The most infamous letter in The Netherlands – Invite to pay taxes and all other associated tax correspondations • But also – Pension notices – Compensation schemes – Reminders to mandatory car inspections – Vaccination invites – Local municipality maintenance notices – Etc. 5 • 600+ ‘senders’ • 9+ million users • 5+ million messages sent per day • 4+ million messages requested per day
  • 6. Š 2023 CGI Inc. Public This excuse does not work anymore 6
  • 7. Š 2023 CGI Inc. Public BBO: The Messaging Platform Berichtenbox voor Burgers en Ondernemers (message-box for citizens and organizations) • Stakeholders send their messages to a central location: BBO – Receives – Validates – Sorts – Notifies – Makes Available • Manages all legislation topics – Retention (archival law) – Locking (legal disputes) – Audit – Etc. 7
  • 8. Š 2023 CGI Inc. Public Microservices 8 Requirements (non functional) Highly secure Allways on Auditable Allways Available Ă  No impact by performance demands Scalable Horizontal Vertical Reuse of resources Monitoring Self-healing
  • 9. Š 2023 CGI Inc. Public Still Microservices? Prevent congestion at all costs • Receive – Senders don’t want to wait until you’re done sorting each message including that of other senders • Process – Validation and sorting can be at a different speed: messages often have a future publication date • Serve Requests – Citizen doesn’t want to be impacted by others or messages that are being sent 9
  • 10. Š 2023 CGI Inc. Public Yes: Microservices, not nano-services • Different Service Levels • Different Kinds of services • Completely independent (i.e. not the Amazon Prime use-case) 10 Receive Receive Receive Validate Sort Validate Sort Notify Retrieve Retrieve BBO
  • 11. Š 2023 CGI Inc. Public Š 2023 CGI Inc. 11 Event Driven The Kafka Case • Microservices with different scaling requirements • More than one interested consumer • Microservices should only ‘act’ when something becomes relevant
  • 12. Š 2023 CGI Inc. Public Zooming in 1. A receiving service handles a message or batch of messages a) Stores the message in S3 (on-premise MinIO) b) Post an event that initial reception is done 2. RPO=0 Requirement Buckets in multiple data centers 3. Publish S3 Replication Events 4. Kafka Stream combines to Received RPO=0 Guaranteed 5. Acknowledgement to sender (your message is safe! We will handle the rest) 6. Other consumers (Validated, Reporting, Audit Log) will consume the same stream and follow with their own business actions 12 Receive Validate Report Audit Inbox Initial Reception Stored and Replicated Received 1 1a 1b 2 3 4 5 6
  • 13. Š 2023 CGI Inc. Public Event Driven: Self Healing System Utilizing Event Driven Concepts (and a lot of Kubernetes) to automatically recover from failure Event Driven • Store the state of events • Idempotent • Each process results in exactly the same result Replay • Process events again • Anything new ‘after’ the snapshot is processed • Idempotency • Downstream services ‘know’ that the event does not have to be processed again Kubernetes • State store snapshots • Persistent Volumes • Snapshots • Recover from an older snapshot in case of detected failure 13
  • 14. Š 2023 CGI Inc. Public The proof of the pudding is in eating • Replay as part of deployment – Z-Shaped deployments – Prove that a solution can always be rolled back – Deploy into representative environment – Test on actual data – Roll back – Play again and show that the complete system still works 14
  • 15. Š 2023 CGI Inc. Public Replay and Snapshots • Kubernetes & MongoDb state database – State: § MongoDb to store which events have been processed (yes the collection is very simple) – Kubernetes Snapshots § Each snapshot virtually points to a location on a Kafka topic – Kubernetes Hydrating a new PV or existing PV § The new MongoDb server has state data that points to a location on the topic that the original service had not processed yet – Microservice & Kafka Ă  Replay § Deploy a new service and let it work on the new database § The service will automatically ‘replay’ everything on the topic 15 t t(0) t(1) t(n) t(n-1)
  • 16. Š 2023 CGI Inc. Public Š 2023 CGI Inc. • Yes, you can do everything yourself • It is a lot of Ops work though • Managed platform • Axual • Main Drivers: – Topic and Connection Overview – Integration with Keyvault systems – Programmable Part of CI/CD – Clear DTAP management • Disadvantage: Vendor specific (and this is a problem with all commercial Kafka providers) • Operators • KSQL types of languages • Schema management • Etc Managing Kafka 16 DIY or Managed solution? • Normal Topics (BBO: 10+) • Streams (BBO: 20+) • Operational tasks and challenges • Security (20+ services) • Performance • Reuse of Kafka outside of BBO
  • 17. Š 2023 CGI Inc. Public Developer Experience Perception & Skills • Microservices are not easy • Event Driven is not easy Developers (non) comforts: • Atomic services Ă  Balancing act, not too atomic (recall the Amazon Prime case) • Limited scope of a service • Object Oriented across services • Embrace reuse of code in the form of copy-paste Or • Excellent library management Testing • Consumer Driven Contract Based Testing with Events It is too tempting to let the producer rule DevOps • CI/CD Pipeline – Templates – Branching merging – Etc. – Getting used to The C truly becomes continuous 17
  • 18. Š 2023 CGI Inc. Public Insight is a gamechanger • Developers may be working in an atomic service • Atomic or not: if another service is not doing its job the system fails • Provide insight in – What topics are available – Who is producing and who is consuming? 18 Axual Metro Map • Results – Finding bugs – Finding dead topics – Finding producers without consumers and vice versa – Fix and export and make it part of CI/CD
  • 19. Š 2023 CGI Inc. Public Current State • Matured Team – Well Established testing framework including PACT – Z-Shaped Deployment – Secure – Insight! • Performance? – Kafka § Bare minimum set of brokers for RPO=0 § 30+ MM events per day Ă  Kafka walk in the park – Services § Vertical Scaling Challenges § Internal Optimization § Fewer functionalities § How micro is micro? 19
  • 20. Š 2023 CGI Inc. Public Conclusions and Lessons Learned 20 • An event driven architecture works – Supports the Micro Service Pattern – Self Healing System – Highly performant and scalable – Ideal to ‘detect & manage’ RPO=0 requirements – Kubernetes, Kafka and MongoDb are a golden combination • An event driven architecture is hard for developers – Invest in training – Have seniors that can teach on the job – Shared code management becomes more challenging – A system that provides an overview is a gamechanger! • Managed Platform vs DIY Open Source – DIY § Using Kafka with two or three services can perfectly be done with open source – Managed More services, more streams, more topics AND security: § Managed platform § Axual was a front-runner with their management platform § The competitive landscape is on-par § Choose your poison o Operators o Streaming Language
  • 21. cgi.com Insights you can act on Founded in 1976, CGI is among the largest IT and business consulting services firms in the world. We are insights-driven and outcomes-based to help accelerate returns on your investments. Across hundreds of locations worldwide, we provide comprehensive, scalable and sustainable IT and business consulting services that are informed globally and delivered locally.