Presentation given by Thorben Lindhauer and Daniel Meyer at Camunda Night at Zalando Inno Lab https://www.meetup.com/Zalando-Tech-Events-Berlin/events/242890035/
2. • 140 customers in 18 countries
• > 85% of customers use Camunda for core business processes
• Company revenue in growth 2016: 82%
• > 70 Employees
Camunda
AT&T
3. Meet Zeebe
“Zeebe” a new Microservice Orchestration Engine that we have written completely from scratch.
Zeebe is Open Source and available at
• https://zeebe.io (Website)
• https://github.com/zeebe-io (Github)
12. Data Flow
Zeebe uses JSON format for data / payload
{…} {…} {…}
Initial payload document is
provided to the workflow
Payload document “travels”
through the workflow. Tasks can
read / write it.
13. Audit / History Log
Generate Event Stream
As Zeebe advances through a Workflow Instance, it generates a stream of events.
This event stream is both history but also “drives the execution forward”.
Internally Zeebe works as an Event Sourcing System.
14. Persistence
- Persistence uses local filesystem on broker nodes
- “log streams”:
- log-structured (append-only) and consumed/processed as stream with option to
replay
- Format is Message-Pack (binary JSON) with custom binary framing
- Format is optimized for linear read / write and throughput levels at hardware I/O
bandwidth limit
See: https://github.com/zeebe-io/zb-logstreams
15. Replication
Log Streams are replicated across brokers using raft protocol
See: https://github.com/zeebe-io/zb-raft
Broker
2
Broker
1
Broker
3
Client
17. Resilience is the ability of a system to adapt or keep working when challenges
occur.
Ines Sombra, Architectural Patterns of Resilient Distributed Systems, Strangeloop 2015
37. Do all my workflows work from start to end?
Microservice monitoring
• Load metrics
• Error logs
• …
Worfklow monitoring
• Are tasks piling up?
• Is manual intervention required?
• …
38. Do all my workflows work from start to end?
1001 10031002 1004 1005 ……
39. Do all my workflows work from start to end?
1001 10031002
Thumbnail
Task
Created
1004
Thumbnail
Task
Created
1005
……
40. Do all my workflows work from start to end?
2
1001 10031002
Thumbnail
Task
Created
1004
Thumbnail
Task
Created
1005
……
41. 2
Do all my workflows work from start to end?
1
1002
Thumbnail
Task
Created
1004
1003
Thumbnail
Task
Created
1005
Thumbnail
Task
Failed
1006
……
49. Zeebe is designed for Performance
Design principles:
• Batching of I/O operations
• Linear read/write data access patterns
• Compact, cache-optimized data structures
• Lock free algorithms and actor concurrency (green threads model)
• Broker is garbage-free in the hot/data path