1
Orchestrating Cloud Events
KNative Meetup - Sept 2020
2
@Salaboy
Mauricio Salatino
http://salaboy.com
@Camunda / @ZeebeHQ / @LearnK8s
3
Disclaimer
Live, Remote, WebSockets, Kubernetes,
Knative, Cloud Events, Docker, Java, WiFi,
my laptop, what can possibly go wrong?
4
Tickets Website
Instructions/Source Code: https://github.com/salaboy/orchestrating-cloud-events/
5
Event Driven Approach
6
Tickets Website Architecture
7
Knative Serving
Knative Eventing
Universal subscrip/on, delivery, and
management of events.
Run serverless containers on Kubernetes with
ease, Kna/ve takes care of the details of
networking, autoscaling (even to zero), and
revision tracking.
8
Tickets Website (Knative)
> kubectl get channel
> kubectl get broker
> kubectl get triggers
9
Broker + Triggers
10
➡The sequence of events maCers
➡How do you deal with changes in this sequence?
➡It is hard to see where things are at a given /me
➡It is hard to figure out what to do when things go
wrong
Visibility/Changes?
11
Knative Flow
Sequence apiVersion: flows.knative.dev/v1
kind: Sequence
metadata:
name: sequence
spec:
channelTemplate:
apiVersion: messaging.knative.dev/v1
kind: InMemoryChannel
steps:
- ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: first
- ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: second
- ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: third
12
Knative Flow
Parallel
apiVersion: flows.knative.dev/v1
kind: Parallel
metadata:
name: odd-even-parallel
spec:
channelTemplate:
apiVersion: messaging.knative.dev/v1
kind: InMemoryChannel
branches:
- filter:
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: even-filter
subscriber:
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: even-transformer
- filter:
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: odd-filter
subscriber:
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: odd-transformer
reply:
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: event-display
13
Zeebe
Workflow Engine
• Microservices and Events Orchestration
•Available as
•SaaS (console.cloud.camunda.io)
•On-Prem (helm.zeebe.io)@ZeebeHQ
http://zeebe.io
14
Tickets Website (Knative + Zeebe)
15
Version 1: Understand
16
Tickets Website (Knative + Zeebe)
17
Triggers + Broker + Event Router
18
Version 2: Decorate/Enhance
19
Event Router + Broker + Trigger
20
Version 3: Workflow Orchestration
21
Version 3: Workflow Orchestration
22
Zeebe Operator
23
Next Steps
• Templated channels creation on deploy
• Demo with Human Interactions
• Separate WebSocket component using STOMP,
probably look into RSocket
@ZeebeHQ
http://zeebe.io
24
Questions?
https://github.com/salaboy/orchestrating-cloud-events/
@Salaboy

Orchestrating Cloud Events - Knative Meetup 2020