# Temporal คืออะไร? คู่มือ Durable Execution Workflow Orchestration สำหรับ Developer ไทย 2026
เมื่อระบบ SME หรือ Enterprise โตขึ้น Microservices เยอะขึ้น workflow ที่ต้องเรียก API หลายตัวต่อกันก็ซับซ้อนขึ้น ปัญหาคลาสสิกที่ทีม Developer เจอคือ "เซิร์ฟเวอร์ล่มกลางคัน" — เช่น ระบบจองโรงแรมเรียก Payment สำเร็จแต่เขียน DB ไม่ทัน ทำให้ลูกค้าโดนหักเงินแต่จองไม่สำเร็จ หรือระบบส่งออเดอร์ไป supplier พอ retry ก็กลายเป็น double-charge
Temporal คือ Open Source platform สำหรับ Durable Execution ที่แก้ปัญหานี้โดยกำเนิด ช่วยให้ทีม Developer เขียน workflow ที่ resilient กับทุก failure — network drop, server crash, หรือ deploy ใหม่ — workflow จะ resume ที่เดิมโดยอัตโนมัติ เหมือนไม่มีอะไรเกิดขึ้น
บทความนี้พาทีม Developer ไทยเข้าใจ Temporal ตั้งแต่ core concept ไปถึง how-to deploy production พร้อมเปรียบเทียบกับ Apache Airflow, AWS Step Functions, และ Celery เพื่อให้เลือก tool ที่เหมาะกับระบบ SME
Temporal คืออะไร และทำไมต้อง Durable Execution
Temporal คือ platform ที่รันด้วย concept Durable Execution ระบบจะเก็บทุก step ของ workflow ลงใน event store ทำให้สามารถ replay และ recover state ได้แม้ server ล่ม หรือ process ถูก kill ทีมไม่ต้องเขียน code สำหรับ retry, timeout, หรือ state management เอง — Temporal handle ให้หมด
ถือกำเนิดจากทีม Uber Cadence และถูกนำมา open source เป็น Temporal ปัจจุบันถูกใช้โดย Netflix, Stripe, Snap, HashiCorp และบริษัท fintech ชั้นนำทั่วโลกเพื่อ orchestrate business-critical workflow
สถาปัตยกรรม Temporal 4 ส่วนหลัก
| ส่วน | บทบาท | ตัวอย่าง |
|------|--------|---------|
| Workflow | Code ที่ define business logic (deterministic) | `BookingWorkflow` |
| Activity | หน่วยงานที่มี side-effect (call API, DB) | `ChargePayment` |
| Worker | Process ที่รัน workflow + activity | Go/Python service |
| Temporal Service | Cluster เก็บ state, dispatch task | Cassandra/PostgreSQL |
ประโยชน์หลักของ Temporal สำหรับ Developer ไทย
How-to: สร้าง Booking Workflow ด้วย Python
ขั้นที่ 1: ติดตั้งและรัน Temporal Server
```bash
brew install temporal
temporal server start-dev
```
ขั้นที่ 2: ติดตั้ง Python SDK
```bash
pip install temporalio
```
ขั้นที่ 3: นิยาม Activity
```python
from temporalio import activity
@activity.defn
async def charge_payment(amount: int, card: str) -> str:
# Call Stripe/Omise API
return "txn_123"
@activity.defn
async def reserve_room(hotel_id: str) -> str:
return "reservation_456"
```
ขั้นที่ 4: นิยาม Workflow
```python
from datetime import timedelta
from temporalio import workflow
@workflow.defn
class BookingWorkflow:
@workflow.run
async def run(self, hotel_id: str, amount: int, card: str) -> dict:
txn = await workflow.execute_activity(
charge_payment, args=[amount, card],
start_to_close_timeout=timedelta(seconds=30),
)
res = await workflow.execute_activity(
reserve_room, args=[hotel_id],
start_to_close_timeout=timedelta(seconds=30),
)
return {"txn": txn, "reservation": res}
```
ขั้นที่ 5: รัน Worker และ Trigger Workflow
```python
from temporalio.client import Client
from temporalio.worker import Worker
client = await Client.connect("localhost:7233")
worker = Worker(client, task_queue="booking",
workflows=[BookingWorkflow],
activities=[charge_payment, reserve_room])
await worker.run()
```
```python
result = await client.execute_workflow(
BookingWorkflow.run, args=["hotel_abc", 1500, "4242..."],
id="booking-001", task_queue="booking",
)
```
ถ้า worker crash กลางคัน หรือ charge_payment timeout Temporal จะ retry ให้อัตโนมัติและ resume workflow ที่จุดเดิม
เปรียบเทียบ Temporal vs Airflow vs Step Functions vs Celery
| หัวข้อ | Temporal | Apache Airflow | AWS Step Functions | Celery |
|--------|----------|----------------|---------------------|--------|
| Use case หลัก | Business workflow, microservices | Data pipeline (ETL) | Serverless orchestration | Task queue |
| Durable state | ใช่ | บางส่วน (XCom) | ใช่ | ไม่ |
| Long-running | ดี (เดือน/ปี) | จำกัด | 1 ปี | ไม่เหมาะ |
| Language | Go/Python/TS/Java/.NET/PHP | Python (DAG) | JSON/DSL | Python |
| Self-host | ได้ฟรี | ได้ฟรี | ไม่ได้ | ได้ฟรี |
| Vendor lock-in | ต่ำ | ต่ำ | สูง | ต่ำ |
Use Case สำหรับ SME และ Enterprise ไทย
ระบบจองโรงแรม/ตั๋ว — orchestrate การเรียก Payment + Inventory + Notification โดย guarantee ว่า ไม่มี double-charge หรือ ghost booking แม้เครือข่ายผันผวน
ระบบ Subscription Renewal — workflow รัน 1 ปีรอ trigger renew ตรงวัน charge card แล้วส่ง email — code เดียว ไม่ต้องพึ่ง cron + queue
ระบบ Onboarding พนักงานใหม่ — เรียก HR API + IT provisioning + email account + access card — หาก step ไหน fail ก็ retry ได้ ไม่ต้องเริ่มใหม่
ระบบ AI Agent Pipeline — orchestrate การเรียก LLM + tool use + human-in-the-loop approval — workflow wait รอ signal จาก human ได้เป็นสัปดาห์
ระบบ Compliance Report สำหรับ ISO/GMP — รัน workflow รวบรวมข้อมูลจาก module ต่าง ๆ รอ approval ตาม hierarchy แล้ว generate PDF report
ข้อควรระวังก่อน Deploy Production
สรุป + CTA
Temporal เปลี่ยนวิธีคิดของ Developer จาก "เขียน retry + state management เอง" เป็น "ให้ platform handle durability ให้" ช่วยให้ทีม SME ไทยสร้างระบบ microservices ที่ reliable, observable, testable ได้เร็วขึ้นมาก เหมาะกับ workflow ที่ business-critical เช่น payment, booking, subscription และ AI agent
เริ่มต้นง่ายด้วย `temporal server start-dev` local แล้วค่อย deploy cluster production เมื่อมั่นใจ
สนใจออกแบบและพัฒนา Workflow ด้วย Temporal หรือระบบ Microservices ที่ scale ได้? ทีม ADS FIT ช่วย design + implement พร้อม best practice สำหรับ SME ไทย [ติดต่อเรา](https://www.adsfit.co.th/#contact) หรืออ่านบทความเพิ่มเติมใน [Blog](https://www.adsfit.co.th/blog) ของเรา
