in collaboration with
The Event-Driven Enterprise: Rabobank’s Data Streaming Journey
Vincent Oostindië Jeroen van Disseldorp
The Event-Driven Enterprise: Rabobanks Data Streaming Journey - - PowerPoint PPT Presentation
in collaboration with The Event-Driven Enterprise: Rabobanks Data Streaming Journey Vincent Oostindi Jeroen van Disseldorp Who are we? Vincent Oostindi Jeroen van Disseldorp Business Architect Managing Director Rabobanks mission,
in collaboration with
Vincent Oostindië Jeroen van Disseldorp
Jeroen van Disseldorp Managing Director Vincent Oostindië Business Architect
Growing a better world together
Banking for the Netherlands Banking for Food
Excellent customer focus Rock-solid bank Empowered employees
10 Strategic Top Priorities
convenience in everything
nearby
execution
responsible contribution
communities
Meaningful cooperative
Increase relevance Become real-time Be 100% digital
Goals
Support financial health and growth
What we needed
A solution where “things that happen” can be captured from anywhere and delivered to anywhere for processing, as they occur, without consumers and producers knowing about each others existence.
The One Big Constraint Requirements
Security DevOps Control 24/7
Being a bank means a lot…
react.
§ Producers detect certain business events and post them in “business meaningful” terms. § Consumers subscribe to streams (or types of events) and handle them as they come in. § Streaming apps consume from one or more streams and produce to others.
Marketing Sales Purchasing Accounting Production Inventory Logistics Customer Service HR Asset Mgmt R&D IT
Business Event Bus
Examples of event-driven banking
Transform a youth account to a student account when turning 18 Customer birthday
Business Event Bus
Personal alert generation SMS Fraud detection Booking on a payment account Customer logging in Relevance engine Action Email Push
Rabobank chose Apache Kafka
Pros
Cons
Kafka Pulsar Solace Tibco Oracle Kinesis Pub/Sub EventHub
Data Owner IT Architect Developer Operator Procurement
Data governance Schema management Application governance Data lineage GDPR compliance Self-service for DevOps teams HA applications Development accelerators Test frameworks CI/CD support Standardized architecture Security architecture End-to-end encryption Flexible use of stream engines Data replication Hybrid cloud Multitenancy Name spacing Monitoring Alerting Pre-defined alert rules Fool-proof operations Vendor credibility Regulatory compliance Auditability Proven solution Flexible contracts
“ Streaming Made Simple ”
We enable DevOps teams to create business value using streaming data in a matter of hours, while guarding enterprise governance and security.
Platform
General purpose Ready-to-go Secure and governed Hybrid cloud / on-premise
Tools
Development accelerators Example code Documentation Self-service
Support
DevOps team Use-case intakes Design reviews Expert consultancy
High Availability Security Data Governance Self-Service
Business Event Bus
Client Application DC or Cloud DC or Cloud
Multi-directional message/offset replication
Apache Zookeeper
Apache Kafka
Apache Zookeeper Apache Kafka
API API
Discovery API Axual Client Library Replication within datacenters
One logical platform for applications
Apps’ perspective
§
produce/consume
and planned maintenance windows)
Producer 1 Producer 2 Producer 3 Data Stream Data Stream Data Stream Data Stream Data Stream Data Stream Data Stream Data Stream Data Stream Consumer 1 Consumer 2 Consumer 3 Consumer n
Business Event Bus
Security Mechanisms
by default
authorization
Application Catalog
Stream Access Rights Management
files
Maintain control over your streaming landscape
Stream Governance
message formats
Schema Governance
Keep calm and... build an enterprise-ready data streaming use case in minutes
Joris Meijer and Bogdan Sucaciu
Thursday 10:30 – 11:30 Techdemo Hall
API On-premise DC1 API On-premise DC2 API Azure Amsterdam Cluster API Azure Dublin API AWS API Google Cloud API Cluster Cluster Cluster Cluster Cluster High Availability 2.0
cluster
Multi-tenancy 2.0
Content Delivery Network for Streams
Rabobank on-premise
DMZ DC1 DC2 App 1 App 2 App 4 App 5 Cluster 1 (Single tenant)
Message/offset distribution Message/offset distribution
Cluster 2 (Single tenant)
Rabobank Azure
App 6 App 7
Axual Cloud
Amsterdam Dublin Public endpoints Cluster 3 (Multi tenant) Cluster 4 (Multi tenant)
Message/offset distribution Message/offset distribution
Trust channel Trust channel App 3
Rabobank on-premise
DMZ DC1 DC2 App 1 App 2 App 4 App 5 Cluster 1 (Single tenant)
Message/offset distribution Message/offset distribution
Cluster 2 (Single tenant)
Rabobank Azure
App 6 App 7
Axual Cloud
Amsterdam Dublin Public endpoints Cluster 3 (Multi tenant) Cluster 4 (Multi tenant)
Message/offset distribution Message/offset distribution
Trust channel Trust channel App 3
DC / Cloud
Hardware, VM, OS producers/consumers
Enterprise Streaming Platform
Kafka clusters, message/offset synchronization, performance, availability
Topics + Data
Infrastructure maintenance Technical maintenance Functional maintenance
Team Team Team Team
Registered Applications Topics in Production Topics in Dev / Test / Acceptance
x 2 x 3 x 4
Teams supported
Messages/day
Alerting Performance measurements Customer analytics Transactions Card activations PSD2 account management Logons
Today Tomorrow
Microservices Content publication Fraud detection Privacy dashboard Payment requests Device registrations
Jeroen van Disseldorp Managing Director Axual jeroen@axual.com Vincent Oostindië Business Architect Rabobank vincent.oostindie@rabobank.nl
www.axual.com start@axual.com