SlideShare a Scribd company logo
Using Kafka: the Flowable Event Registry
Joram Barrez (@jbarrez)
Filip Hrisafov (@filiphr)
©2019FlowableAG. All rights reserved.
Event-Driven Architectures
• In the Flowable community, we have seen
• People experimenting with event-driven/event-sourcing
architectures
• (or more often architectures enriched with events)
• Demand for out-of-the-box support
2
©2019FlowableAG. All rights reserved.
Event-Driven Architectures
• A process/case fits naturally
• Can be the ‘Command’ of an event
(e.g. the C in CQRS)
• Have state to react on the change expressed in the event
(state is often the hard part of event-sourcing)
3
©2019FlowableAG. All rights reserved.
Quick Demo
4
©2019FlowableAG. All rights reserved.
Implementation – The event registry
5
Flowable
Engine
EventRegistry
EventBus
EventDefinitionEventDefinitionEventDefinition
Consumers
Central repository of event metadata
Dispatches events to consumers
(default process/case behaviors are also a consumer)
Description of event structure:
- Payload
- Correlation
©2019FlowableAG. All rights reserved.
Implementation – Channels and Pipelines
6
Flowable
Engine
EventRegistry
EventBus
Channel Adapter
Event Consumer
Inbound Channel
Inbound Pipeline
Deserialization
Event key detection
* All shown here on the slide are pluggable
Payload extraction
Event transformation
©2019FlowableAG. All rights reserved.
Implementation – Channels and Pipelines
7
Flowable
Engine
EventRegistry
EventBus
Channel Adapter
Event Producer
Outbound Channel
Outbound Pipeline
Serialization
Event transformation
Demo
https://github.com/flowable/flowable-examples/tree/master/devoxx2019
©2019FlowableAG. All rights reserved.
• Fictional electrical kick-
scooter startup
• Customer satisfaction is
priority #1
Use Case
9
©2019FlowableAG. All rights reserved.
• Customer can provide a review
• Review à Kafka
• A customer case
• Groups all reviews
• Kicks of a sentiment analysis process
• Analysis is done using a process that
calls out to AWS Comprehend
• Bad review à A task for an
employee is created to try to fix the
relationship
Use Case
10
©2019FlowableAG. All rights reserved.
Architecture
11
* (5th service (Spring Cloud API gateway) not shown to simplify things)
UI for customers
Review Service
Customer
Relationship
Service
Flowable Task
Sentiment Analysis
service
UI for employees
AWS Comprehend
Review Event
Review Event Analysis
Result
Analysis
Result
Analysis
Request
Analysis
Request
©2019FlowableAG. All rights reserved.
Demo: The models explained
12
©2019FlowableAG. All rights reserved.
Demo
• Simulating reviews
• Stepping through a bad user review
13
©2019FlowableAG. All rights reserved.
Demo: Review Service
• Simple Spring Webflux REST API
• Reactive pushing of events from UI into Kafka
14
©2019FlowableAG. All rights reserved.
Demo: Customer Case Service
• Spring Boot application
• Flowable Spring Boot starters
• Autodeploy cases and process models
• Register event channels and definitions
• Postgres DB
15
©2019FlowableAG. All rights reserved.
Demo: Customer Case Service
• The sentiment process doesn’t use the ‘old way’
• Send-and-wait-for-response pattern
• Race condition problem
16
©2019FlowableAG. All rights reserved.
Demo: Customer Case Service
• The sentiment process uses a triggerable service task
17
• During execution (tx1)
• Create event subscription
• Create async job data (to send event)
• Post-commit (tx2)
• Trigger job executor (or other node)
• Send event asynchronously
• Go into wait state
• Event receival (tx3)
• Trigger for continuation
©2019FlowableAG. All rights reserved.
Demo: Customer Case Service
• Can this also be made reactive?
• Yes!
• Nicely scaling of message stream handling depending on load
• (insertion of async Flowable job at event receival using R2DBC)
18
©2019FlowableAG. All rights reserved.
Demo: The Sentiment Analysis Service
• Spring Boot application
• Flowable Spring Boot starters
• Autodeploy process model
• Uses AWS SDK to call out to AWS Comprehend
19
©2019FlowableAG. All rights reserved.
Demo: Flowable Task
• Bad review à employee form
20
©2019FlowableAG. All rights reserved.
Demo: The Sentiment Analysis Service
• This service is effectively a function
• Can be run serverless
• With all the benefits of using Flowable
• Visual models, audit/history, etc.
21
©2019FlowableAG. All rights reserved.
Serverless Core Concepts
• Ephemeral (short living)
• Only booted up when needed
• Cold starts
• Auto scaling
• Heavy load à boot up more instances
• No Server management
• Logic is deployed to a ‘serverless provider’
• Don’t care, up to the cloud vendor
• Pay as you use
22
©2019FlowableAG. All rights reserved.
What is serverless?
• A better name would be ‘on-demand/event server’
• (it’s still running on a server)
23
©2019FlowableAG. All rights reserved.
Flowable Serverless (Experimental)
• Challenges
• Cold start
• State
• Solutions
• In memory (no Database)
• No wait states (straight-through processes)
24
©2019FlowableAG. All rights reserved.
What is serverless?
• Example: Amazon AWS Lambda
• AWS Lamba in/out can be chained to the whole AWS ecosystem:
S3/SQS/Alexa/DynamoDB/…
25
©2019FlowableAG. All rights reserved.
Architecture
26
* (5th service (Spring Cloud API gateway) not shown to simplify things)
UI for customers
Review Service
Customer
Relationship
Service
Flowable Task
Sentiment Analysis
service
UI for employees
AWS Comprehend
Review Event
Review Event Analysis
Result
Analysis
Result
Analysis
Request
Analysis
Request
©2019FlowableAG. All rights reserved.
AWS Architecture
27
AWS Cloud
API
Gateway
AWS SQS
Review Event
Frontend
(S3)
Review Event
Analysis
Request Analysis
Result
Analysis
Request
Analysis
Result
Customer Review
Application (EC2)
Sentiment
Analysis
Browser
Comprehe
nd
©2019FlowableAG. All rights reserved.
Review Service Differences
• Doesn’t exist J
• API Gateway pushes events directly to Amazon SQS
28
©2019FlowableAG. All rights reserved.
Customer Case Service Differences
• Listens from Amazon SQS instead of Kafka
• The channel/adapter concept makes this very flexible
• Without impact on using the events in the model
29
©2019FlowableAG. All rights reserved.
Sentiment Analysis Service Differences
• Flowable with in memory DB (no SQL)
• Triggers via Amazon SQS as a Lambda
• Timing (with 256MB Lambda)
• Cold start billed 30s / Engine start 6s / Deploy 1.2s
• Preheat start: billed 1s / Engine start 60ms / Deploy 80ms
• Sends analysis results synchronously to Amazon SQS
30
©2019FlowableAG. All rights reserved.
Serverless: No Free Lunch
• Vendor lock-in
• Security?
• Debugging?
31
©2019FlowableAG. All rights reserved.
Future Ideas
• Aurora serverless
• Passing state around with event payload
32
©2019FlowableAG. All rights reserved.
Conclusions
• We’ve shown that
• using Flowable in event-driven architectures is easy, yet very
powerful
• Flowable is extremely flexible when it comes to
• switching queue/event stream choice
• deploying your Flowable applications in different environments
• running a process as a serverless function
33
Thank you.

More Related Content

What's hot (20)

PPTX
Docker 101 - Nov 2016
Docker, Inc.
 
PDF
VM Autoscaling With CloudStack VR As Network Provider
ShapeBlue
 
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
Araf Karsh Hamid
 
PDF
Service discovery with Eureka and Spring Cloud
Marcelo Serpa
 
PDF
Disaster Recovery with MirrorMaker 2.0 (Ryanne Dolan, Cloudera) Kafka Summit ...
confluent
 
PDF
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes
 
PPTX
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 
PPTX
Microservices Architecture Part 2 Event Sourcing and Saga
Araf Karsh Hamid
 
PDF
Building Reliable Data Lakes at Scale with Delta Lake
Databricks
 
PPTX
Introduction to Microservices
Roger van de Kimmenade
 
PPSX
Domain Driven Design
Araf Karsh Hamid
 
PDF
Driving Digital Transformation With Containers And Kubernetes Complete Deck
SlideTeam
 
PDF
When NOT to use Apache Kafka?
Kai Wähner
 
PPTX
Introduction to Apache Kafka
AIMDek Technologies
 
PPTX
Agile vs dev ops
OnGraph Technologies
 
PDF
Observability & Datadog
JamesAnderson599331
 
PPTX
Grafana Loki (Monitoring Tool) Presentation
Knoldus Inc.
 
PPSX
Microservices, Containers, Kubernetes, Kafka, Kanban
Araf Karsh Hamid
 
PDF
Flowable on Kubenetes
Flowable
 
PDF
Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023
SaiLinnThu2
 
Docker 101 - Nov 2016
Docker, Inc.
 
VM Autoscaling With CloudStack VR As Network Provider
ShapeBlue
 
CI-CD Jenkins, GitHub Actions, Tekton
Araf Karsh Hamid
 
Service discovery with Eureka and Spring Cloud
Marcelo Serpa
 
Disaster Recovery with MirrorMaker 2.0 (Ryanne Dolan, Cloudera) Kafka Summit ...
confluent
 
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 
Microservices Architecture Part 2 Event Sourcing and Saga
Araf Karsh Hamid
 
Building Reliable Data Lakes at Scale with Delta Lake
Databricks
 
Introduction to Microservices
Roger van de Kimmenade
 
Domain Driven Design
Araf Karsh Hamid
 
Driving Digital Transformation With Containers And Kubernetes Complete Deck
SlideTeam
 
When NOT to use Apache Kafka?
Kai Wähner
 
Introduction to Apache Kafka
AIMDek Technologies
 
Agile vs dev ops
OnGraph Technologies
 
Observability & Datadog
JamesAnderson599331
 
Grafana Loki (Monitoring Tool) Presentation
Knoldus Inc.
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Araf Karsh Hamid
 
Flowable on Kubenetes
Flowable
 
Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023
SaiLinnThu2
 

Similar to Using Kafka: Anatomy of the Flowable event registry (20)

PPTX
Flowable Business Processing from Kafka Events
Flowable
 
PDF
2019 10-21 Java in the Age of Serverless
Matt Rutkowski
 
PDF
Serverless: A love hate relationship
Jürgen Brüder
 
PDF
NDev Talk - Serverless Design Patterns
Ryan Green
 
PDF
Experiences in Architecting & Implementing Platforms using Serverless.pdf
Srushith Repakula
 
PDF
Introduction to Serverless through Architectural Patterns
Mathieu Mailhos
 
PDF
Event Sourcing, Stream Processing and Serverless (Ben Stopford, Confluent) K...
confluent
 
PDF
Event Driven Services Part 2: Building Event-Driven Services with Apache Kafka
Ben Stopford
 
PDF
The future will be Serverless - JSDay Verona 2018
Luciano Mammino
 
PPTX
Using Event Streams in Serverless Applications
Jonathan Dee
 
PPTX
Cassandra Lunch #88: Cadence
Anant Corporation
 
PDF
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
confluent
 
PDF
Building Event-Driven Services with Apache Kafka
confluent
 
PDF
Building a serverless company on AWS lambda and Serverless framework
Luciano Mammino
 
PDF
JustGiving | Serverless Data Pipelines, API, Messaging and Stream Processing
BEEVA_es
 
PDF
JustGiving – Serverless Data Pipelines, API, Messaging and Stream Processing
Luis Gonzalez
 
PDF
Blueprint Series: Architecture Patterns for Implementing Serverless Microserv...
Matt Stubbs
 
PDF
Serverless, oui mais pour quels usages ?
VMware Tanzu
 
PPTX
Building Serverless Microservices Using Serverless Framework on the Cloud
Srini Karlekar
 
PPTX
The Problem is Data: Gwen Shapira, Confluent, Serverless NYC 2018
iguazio
 
Flowable Business Processing from Kafka Events
Flowable
 
2019 10-21 Java in the Age of Serverless
Matt Rutkowski
 
Serverless: A love hate relationship
Jürgen Brüder
 
NDev Talk - Serverless Design Patterns
Ryan Green
 
Experiences in Architecting & Implementing Platforms using Serverless.pdf
Srushith Repakula
 
Introduction to Serverless through Architectural Patterns
Mathieu Mailhos
 
Event Sourcing, Stream Processing and Serverless (Ben Stopford, Confluent) K...
confluent
 
Event Driven Services Part 2: Building Event-Driven Services with Apache Kafka
Ben Stopford
 
The future will be Serverless - JSDay Verona 2018
Luciano Mammino
 
Using Event Streams in Serverless Applications
Jonathan Dee
 
Cassandra Lunch #88: Cadence
Anant Corporation
 
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
confluent
 
Building Event-Driven Services with Apache Kafka
confluent
 
Building a serverless company on AWS lambda and Serverless framework
Luciano Mammino
 
JustGiving | Serverless Data Pipelines, API, Messaging and Stream Processing
BEEVA_es
 
JustGiving – Serverless Data Pipelines, API, Messaging and Stream Processing
Luis Gonzalez
 
Blueprint Series: Architecture Patterns for Implementing Serverless Microserv...
Matt Stubbs
 
Serverless, oui mais pour quels usages ?
VMware Tanzu
 
Building Serverless Microservices Using Serverless Framework on the Cloud
Srini Karlekar
 
The Problem is Data: Gwen Shapira, Confluent, Serverless NYC 2018
iguazio
 
Ad

More from Flowable (15)

PDF
Creating a checklist engine with Flowable
Flowable
 
PDF
How SAP uses Flowable as its BPMN engine for SAP CP Workflow
Flowable
 
PDF
FlowFest Welcome
Flowable
 
PDF
Low code with Flowable
Flowable
 
PDF
Flowable 2019 What's New
Flowable
 
PDF
Complex batch process migration
Flowable
 
PDF
BPMN and CMMN execution error analysis
Flowable
 
PPTX
BpmNEXT2019 - The Case of Intentional Process
Flowable
 
PDF
Flowable: Life, death and all the other processes in between
Flowable
 
PDF
What’s New with Flowable?
Flowable
 
PDF
Flowable What´s coming next?
Flowable
 
PDF
Advanced process migration with Flowable
Flowable
 
PDF
Flowable: High wealth customer engagement through chat-driven case and process
Flowable
 
PDF
Flowable: Building a crowd sourced document extraction and verification system
Flowable
 
PDF
Deploying Flowable at scale in AWS
Flowable
 
Creating a checklist engine with Flowable
Flowable
 
How SAP uses Flowable as its BPMN engine for SAP CP Workflow
Flowable
 
FlowFest Welcome
Flowable
 
Low code with Flowable
Flowable
 
Flowable 2019 What's New
Flowable
 
Complex batch process migration
Flowable
 
BPMN and CMMN execution error analysis
Flowable
 
BpmNEXT2019 - The Case of Intentional Process
Flowable
 
Flowable: Life, death and all the other processes in between
Flowable
 
What’s New with Flowable?
Flowable
 
Flowable What´s coming next?
Flowable
 
Advanced process migration with Flowable
Flowable
 
Flowable: High wealth customer engagement through chat-driven case and process
Flowable
 
Flowable: Building a crowd sourced document extraction and verification system
Flowable
 
Deploying Flowable at scale in AWS
Flowable
 
Ad

Recently uploaded (20)

PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 

Using Kafka: Anatomy of the Flowable event registry

  • 1. Using Kafka: the Flowable Event Registry Joram Barrez (@jbarrez) Filip Hrisafov (@filiphr)
  • 2. ©2019FlowableAG. All rights reserved. Event-Driven Architectures • In the Flowable community, we have seen • People experimenting with event-driven/event-sourcing architectures • (or more often architectures enriched with events) • Demand for out-of-the-box support 2
  • 3. ©2019FlowableAG. All rights reserved. Event-Driven Architectures • A process/case fits naturally • Can be the ‘Command’ of an event (e.g. the C in CQRS) • Have state to react on the change expressed in the event (state is often the hard part of event-sourcing) 3
  • 4. ©2019FlowableAG. All rights reserved. Quick Demo 4
  • 5. ©2019FlowableAG. All rights reserved. Implementation – The event registry 5 Flowable Engine EventRegistry EventBus EventDefinitionEventDefinitionEventDefinition Consumers Central repository of event metadata Dispatches events to consumers (default process/case behaviors are also a consumer) Description of event structure: - Payload - Correlation
  • 6. ©2019FlowableAG. All rights reserved. Implementation – Channels and Pipelines 6 Flowable Engine EventRegistry EventBus Channel Adapter Event Consumer Inbound Channel Inbound Pipeline Deserialization Event key detection * All shown here on the slide are pluggable Payload extraction Event transformation
  • 7. ©2019FlowableAG. All rights reserved. Implementation – Channels and Pipelines 7 Flowable Engine EventRegistry EventBus Channel Adapter Event Producer Outbound Channel Outbound Pipeline Serialization Event transformation
  • 9. ©2019FlowableAG. All rights reserved. • Fictional electrical kick- scooter startup • Customer satisfaction is priority #1 Use Case 9
  • 10. ©2019FlowableAG. All rights reserved. • Customer can provide a review • Review à Kafka • A customer case • Groups all reviews • Kicks of a sentiment analysis process • Analysis is done using a process that calls out to AWS Comprehend • Bad review à A task for an employee is created to try to fix the relationship Use Case 10
  • 11. ©2019FlowableAG. All rights reserved. Architecture 11 * (5th service (Spring Cloud API gateway) not shown to simplify things) UI for customers Review Service Customer Relationship Service Flowable Task Sentiment Analysis service UI for employees AWS Comprehend Review Event Review Event Analysis Result Analysis Result Analysis Request Analysis Request
  • 12. ©2019FlowableAG. All rights reserved. Demo: The models explained 12
  • 13. ©2019FlowableAG. All rights reserved. Demo • Simulating reviews • Stepping through a bad user review 13
  • 14. ©2019FlowableAG. All rights reserved. Demo: Review Service • Simple Spring Webflux REST API • Reactive pushing of events from UI into Kafka 14
  • 15. ©2019FlowableAG. All rights reserved. Demo: Customer Case Service • Spring Boot application • Flowable Spring Boot starters • Autodeploy cases and process models • Register event channels and definitions • Postgres DB 15
  • 16. ©2019FlowableAG. All rights reserved. Demo: Customer Case Service • The sentiment process doesn’t use the ‘old way’ • Send-and-wait-for-response pattern • Race condition problem 16
  • 17. ©2019FlowableAG. All rights reserved. Demo: Customer Case Service • The sentiment process uses a triggerable service task 17 • During execution (tx1) • Create event subscription • Create async job data (to send event) • Post-commit (tx2) • Trigger job executor (or other node) • Send event asynchronously • Go into wait state • Event receival (tx3) • Trigger for continuation
  • 18. ©2019FlowableAG. All rights reserved. Demo: Customer Case Service • Can this also be made reactive? • Yes! • Nicely scaling of message stream handling depending on load • (insertion of async Flowable job at event receival using R2DBC) 18
  • 19. ©2019FlowableAG. All rights reserved. Demo: The Sentiment Analysis Service • Spring Boot application • Flowable Spring Boot starters • Autodeploy process model • Uses AWS SDK to call out to AWS Comprehend 19
  • 20. ©2019FlowableAG. All rights reserved. Demo: Flowable Task • Bad review à employee form 20
  • 21. ©2019FlowableAG. All rights reserved. Demo: The Sentiment Analysis Service • This service is effectively a function • Can be run serverless • With all the benefits of using Flowable • Visual models, audit/history, etc. 21
  • 22. ©2019FlowableAG. All rights reserved. Serverless Core Concepts • Ephemeral (short living) • Only booted up when needed • Cold starts • Auto scaling • Heavy load à boot up more instances • No Server management • Logic is deployed to a ‘serverless provider’ • Don’t care, up to the cloud vendor • Pay as you use 22
  • 23. ©2019FlowableAG. All rights reserved. What is serverless? • A better name would be ‘on-demand/event server’ • (it’s still running on a server) 23
  • 24. ©2019FlowableAG. All rights reserved. Flowable Serverless (Experimental) • Challenges • Cold start • State • Solutions • In memory (no Database) • No wait states (straight-through processes) 24
  • 25. ©2019FlowableAG. All rights reserved. What is serverless? • Example: Amazon AWS Lambda • AWS Lamba in/out can be chained to the whole AWS ecosystem: S3/SQS/Alexa/DynamoDB/… 25
  • 26. ©2019FlowableAG. All rights reserved. Architecture 26 * (5th service (Spring Cloud API gateway) not shown to simplify things) UI for customers Review Service Customer Relationship Service Flowable Task Sentiment Analysis service UI for employees AWS Comprehend Review Event Review Event Analysis Result Analysis Result Analysis Request Analysis Request
  • 27. ©2019FlowableAG. All rights reserved. AWS Architecture 27 AWS Cloud API Gateway AWS SQS Review Event Frontend (S3) Review Event Analysis Request Analysis Result Analysis Request Analysis Result Customer Review Application (EC2) Sentiment Analysis Browser Comprehe nd
  • 28. ©2019FlowableAG. All rights reserved. Review Service Differences • Doesn’t exist J • API Gateway pushes events directly to Amazon SQS 28
  • 29. ©2019FlowableAG. All rights reserved. Customer Case Service Differences • Listens from Amazon SQS instead of Kafka • The channel/adapter concept makes this very flexible • Without impact on using the events in the model 29
  • 30. ©2019FlowableAG. All rights reserved. Sentiment Analysis Service Differences • Flowable with in memory DB (no SQL) • Triggers via Amazon SQS as a Lambda • Timing (with 256MB Lambda) • Cold start billed 30s / Engine start 6s / Deploy 1.2s • Preheat start: billed 1s / Engine start 60ms / Deploy 80ms • Sends analysis results synchronously to Amazon SQS 30
  • 31. ©2019FlowableAG. All rights reserved. Serverless: No Free Lunch • Vendor lock-in • Security? • Debugging? 31
  • 32. ©2019FlowableAG. All rights reserved. Future Ideas • Aurora serverless • Passing state around with event payload 32
  • 33. ©2019FlowableAG. All rights reserved. Conclusions • We’ve shown that • using Flowable in event-driven architectures is easy, yet very powerful • Flowable is extremely flexible when it comes to • switching queue/event stream choice • deploying your Flowable applications in different environments • running a process as a serverless function 33