Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Designing Resilient Platforms with Workflow Orc...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Mehmet Sezer
December 15, 2024
Programming
0
140
Designing Resilient Platforms with Workflow Orchestration
Mehmet Sezer
December 15, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.3k
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
270
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
950
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.1k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
580
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
500
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
310
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
360
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
210
Codex の「自走力」を高める
yorifuji
0
1.3k
How to stabilize UI tests using XCTest
akkeylab
0
140
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.6k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Optimizing for Happiness
mojombo
378
71k
Building AI with AI
inesmontani
PRO
1
820
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Typedesign – Prime Four
hannesfritz
42
3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Visualization
eitanlees
150
17k
Building an army of robots
kneath
306
46k
Producing Creativity
orderedlist
PRO
348
40k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Transcript
Mehmet Sezer Designing Resilient Platforms with Workflow Orchestration
About me
Reconciliation Process Developer I need a database Desired State
Platform Desired State Current State Reconciliation Process Observe Adjust
Resilient Requirements Replication Database Creation
Requirements Database Creation
Database Creation if there is a problem it can TAKE
WEEKS to create Can run parallel cluster creation for different regions
Requirements Replication
Replication Istanbul Ankara replication
Replication Can create replication between multi-region clusters Need to WAIT
for two clusters to be created successfully
Resilient Requirements
Resilient Need to overcome challenges to ensure EVENTUALLY success
How? Resilient Requirements Replication Database Creation
Let’s Code
Traditional Programming
Traditional Programming what if it takes days?
Traditional Programming what if it returns error?
Kafka Event streaming platform Publish, subscribe, and process messages efficiently.
Ideal for building data pipelines and event-driven systems, ensuring high throughput and reliability.
Kafka
Kafka Need to store database created events to understand all
region of the cluster is created. Race condition (what happen if two events come in same time?)
Kafka Still need a custom error management
Kafka Need to manage Kafka components
Kafka Cognitive Load
Business Process Modeling Notation(BPMN) Flow chart method that models the
steps of a planned business process from end to end
Create Replication Activity Istanbul Database Creation Activity Ankara Database Creation
Activity Done Developer Request Multi- Region Database Business Process Modeling Notation(BPMN)
Temporal Temporal is an open-source workflow orchestration platform. State Persistence
Built-in support for retries, timeouts, scheduled and long-running tasks. Support: Go, Java, PHP, Python, TypeScript .NET, Clojure, Scala, Ruby
Temporal
Temporal
Temporal
Temporal States Scheduled Scheduled Execution Started Started Started Execution Completed
Completed Completed Execution Failed failed failed Ready to process, worker can poll and start execution
Temporal
Temporal
Temporal Execution of code is stopped Will continue from BEGINNING
when an activity is completed.
Temporal Both activities worked successfully
Event Status Payload Istanbul Region Database Creation Completed ... Ankara
Region Database Creation Completed ... Temporal Temporal Event History Example
Event Status Payload Istanbul Region Database Creation Completed ... Ankara
Region Database Creation Completed ... Temporal Temporal Event History Example
Event Status Payload Istanbul Region Database Creation Completed ... Ankara
Region Database Creation Completed ... Temporal Event History Example Temporal
Event Status Payload Istanbul Region Database Creation Completed ... Ankara
Region Database Creation Completed ... Temporal Event History Example Temporal
Event Status Payload Istanbul Region Database Creation Completed ... Ankara
Region Database Creation Completed ... Temporal Event History Example Temporal
Event Status Payload Istanbul Region Database Creation Completed ... Ankara
Region Database Creation Completed ... Temporal Event History Example Temporal
Event Status Payload Istanbul Region Database Creation Completed ... Ankara
Region Database Creation Completed ... Replication Completed ... Temporal Temporal Event History Example
Temporal vs Traditional
Temporal Still can take long-time
Temporal Need to create single-region database
Temporal
Temporal
Temporal
Temporal
Temporal
Temporal
Temporal
mehmetsezerr Thank You mhmtszr Interested in joining us? mehmet.sezer