Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kafka Utrecht Meetup

1,213 views

Published on

In the first meetup of the Kafka Utrecht community we talked about Rabobank implementing an event driven architecture using Apache Kafka. This presentation tells the story the led up to the Business Event Bus platform and illustrates its use with a few business use cases. More information on the meeting can be foud here: https://www.meetup.com/Kafka-Meetup-Utrecht/events/232443728/

Published in: Software

Kafka Utrecht Meetup

  1. 1. Real-Time Relevance Rabobank’s Event-driven Architecture using Apache Kafka Jeroen van Disseldorp Dizzit
  2. 2. Dizzit &Who am I Personal • 41 years, married, father of two • Living in Raamsdonksveer • Fanatic squash player Education • 1997 MSc Computer Science, Utrecht • 2008 MBA Rotterdam School of Management, Erasmus University Career • Started developing at age 9 • 19 years in large corporations • Online, Open Source, Architecture • Passion for Product Development • Started Dizzit in 2014 • 3 FTE today, looking for new devs
  3. 3. Dizzit &Rabobank Senses Personal Dialogue Proactive and help out Every journey is a positive experience
  4. 4. Dizzit &Rabobank Mobile Banking A personal financial environment • Manage your payments, personal finance and bookkeeping intuitively and easily • Notifies you, at the right moment, thinks along Your financial network close • Rabobank advisors ‘one touch away’ • Always connected to your financial network • Collaborate and share with whomever you want Using your preferred device • Mobile, tablet, laptop, desktop • Brain or touch operation • Car
  5. 5. Dizzit &Being relevant Functionality Alerting Extra Inzicht 2.0 Up-to-date customer info Customer Journey Analytics
  6. 6. Dizzit &Alerting Case Customers want to be in control of their finances. This requires notifying them in situations that require action. For instance: • Balance below threshold • Salary received • Energy bill could not be paid • You spent more on groceries than you should have Challenge Rabobank allows customers to define custom notification rules. But the entire IT landscape is undergoing renewal. How to detect and process the relevant financial events?
  7. 7. Dizzit & Time-driven Request-driven Event-driven Initiator: Time Participants: specified systems Initiator: Client Participants: Client and Server Initiator: Event Participants: open-ended Data logistics mechanisms
  8. 8. Dizzit &Time-driven: Digestion “Data warehouses” Typically 3 times per day Batches Fixed process Slow but predictable
  9. 9. Dizzit & “SOA” Millions of times per day Individual commands Two involved parties Requires specific intent Request-driven: Movement
  10. 10. Dizzit &Event-driven: Nervous system Millions of times per day Observations, signals Context-dependant process Autonomous microservices “Business Event Bus” Millions of messages per day Individual observations and signals Context-dependent processing Network of systems
  11. 11. Dizzit & Business Event An event that is important for a customer and/or business expert
  12. 12. Dizzit & Business Event Bus Rabobank’s application integration platform that enables real-time business
  13. 13. Dizzit & Business Event Bus central nervous system Rabobank’s application integration platform that enables real-time business
  14. 14. Dizzit &Before Business Event Bus Producer 1 Producer 2 Producer 3 Consumer 1 Consumer 2 Consumer 3 Consumer 4
  15. 15. Dizzit &Using Business Event Bus Producer 1 Producer 2 Producer 3 Consumer 1 Consumer 2 Consumer 3 Consumer 4 Business Event Bus
  16. 16. Dizzit &Features Functionality Event Messaging Publish / subscribe model Schema registry for corporate data governance Strict security model Characteristics Extremely scalable, up to billions of messages per day Producers and consumers don’t know each other Producers and consumers don’t have to be available at the same time Allows both real-time and batch processing Producer 1 Producer 2 Producer 3 Consumer 1 Consumer 2 Consumer 3 Consumer 4 Business Event Bus
  17. 17. Dizzit &Being relevant Functionality Alerting Extra Inzicht 2.0 Up-to-date customer info Customer Journey Analytics
  18. 18. Dizzit &Extra Inzicht 2.0 Case Rabobank’s personal finance manager categorizes income and expenditures. Examples: • Mortgage • Groceries • Clothing Challenge The current solution processes transactions in nightly batches, so results are visible the next day only. This decreases the service’s value. The current IT solution is too expensive. A cheaper solution must be found, or the service will be discontinued entirely.
  19. 19. Dizzit &Being relevant Functionality Alerting Extra Inzicht 2.0 Up-to-date customer info Customer Journey Analytics
  20. 20. Dizzit &Up-to-date customer info Case Banking customers are given self-service pages with which they update their personal contact information. For instance: • Address • Email • Mobile phone number Challenge CRM contains the master customer data, but does not support high-volume queries. Therefore other systems store personal information as well. These systems must be notified of any change a customer makes to his/her personal information.
  21. 21. Dizzit &Being relevant Functionality Alerting Extra Inzicht 2.0 Up-to-date customer info Customer Journey Analytics
  22. 22. Dizzit &Customer Journey Analytics Case Rabobank monitors visitors and customers across website and app to track effectiveness and ease of use. Examples: • Product pages visited • Sales processes started • Services used Challenge The current solution supports only web-based channels. This means customers are not tracked across other internal channels (eg. bank offices, call centers, chats, API) and external channels (eg. Facebook, Twitter, external websites).
  23. 23. Dizzit &Making Rabobank relevant Alerting 200M+ rules / day 20M alerts / month Extra Inzicht 2.0 25M entries / day 10M categorizations / day Up-to-date customer info 150k+ updates / day Customer Journey Analytics 1M+ sessions / day
  24. 24. 24

×