SlideShare a Scribd company logo
Cloud-Native, Event-Driven Data Ecosystem
Powered by Kafka and Akka
Masih H. Derkani
This presentation contains forward-looking statements regarding future product plans and
development efforts. SolarWinds considers various features and functionality prior to any final
generally available release. Information in this presentation regarding future features and
functionality is not and should not be interpreted as a commitment from SolarWinds that it will
deliver any specific feature or functionality in the future or, if it delivers such feature or
functionality, any time frame when that feature or functionality will be delivered. All information
is based upon current product interests, and product plans and priorities can change at any
time. SolarWinds undertakes no obligation to update any forward-looking statements regarding
future product plans and development efforts if product plans or priorities change.
2
3
Agenda
Background.
The Challenge.
Mission.
EventBus.
EventBus Reborn.
What’s Next.
Takeaways.
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
4
The MSP business
Background
and a whole lot of subsystems…
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
5
≈6.3M Managed Devices
Scale
The Challenge
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
6
≈6.3M Managed Devices
≈22B Events per Day
Scale
The Challenge
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
7
≈37MDiscovered Devices
in RMM sub-systems alone.
Scale
The Challenge
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
8
Existing infrastructure
The Challenge
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
9
Cultural shift
The Challenge
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
Source: https://www.amazon.co.uk/Ridleys-Games-Chess-Checkers-Wooden/dp/B00OBQL8GO
The game has changed;
time to adapt.
10
Philosophy
Mission
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
Platform.
Ecosystem.
Enable engineers to assemble,
not fabricate.
Expose essential complexity,
minimize accidental complexity.
DaVinci
D a t a P l a t f o r m
11
Fundamental data flow
Mission
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
12
Data flow in more detail
Mission
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
13
The Nervous System of Data Platform.
Uniform data format for all.
Multiple Kafka Clusters.
Custom Java client library.
Keep Kafka swappable.
Guaranteed order and delivery.
DaVinci EventBus
…is born
EventBus
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
14
High-level architecture
EventBus
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
15
K8S cluster built to work with SolarWinds services.
Infrastructure as code.
≈5 minutes to deploy a fresh Kafka Cluster.
Need for resilience is built into the environment.
Cloud-native environment
EventBus: Deployment
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
16
Abstraction over Kafka topics
EventBus: Streams
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
17
Multicluster management
EventBus: Manager
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
18
Topic configuration management
EventBus: Manager
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
19
Stream route file management
EventBus: Manager
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
20
Stage 1
Cluster Switch Example
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
21
Stage 2
Cluster Switch Example
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
22
Endpoint and status metadata
Example Route File
{
"updated": 1554901518,
"clusters": [{
"uid": "kingpin",
"name": "kingpin",
"conInternal": ["kingpin-kafka-headless:9092"],
"conExternal": ["kingpin-0.eventbus.solarwindsmsp.com:443"]}
],
"producer": { "cluster_uid": "kingpin", "status": "active", "topic": "fish"},
"consumer": [
{"cluster_uid": "kingpin", "status": "active", "topic": "fish"}
]
}
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
23
Incoming message flow on rerouting
Cluster Switch Example
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
24
So far, so good…
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
25
So far, so good…
(until the first client failed)
x
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
26
Only two levels of Cluster History.
Difficult to diagnose client issues.
Bug fixes = high code churn for clients.
Hard to support multi-language client.
Cultural shift towards event-driven
architecture.
Pushing forward
Room for Improvements
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
$
27
High-level architecture
EventBus 2.0
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
28
Sharding and coordination via Akka
EventBus 2.0
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
29
Single EventBus stream identity across multiple Kafka Clusters
Kafka Cluster Transparency
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
30
Generic gRPC components for Java, Go, C# and
node.js.
Cross-cluster consumer group coordination.
Automated partition count elasticity.
Automated Kafka Cluster Deployment.
GDPR built-in.
l
Plans
What’s Next
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
31
Teach the difference between consumption and
processing.
Watch out for leaky abstractions.
Avoid exposing partitions.
Timestamp over offset.
APIs everywhere.
Auto-generate multilanguage client libraries.
&
…the hard way
Lessons We Learned
© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
Q&A
32© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
THANK
YOU!
33© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
The SolarWinds and SolarWinds MSP trademarks are the exclusive property of SolarWinds MSP
Canada ULC, SolarWinds MSP UK Ltd. or its affiliates and may be registered or pending
registration with the U.S. Patent and Trademark Office and in other countries. All other
SolarWinds MSP and SolarWinds trademarks, service marks, and logos may be common law
marks or are registered or pending registration. All other trademarks mentioned herein are
used for identification purposes only and are trademarks (and may be registered trademarks) of
their respective companies.
34

More Related Content

PDF
Running Kafka in Kubernetes: A Practical Guide (Katherine Stanley, IBM United...
PPTX
CICS TS v5.5 support for Node.js applications
PDF
Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...
PPTX
JLove conference 2020 - Reacting to an Event-Driven World
PPTX
JSpring Virtual 2020 - Reacting to an event-driven world
PPTX
Making Microservices Smarter with Istio, Envoy and Pivotal Ingress Router
PPTX
DevNexus - Reacting to an event driven world
PDF
Cloud-Native Operations with Kubernetes and CI/CD
Running Kafka in Kubernetes: A Practical Guide (Katherine Stanley, IBM United...
CICS TS v5.5 support for Node.js applications
Handling GDPR with Apache Kafka: How to Comply Without Freaking Out? (David J...
JLove conference 2020 - Reacting to an Event-Driven World
JSpring Virtual 2020 - Reacting to an event-driven world
Making Microservices Smarter with Istio, Envoy and Pivotal Ingress Router
DevNexus - Reacting to an event driven world
Cloud-Native Operations with Kubernetes and CI/CD

What's hot (20)

PDF
IoT Scale Event-Stream Processing for Connected Fleet at Penske
PDF
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
PDF
Cloud native Microservices using Spring Boot
PDF
Cics ts v5.4 continuous delivery and v5.5 what's new
PDF
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
PPTX
Api more than payload (2021 Update)
PDF
10 Crucial Steps to Ensuring Performance of TIBCO BusinessWorks
PDF
運用高效、敏捷全新平台極速落實雲原生開發
PPTX
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
PDF
Cloud Native 下的應用網路設計
PDF
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
PDF
The Cloud Revolution - Philippines Cloud Summit
PPTX
Speeding Up Innovation
PDF
How to develop your first cloud-native Applications with Java
PDF
cncf overview and building edge computing using kubernetes
PDF
High-Precision GPS Positioning for Spring Developers
PDF
CNCF Live Webinar: Kubernetes 1.23
PDF
Curated "Cloud Design Patterns" for Call Center Platforms
PDF
Delivering with Microservices - How to Iterate Towards Sophistication
PDF
Orchestration Patterns for Microservices with Messaging by RabbitMQ
IoT Scale Event-Stream Processing for Connected Fleet at Penske
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Cloud native Microservices using Spring Boot
Cics ts v5.4 continuous delivery and v5.5 what's new
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Api more than payload (2021 Update)
10 Crucial Steps to Ensuring Performance of TIBCO BusinessWorks
運用高效、敏捷全新平台極速落實雲原生開發
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Cloud Native 下的應用網路設計
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
The Cloud Revolution - Philippines Cloud Summit
Speeding Up Innovation
How to develop your first cloud-native Applications with Java
cncf overview and building edge computing using kubernetes
High-Precision GPS Positioning for Spring Developers
CNCF Live Webinar: Kubernetes 1.23
Curated "Cloud Design Patterns" for Call Center Platforms
Delivering with Microservices - How to Iterate Towards Sophistication
Orchestration Patterns for Microservices with Messaging by RabbitMQ
Ad

Similar to Cloud-native Event-driven Data Ecosystem Powered by Kafka and Akka (Masih Derkani, Solarwinds) Kafka Summit London 2019 (20)

PDF
Cisco Connect Ottawa 2018 consuming public and private clouds
PDF
Brkcld 2215
PDF
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
PDF
Driving Down Costs of z Systems™ Storage
PDF
Battling the disrupting Energy Markets utilizing PURE PLAY Cloud Computing
PPTX
Cisco Live: Containers on Enterprise Compute and Networks
PDF
Using OpenContrail with Kubernetes
PDF
Data stream with cruise control
PDF
OpenACC and Open Hackathons Monthly Highlights June 2022.pdf
PPTX
Cloud native java workshop
PPTX
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
PPTX
StampedeCon 2015 Keynote
PDF
Cloudera DataTalks 2019 Bangalore - YuniKorn A next generation scheduler for ...
PDF
Pathways to Multicloud Transformation
 
PPTX
Running your Spring Apps in the Cloud Javaone 2014
PDF
UCS Update: Efficiently Managing your server environment for traditional ente...
PPTX
Cloud Computing and the Promise of Everything as a Service
PDF
High Availability & Disaster Recovery on Oracle Cloud Infrastructure
PDF
JVMs in Containers - Best Practices
PDF
Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)
Cisco Connect Ottawa 2018 consuming public and private clouds
Brkcld 2215
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
Driving Down Costs of z Systems™ Storage
Battling the disrupting Energy Markets utilizing PURE PLAY Cloud Computing
Cisco Live: Containers on Enterprise Compute and Networks
Using OpenContrail with Kubernetes
Data stream with cruise control
OpenACC and Open Hackathons Monthly Highlights June 2022.pdf
Cloud native java workshop
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
StampedeCon 2015 Keynote
Cloudera DataTalks 2019 Bangalore - YuniKorn A next generation scheduler for ...
Pathways to Multicloud Transformation
 
Running your Spring Apps in the Cloud Javaone 2014
UCS Update: Efficiently Managing your server environment for traditional ente...
Cloud Computing and the Promise of Everything as a Service
High Availability & Disaster Recovery on Oracle Cloud Infrastructure
JVMs in Containers - Best Practices
Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)
Ad

More from confluent (20)

PDF
Stream Processing Handson Workshop - Flink SQL Hands-on Workshop (Korean)
PPTX
Webinar Think Right - Shift Left - 19-03-2025.pptx
PDF
Migration, backup and restore made easy using Kannika
PDF
Five Things You Need to Know About Data Streaming in 2025
PDF
Data in Motion Tour Seoul 2024 - Keynote
PDF
Data in Motion Tour Seoul 2024 - Roadmap Demo
PDF
From Stream to Screen: Real-Time Data Streaming to Web Frontends with Conflue...
PDF
Confluent per il settore FSI: Accelerare l'Innovazione con il Data Streaming...
PDF
Data in Motion Tour 2024 Riyadh, Saudi Arabia
PDF
Build a Real-Time Decision Support Application for Financial Market Traders w...
PDF
Strumenti e Strategie di Stream Governance con Confluent Platform
PDF
Compose Gen-AI Apps With Real-Time Data - In Minutes, Not Weeks
PDF
Building Real-Time Gen AI Applications with SingleStore and Confluent
PDF
Unlocking value with event-driven architecture by Confluent
PDF
Il Data Streaming per un’AI real-time di nuova generazione
PDF
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
PDF
Break data silos with real-time connectivity using Confluent Cloud Connectors
PDF
Building API data products on top of your real-time data infrastructure
PDF
Speed Wins: From Kafka to APIs in Minutes
PDF
Evolving Data Governance for the Real-time Streaming and AI Era
Stream Processing Handson Workshop - Flink SQL Hands-on Workshop (Korean)
Webinar Think Right - Shift Left - 19-03-2025.pptx
Migration, backup and restore made easy using Kannika
Five Things You Need to Know About Data Streaming in 2025
Data in Motion Tour Seoul 2024 - Keynote
Data in Motion Tour Seoul 2024 - Roadmap Demo
From Stream to Screen: Real-Time Data Streaming to Web Frontends with Conflue...
Confluent per il settore FSI: Accelerare l'Innovazione con il Data Streaming...
Data in Motion Tour 2024 Riyadh, Saudi Arabia
Build a Real-Time Decision Support Application for Financial Market Traders w...
Strumenti e Strategie di Stream Governance con Confluent Platform
Compose Gen-AI Apps With Real-Time Data - In Minutes, Not Weeks
Building Real-Time Gen AI Applications with SingleStore and Confluent
Unlocking value with event-driven architecture by Confluent
Il Data Streaming per un’AI real-time di nuova generazione
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
Break data silos with real-time connectivity using Confluent Cloud Connectors
Building API data products on top of your real-time data infrastructure
Speed Wins: From Kafka to APIs in Minutes
Evolving Data Governance for the Real-time Streaming and AI Era

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Big Data Technologies - Introduction.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Cloud computing and distributed systems.
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Building Integrated photovoltaic BIPV_UPV.pdf
Machine learning based COVID-19 study performance prediction
Big Data Technologies - Introduction.pptx
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
sap open course for s4hana steps from ECC to s4
Cloud computing and distributed systems.
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Cloud-native Event-driven Data Ecosystem Powered by Kafka and Akka (Masih Derkani, Solarwinds) Kafka Summit London 2019

  • 1. Cloud-Native, Event-Driven Data Ecosystem Powered by Kafka and Akka Masih H. Derkani
  • 2. This presentation contains forward-looking statements regarding future product plans and development efforts. SolarWinds considers various features and functionality prior to any final generally available release. Information in this presentation regarding future features and functionality is not and should not be interpreted as a commitment from SolarWinds that it will deliver any specific feature or functionality in the future or, if it delivers such feature or functionality, any time frame when that feature or functionality will be delivered. All information is based upon current product interests, and product plans and priorities can change at any time. SolarWinds undertakes no obligation to update any forward-looking statements regarding future product plans and development efforts if product plans or priorities change. 2
  • 3. 3 Agenda Background. The Challenge. Mission. EventBus. EventBus Reborn. What’s Next. Takeaways. © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 4. 4 The MSP business Background and a whole lot of subsystems… © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 5. 5 ≈6.3M Managed Devices Scale The Challenge © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 6. 6 ≈6.3M Managed Devices ≈22B Events per Day Scale The Challenge © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 7. 7 ≈37MDiscovered Devices in RMM sub-systems alone. Scale The Challenge © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 8. 8 Existing infrastructure The Challenge © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 9. 9 Cultural shift The Challenge © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved. Source: https://www.amazon.co.uk/Ridleys-Games-Chess-Checkers-Wooden/dp/B00OBQL8GO The game has changed; time to adapt.
  • 10. 10 Philosophy Mission © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved. Platform. Ecosystem. Enable engineers to assemble, not fabricate. Expose essential complexity, minimize accidental complexity. DaVinci D a t a P l a t f o r m
  • 11. 11 Fundamental data flow Mission © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 12. 12 Data flow in more detail Mission © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 13. 13 The Nervous System of Data Platform. Uniform data format for all. Multiple Kafka Clusters. Custom Java client library. Keep Kafka swappable. Guaranteed order and delivery. DaVinci EventBus …is born EventBus © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 14. 14 High-level architecture EventBus © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 15. 15 K8S cluster built to work with SolarWinds services. Infrastructure as code. ≈5 minutes to deploy a fresh Kafka Cluster. Need for resilience is built into the environment. Cloud-native environment EventBus: Deployment © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 16. 16 Abstraction over Kafka topics EventBus: Streams © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 17. 17 Multicluster management EventBus: Manager © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 18. 18 Topic configuration management EventBus: Manager © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 19. 19 Stream route file management EventBus: Manager © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 20. 20 Stage 1 Cluster Switch Example © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 21. 21 Stage 2 Cluster Switch Example © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 22. 22 Endpoint and status metadata Example Route File { "updated": 1554901518, "clusters": [{ "uid": "kingpin", "name": "kingpin", "conInternal": ["kingpin-kafka-headless:9092"], "conExternal": ["kingpin-0.eventbus.solarwindsmsp.com:443"]} ], "producer": { "cluster_uid": "kingpin", "status": "active", "topic": "fish"}, "consumer": [ {"cluster_uid": "kingpin", "status": "active", "topic": "fish"} ] } © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 23. 23 Incoming message flow on rerouting Cluster Switch Example © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 24. 24 So far, so good… © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 25. 25 So far, so good… (until the first client failed) x © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 26. 26 Only two levels of Cluster History. Difficult to diagnose client issues. Bug fixes = high code churn for clients. Hard to support multi-language client. Cultural shift towards event-driven architecture. Pushing forward Room for Improvements © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved. $
  • 27. 27 High-level architecture EventBus 2.0 © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 28. 28 Sharding and coordination via Akka EventBus 2.0 © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 29. 29 Single EventBus stream identity across multiple Kafka Clusters Kafka Cluster Transparency © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 30. 30 Generic gRPC components for Java, Go, C# and node.js. Cross-cluster consumer group coordination. Automated partition count elasticity. Automated Kafka Cluster Deployment. GDPR built-in. l Plans What’s Next © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 31. 31 Teach the difference between consumption and processing. Watch out for leaky abstractions. Avoid exposing partitions. Timestamp over offset. APIs everywhere. Auto-generate multilanguage client libraries. & …the hard way Lessons We Learned © 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 32. Q&A 32© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 33. THANK YOU! 33© 2019 SolarWinds MSP Canada ULC and SolarWinds MSP UK Ltd. All rights reserved.
  • 34. The SolarWinds and SolarWinds MSP trademarks are the exclusive property of SolarWinds MSP Canada ULC, SolarWinds MSP UK Ltd. or its affiliates and may be registered or pending registration with the U.S. Patent and Trademark Office and in other countries. All other SolarWinds MSP and SolarWinds trademarks, service marks, and logos may be common law marks or are registered or pending registration. All other trademarks mentioned herein are used for identification purposes only and are trademarks (and may be registered trademarks) of their respective companies. 34