Apache Airflow คืออะไร และวิธีติดตั้งบน Cloud Server
Apache Airflow คือระบบจัดลำดับงานประมวลผลข้อมูลที่กำหนดขั้นตอนเป็นโค้ด Python แล้วให้ระบบรันตามตาราง ติดตามสถานะ และลองใหม่อัตโนมัติเมื่อล้มเหลว
- หมวดหมู่
- Analytics และ BI
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- Apache License 2.0 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Apache Airflow คืออะไร
องค์กรที่ทำงานกับข้อมูลมักมีงานที่ต้องรันตามลำดับ เช่น ดึงข้อมูลจากระบบต้นทาง แปลงข้อมูล แล้วโหลดเข้าคลังข้อมูล การใช้งานตามรอบธรรมดาทำได้แต่ไม่รู้ว่างานไหนล้มเหลวและงานถัดไปยังรันต่อไปทั้งที่ข้อมูลไม่พร้อม
Airflow แก้ด้วยการให้ประกาศขั้นตอนและความสัมพันธ์ระหว่างงานเป็นโค้ด ระบบจะรันตามลำดับที่ถูกต้อง ข้ามงานถัดไปเมื่องานก่อนหน้าล้มเหลว และลองใหม่ตามที่กำหนด
หน้าจอของระบบแสดงสถานะของทุกงานย้อนหลัง ทำให้เห็นทันทีว่างานใดล้มเหลวเมื่อไรและใช้เวลานานผิดปกติหรือไม่ ซึ่งเป็นสิ่งที่ทีมข้อมูลต้องใช้ทุกวัน
ความสามารถเด่นของ Apache Airflow
กำหนดขั้นตอนงานเป็นโค้ด
รีวิวและย้อนกลับได้เหมือนโค้ดทั่วไป
จัดลำดับและจัดการความสัมพันธ์
งานถัดไปรันเมื่องานก่อนหน้าสำเร็จเท่านั้น
ลองใหม่อัตโนมัติเมื่อล้มเหลว
ลดงานที่ต้องแก้ด้วยมือจากปัญหาชั่วคราว
หน้าจอติดตามสถานะย้อนหลัง
เห็นทันทีว่างานใดล้มเหลวและใช้เวลานานผิดปกติ
เชื่อมกับระบบภายนอกได้มาก
มีตัวเชื่อมสำเร็จรูปสำหรับฐานข้อมูลและบริการที่ใช้ทั่วไป
ใช้ Apache Airflow ทำอะไรได้บ้าง
- งานดึง แปลง และโหลดข้อมูลเข้าคลังข้อมูลตามรอบ
- งานสร้างรายงานประจำวันที่ต้องรันตามลำดับ
- งานฝึกและอัปเดตโมเดลตามตาราง
- งานประมวลผลที่ต้องรันตามลำดับและติดตามผลได้
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ขั้นต่ำงานไม่กี่ชุดสำหรับทดลอง | 2 vCPU | 4 GB | NVMe 40 GB |
| แนะนำงานประจำวันหลายชุดในองค์กรขนาดกลาง | 4 vCPU | 8 GB | NVMe 100 GB |
| ใช้งานหนักแยกเครื่องรันงานออกจากเครื่องควบคุม | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 200 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Apache Airflow บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- PostgreSQL สำหรับเก็บสถานะของงาน
- Redis สำหรับคิวงานเมื่อใช้ตัวรันแบบกระจาย
- Docker และ Docker Compose
- พื้นที่เก็บ Log ของงานที่รันย้อนหลัง
ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว
- 1
ดึงไฟล์ Compose ทางการ
ตรวจเลขเวอร์ชันล่าสุดจากเอกสารของโครงการก่อนดาวน์โหลด
mkdir -p /srv/airflow && cd /srv/airflow curl -LfO "https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml" mkdir -p ./dags ./logs ./plugins echo -e "AIRFLOW_UID=$(id -u)" > .env - 2
เตรียมฐานข้อมูลและบัญชีผู้ดูแล
docker compose up airflow-init - 3
เริ่มระบบ
docker compose up -d docker compose ps - 4
ตั้ง Nginx และ HTTPS
sudo certbot --nginx -d airflow.example.com - 5
เขียนขั้นตอนงานชุดแรก
วางไฟล์ Python ในโฟลเดอร์ dags ระบบจะอ่านและแสดงในหน้าจอโดยอัตโนมัติ
from airflow import DAG from airflow.operators.bash import BashOperator import pendulum with DAG( "daily_report", start_date=pendulum.datetime(2026, 1, 1, tz="Asia/Bangkok"), schedule="0 2 * * *", catchup=False, ) as dag: extract = BashOperator(task_id="extract", bash_command="/opt/scripts/extract.sh") transform = BashOperator(task_id="transform", bash_command="/opt/scripts/transform.sh") extract >> transform - 6
ตั้งการแจ้งเตือนเมื่องานล้มเหลว
ตั้งให้ส่งอีเมลหรือข้อความเข้าแชทขององค์กรเมื่องานล้มเหลว เพราะการมองหน้าจอเองทุกวันไม่ยั่งยืน
อย่าเก็บรหัสผ่านหรือคีย์ไว้ในไฟล์ขั้นตอนงานโดยตรง ให้ใช้ระบบจัดการค่าลับของ Airflow หรือดึงจาก Vault แทน
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | หน้าจอผ่าน Reverse Proxy |
| 8080 | TCP | พอร์ตภายในของหน้าจอ |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- เปลี่ยนรหัสผ่านผู้ดูแลระบบและเชื่อมกับระบบยืนยันตัวตนขององค์กร
- ไม่เก็บค่าลับไว้ในไฟล์ขั้นตอนงาน
- จำกัดสิทธิ์ให้แต่ละทีมเห็นเฉพาะงานของตัวเอง
- ตั้งนโยบายลบ Log เก่าเพื่อไม่ให้ดิสก์เต็ม
- สำรองฐานข้อมูลของระบบเพราะเก็บสถานะของงานทั้งหมด
ทำไมควรรัน Apache Airflow บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
วางไว้ในวง Private Network เดียวกับฐานข้อมูล ทำให้ดึงและเขียนข้อมูลได้เร็ว
ข้อมูลธุรกิจไม่ต้องออกนอกองค์กรระหว่างประมวลผล
เพิ่มเครื่องรันงานได้เมื่อปริมาณงานเพิ่มขึ้นโดยไม่ต้องเปลี่ยนระบบ
คำถามที่พบบ่อยเกี่ยวกับ Apache Airflow
Airflow ต่างจากการตั้งงานตามรอบธรรมดาอย่างไร
งานตามรอบธรรมดารันตามเวลาโดยไม่รู้ว่างานก่อนหน้าสำเร็จหรือไม่ ส่วน Airflow จัดการความสัมพันธ์ระหว่างงาน ลองใหม่เมื่อล้มเหลว และแสดงสถานะย้อนหลัง ซึ่งจำเป็นเมื่อมีงานหลายขั้นที่พึ่งพากัน
ต้องเขียน Python เก่งไหม
ต้องเขียน Python ได้ในระดับใช้งาน เพราะขั้นตอนงานเป็นโค้ด แต่งานส่วนใหญ่เป็นการประกาศลำดับและเรียกใช้ตัวเชื่อมสำเร็จรูป ไม่ได้ต้องเขียนตรรกะซับซ้อนเอง
เหมาะกับองค์กรขนาดไหน
เหมาะเมื่อมีงานข้อมูลหลายขั้นที่ต้องรันตามลำดับและต้องติดตามผลได้ ถ้ามีเพียงสคริปต์ไม่กี่ตัวที่รันวันละครั้ง การตั้งงานตามรอบธรรมดายังเพียงพอและดูแลง่ายกว่ามาก
ทางเลือกอื่นที่คล้ายกับ Apache Airflow
แอปอื่นในหมวด Analytics และ BI
- #53MatomoWeb Analytics ที่ข้อมูลอยู่กับคุณ
- #54Metabaseทำแดชบอร์ดจากฐานข้อมูลโดยไม่ต้องเขียน SQL
- #55Apache Supersetแพลตฟอร์ม BI โอเพนซอร์สสำหรับข้อมูลใหญ่
- Google Analyticsบริการวิเคราะห์เว็บที่ใช้กันมากที่สุด SaaS
- Microsoft Power BIเครื่องมือ BI ในชุดไมโครซอฟท์ SaaS
- Plausible AnalyticsAnalytics น้ำหนักเบาที่เคารพความเป็นส่วนตัว
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Apache Airflow ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด