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
Mehmet Sezer
December 15, 2024
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Designing Resilient Platforms with Workflow Orchestration
Mehmet Sezer
December 15, 2024
Other Decks in Programming
See All in Programming
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
typoなんかねぇよ
raspython3
0
660
Foundry Localでエージェント開発
seosoft
0
120
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
170
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
110
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
1k
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
53
35k
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
350
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
670
Deep dive into the select statement (GopherCon UK)
jespino
0
170
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
250
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
230
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
500
The Spectacular Lies of Maps
axbom
PRO
1
970
How to train your dragon (web standard)
notwaldorf
97
6.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
260
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Accessibility Awareness
sabderemane
1
200
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
450
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
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