From ccb76f96119e6f9c41c77c6eeb661081068cde73 Mon Sep 17 00:00:00 2001 From: Adlan Ilyasov <162711821+IlyaAdlan@users.noreply.github.com> Date: Sun, 17 Aug 2025 17:03:45 +0200 Subject: [PATCH 1/3] Create temporal.io My case study --- src/content/docs/temporal.io | 101 +++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 src/content/docs/temporal.io diff --git a/src/content/docs/temporal.io b/src/content/docs/temporal.io new file mode 100644 index 000000000..d934e4462 --- /dev/null +++ b/src/content/docs/temporal.io @@ -0,0 +1,101 @@ +# Temporal.io Case Study: Workflows That Won't Let You Down + +## What Even is Temporal? + +So I stumbled on Temporal.io while looking for ways to make our backend more reliable - and man, this thing is cool. It's like if your regular backend workflows had a safety net. Originally built by the same folks who made AWS Step Functions, but way more flexible. + +Big names like Uber and Netflix use it for important stuff like payments and ride matching. The key thing? Your workflows **never** die, even if servers crash. As someone who's lost sleep over failed transactions, that got my attention. + +## A Bit of Backstory + +- 2019: Some smart ex-AWS engineers (including Maxim Fateev) built it +- 2021: Went open source which was huge +- 2024: Now has better Python/Go support and plays nice with Kubernetes + +## The Good Stuff + +Here's why I think Temporal stands out: + +### 1. It's Like Time Travel for Your Code +You know when your server crashes mid-process? With Temporal, it picks up right where it left off. No more: +- Duplicate orders +- Half-completed signups +- "Did that payment go through?" moments + +### 2. You Can Write Real Code +Unlike AWS Step Functions where you're stuck with JSON configurations, Temporal lets you use actual programming languages: + +```python +@workflow.defn +class OrderWorkflow: + async def run(self, order_id: str): + try: + await payment_processing(order_id) # This will retry if fails! + await ship_order(order_id) + except Error as e: + await send_failure_email(order_id) +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +## The Beauty of Temporal + +The beauty? If the conversion fails at 3AM, Temporal picks it right back up. No more waking up to failed jobs. + +## Real-World Use Cases + +From what I've seen, Temporal shines for: + +### 1. Financial Systems +- Payment processing that can't fail +- Fraud detection pipelines +- Reconciliation jobs + +### 2. E-commerce +- Order fulfillment that survives outages +- Inventory management +- Abandoned cart recovery + +### 3. DevOps +- Deployment orchestration +- Data pipeline management +- Backup operations + +## The Good, The Bad, and The Ugly + +### 👍 Why I Like It +- **Reliability**: Stuff actually completes +- **Visibility**: See every workflow's status +- **Flexibility**: Use real code, not just YAML + +### 👎 Pain Points +- **Learning Curve**: Took me 2 weekends to get comfortable +- **Operational Overhead**: Need to run the Temporal server +- **Debugging**: Can be tricky when things go wrong + +## Alternatives Compared (Chatgpt provided this "graph") + +| Tool | Best For | Why Temporal Might Be Better | +|---------------------|---------------------|-------------------------------------| +| AWS Step Functions | AWS shops | More coding flexibility | +| Airflow | Scheduled jobs | Better for real-time ops | +| Celery | Simple tasks | Built-in retries & state | + +## Should You Use Temporal? (Based on My Research) + +After digging through docs, case studies, and developer forums, here's what I've learned about when Temporal makes sense: + +**Consider Temporal when:** +- Your application **can't afford lost workflows** (payments, medical systems, etc.) +- You're currently **writing tons of retry/recovery code** for failed operations +- Your team has **bandwidth to learn** a new paradigm (it's not plug-and-play) + +**Probably overkill for:** +- Simple **scheduled tasks** (cron jobs handle these fine) +- Teams without **distributed systems experience** (there's a learning curve) +- Projects where **"good enough" reliability** is acceptable + +## Where I Found the Best Info + +1. [Temporal Documentation](https://docs.temporal.io/) - The concepts section helped most +2. [Uber's Engineering Blog](https://eng.uber.com/) - Real war stories about why they built it +3. [Community Discussions](https://community.temporal.io/) - Saw actual pain points people hit +4. [ChatGPT] Helped with writing this in a fitting way for Github From 03e5585d4e111d551163b86dc08cb1519d5b908d Mon Sep 17 00:00:00 2001 From: Adlan Ilyasov <162711821+IlyaAdlan@users.noreply.github.com> Date: Wed, 20 Aug 2025 16:28:51 +0200 Subject: [PATCH 2/3] Update temporal.io Added : --- title: temporal.io workflow orchestration platform case study author: Ilya Adlan tags: temporal, workflow, orchestration, backend, distributed-systems --- --- src/content/docs/temporal.io | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/content/docs/temporal.io b/src/content/docs/temporal.io index d934e4462..a7f5f16d6 100644 --- a/src/content/docs/temporal.io +++ b/src/content/docs/temporal.io @@ -1,3 +1,9 @@ +--- +title: temporal.io workflow orchestration platform case study +author: Adlan Ilyasov +tags: temporal, workflow, orchestration, backend, distributed-systems +--- + # Temporal.io Case Study: Workflows That Won't Let You Down ## What Even is Temporal? From 72da2a3a2954dd0eb8c68691849bda32bca7c393 Mon Sep 17 00:00:00 2001 From: Adlan Ilyasov <162711821+IlyaAdlan@users.noreply.github.com> Date: Wed, 20 Aug 2025 16:40:31 +0200 Subject: [PATCH 3/3] Temporal.io my case study --- src/content/docs/case-study/temporal.io | 107 ++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 src/content/docs/case-study/temporal.io diff --git a/src/content/docs/case-study/temporal.io b/src/content/docs/case-study/temporal.io new file mode 100644 index 000000000..a7f5f16d6 --- /dev/null +++ b/src/content/docs/case-study/temporal.io @@ -0,0 +1,107 @@ +--- +title: temporal.io workflow orchestration platform case study +author: Adlan Ilyasov +tags: temporal, workflow, orchestration, backend, distributed-systems +--- + +# Temporal.io Case Study: Workflows That Won't Let You Down + +## What Even is Temporal? + +So I stumbled on Temporal.io while looking for ways to make our backend more reliable - and man, this thing is cool. It's like if your regular backend workflows had a safety net. Originally built by the same folks who made AWS Step Functions, but way more flexible. + +Big names like Uber and Netflix use it for important stuff like payments and ride matching. The key thing? Your workflows **never** die, even if servers crash. As someone who's lost sleep over failed transactions, that got my attention. + +## A Bit of Backstory + +- 2019: Some smart ex-AWS engineers (including Maxim Fateev) built it +- 2021: Went open source which was huge +- 2024: Now has better Python/Go support and plays nice with Kubernetes + +## The Good Stuff + +Here's why I think Temporal stands out: + +### 1. It's Like Time Travel for Your Code +You know when your server crashes mid-process? With Temporal, it picks up right where it left off. No more: +- Duplicate orders +- Half-completed signups +- "Did that payment go through?" moments + +### 2. You Can Write Real Code +Unlike AWS Step Functions where you're stuck with JSON configurations, Temporal lets you use actual programming languages: + +```python +@workflow.defn +class OrderWorkflow: + async def run(self, order_id: str): + try: + await payment_processing(order_id) # This will retry if fails! + await ship_order(order_id) + except Error as e: + await send_failure_email(order_id) +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +## The Beauty of Temporal + +The beauty? If the conversion fails at 3AM, Temporal picks it right back up. No more waking up to failed jobs. + +## Real-World Use Cases + +From what I've seen, Temporal shines for: + +### 1. Financial Systems +- Payment processing that can't fail +- Fraud detection pipelines +- Reconciliation jobs + +### 2. E-commerce +- Order fulfillment that survives outages +- Inventory management +- Abandoned cart recovery + +### 3. DevOps +- Deployment orchestration +- Data pipeline management +- Backup operations + +## The Good, The Bad, and The Ugly + +### 👍 Why I Like It +- **Reliability**: Stuff actually completes +- **Visibility**: See every workflow's status +- **Flexibility**: Use real code, not just YAML + +### 👎 Pain Points +- **Learning Curve**: Took me 2 weekends to get comfortable +- **Operational Overhead**: Need to run the Temporal server +- **Debugging**: Can be tricky when things go wrong + +## Alternatives Compared (Chatgpt provided this "graph") + +| Tool | Best For | Why Temporal Might Be Better | +|---------------------|---------------------|-------------------------------------| +| AWS Step Functions | AWS shops | More coding flexibility | +| Airflow | Scheduled jobs | Better for real-time ops | +| Celery | Simple tasks | Built-in retries & state | + +## Should You Use Temporal? (Based on My Research) + +After digging through docs, case studies, and developer forums, here's what I've learned about when Temporal makes sense: + +**Consider Temporal when:** +- Your application **can't afford lost workflows** (payments, medical systems, etc.) +- You're currently **writing tons of retry/recovery code** for failed operations +- Your team has **bandwidth to learn** a new paradigm (it's not plug-and-play) + +**Probably overkill for:** +- Simple **scheduled tasks** (cron jobs handle these fine) +- Teams without **distributed systems experience** (there's a learning curve) +- Projects where **"good enough" reliability** is acceptable + +## Where I Found the Best Info + +1. [Temporal Documentation](https://docs.temporal.io/) - The concepts section helped most +2. [Uber's Engineering Blog](https://eng.uber.com/) - Real war stories about why they built it +3. [Community Discussions](https://community.temporal.io/) - Saw actual pain points people hit +4. [ChatGPT] Helped with writing this in a fitting way for Github