Airflow 3 มาแล้ววว!!! ทำไมถึงควรอัปเกรด และมีอะไรใหม่ที่น่าสนใจ? 

ไทย

ใครที่ทำงานสาย Data Engineering, Machine Learning Pipeline หรือ DevOps น่าจะเคยรู้จักและลองใช้งาน Apache Airflow กันมาบ้างแล้ว  แต่สำหรับผู้ที่ยังไม่เคยใช้งาน ลองนึกภาพว่าในองค์กรคุณมีงานที่ต้องทำซ้ำ ๆ จำนวนมาก ถ้าต้องให้คนเป็นผู้ทำทั้งหมดด้วยตัวเอง คงทั้งเหนื่อยและเสี่ยงที่จะเกิดข้อผิดพลาด ตรงนี้เองที่ Airflow เข้ามามีส่วนช่วยในฐานะ Workflow Orchestration Tool ให้เราสามารถเขียน logic เป็น DAG (Directed Acyclic Graph) แล้ว Airflow จะทำหน้าเป็นเหมือนผู้จัดการ workflow  ทุกอย่างตั้งแต่ scheduling, monitoring ไปจนถึง retry งานที่ล้มเหลวให้โดยอัตโนมัติ

ภาพจาก https://airflow.apache.org

อย่างไรก็ตาม Airflow 2 ที่ถูกใช้อย่างแพร่หลายในปัจจุบัน กำลังจะเข้าสู้ช่วง End-of-Support (EoS) ในปีหน้า ซึ่งหมายความว่าจะไม่มีการออก patch security หรือ bug fix อีกต่อไป ถึงเวลาแล้วที่ผู้ใช้งานจะโบกมือลา Airflow 2 และเริ่มวางแผนอกรดไปเป็น Airflow 3 เพื่อรับประโยชน์จากฟีเจอร์ใหม่ประสิทธิภาพที่ดีขึ้น และความปลอดภัยที่สูงขึ้น

 

แล้วคำถามคือทำไมเราต้องอัปกรดจาก Airflow 2 มาเป็น Airflow 3? มันดีกว่ายังไง? วันนี้เราจะมาเปรียบเทียบจุดเด่นแต่ละเรื่องให้เห็นกันชัด ๆ 

UX/UI

ในการใช้งาน Airflow 2 Web UI บางครั้ง refresh ช้า ทำให้ monitor DAGs ยุ่งยาก Airflow 3 UI ถูกปรับใหม่ให้ responsive ใช้งานได้เร็วขึ้น และสำหรับใครที่ชอบปรับมี Dark Mode มีให้ใช้งาด้วย การปรับปรุงหน้าเว็บที่ช่วยให้ใช้ dashboard ของ Airflow 3 สำหรับการ monitor DAG ขนาดใหญ่และ team collaboration ได้ 

TaskFlow API

ใน Airflow 2 TaskFlow API ยังถือว่าอยู่ใน semi-stable ที่ให้ทดลองใช้งาน บาง feature อาจมี breaking change และใน Airflow 3 API ถูกปรับให้ stable มากขึ้น ช่วยให้การเขียน DAG แบบ TaskFlow เพื่อให้โค้ดกระชับและ maintain ง่าย

Dynamic Task Mapping

ใน Airflow 2 รองรับ dynamic tasks อยู่แล้ว แต่ยังพบปัญหาว่าถ้ามีการ scale มาก ๆ อาจเกิด bottleneck ซึ่ง Airflow 3 ได้มีการปรับปรุง backend scheduler ทำให้ dynamic task mapping ทำงานได้รวดเร็วและยืดหยุ่นขึ้น รองรับ runtime tasks จำนวนมาก ให้เราใช้ dynamic mapping กับงานซ้ำเยอะ ๆ แทนการสร้างหลาย task แบบ static (ข้อมูลเพิ่มเติม : Dynamic Task Mapping)

ภาพจาก https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/dynamic-task-mapping.html

Observability

Airflow 2 ยังต้องพึ่งพา plugin หรือ integration จาก tools ภายนอกเพื่อเก็บ metrics และ logs ใน Airflow 3 มี observability ที่ครบทั้ง metrics, tracing และ log สามารถเชื่อม Prometheus/Grafana/OpenLineage ได้ทันที ในการตั้งค่า logging/metrics ตาม standard เพื่อ monitor DAG และ task failures แบบเรียลไทม์

ภาพจาก https://grafana.com/grafana/dashboards/14448-airflow-monitoring

Performance

ปัญหาของ Scheduler และ Executor ของ Airflow 2 เมื่อมี DAG ใหญ่ ๆ หรือ workload มากอาจทำงานช้า Airflow 3 ปรับปรุง scheduler และ executor ให้รองรับ DAG ขนาดใหญ่ได้ดีและเร็วขึ้น สามารถออกแบบ DAG ให้ใช้ parallelism และ queue ให้เหมาะสม

Integration

ใน Airflow 3 มี ecosystem ครบ ทั้ง dbt, OpenLineage, Kubernetes operator ทำงานได้สมบูรณ์และง่ายต่อ maintenance

Cluster Monitoring

ใน Airflow 2 ต้องใช้ external tools เช่น Prometheus/Grafana หรือ ELK stack แต่ใน Airflow 3 มี built-in cluster metrics พร้อม dashboard สำหรับ monitor DAGs และ task execution ช่วยให้เราตั้งค่า alerts และ dashboards สำหรับทีมเพื่อ monitor cluster health แบบ proactive

Developer Experience

การเขียน DAG ใน Airflow 2 ยังเป็นแบบ verbose ต้องกำหนด dependencies เยอะ Airflow 3 ใช้ Pythonic DAGs + TaskFlow API ทำให้โค้ดสั้น กระชับ และอ่านง่าย Best practice: ใช้ TaskFlow API สำหรับทุก DAG ใหม่ ลด boilerplate code และเพิ่ม maintainability (ข้อมูลเพิ่มเติม : Pythonic DAGs with the TaskFlow API)

สรุปส่งท้ายคำถามว่า ทำไมถึงต้องอัปเกรด Airflow 3

ภาพจาก : https://airflow.apache.org

การอัปเกรดจาก Airflow 2 สู่ Airflow 3 ไม่ได้เป็นแค่เรื่องของการตามเวอร์ชั่น แต่จะเป็นก้าวสำคัญที่จะทำให้ทีมของคุณได้ประสิทธิภาพการจากการใช้งาน ความเสถียร และความปลอดภัย ที่ดีกว่า พร้อมทั้งฟีเจอร์ใหม่ๆ ที่ออกแบบมาเพื่อให้การจัดการ Workflow ง่ายขึ้น ยืดหยุ่นขึ้น และรองรับ workload ขนาดใหญ่ได้อย่างมั่นใจ

 

Airflow 3 มอบทั้ง UI/UX ที่ลื่นไหล, TaskFlow API ที่ stable และ Pythonic, Dynamic Task Mapping ที่ scale ได้จริง, Observability ครบวงจร, และ integration ecosystem ที่พร้อมใช้งาน ทั้งหมดนี้ช่วยให้เราสามารถจัดการ pipeline ได้อย่างทันสมัย มีประสิทธิภาพ 

 

👉 ลิงก์ข้อมูลเพิ่มเติมสำหรับการติดตั้งและศึกษา Airflow 3: Upgrading to AirFlow3

 

้ายนี้หากองค์กรของท่านกำลังมองหาโซลูชันด้าน DevOps ช่วยปรับรูปแบบการทำงานให้เป็นอัตโนมัติ ลดต้นทุนการทำธุรกิจ SCB TechX พร้อมเป็นโซลูชันที่ช่วยพัฒนา และ Deliver ผลิตภัณฑ์และบริการออกสู่ตลาด ต่อยอดองค์กรของท่านให้เติบโตอย่างยั่งยืน สนใจบริการโปรดติดต่อเราที่ https://bit.ly/4etA8Ym 
อ่านรายละเอียดเพิ่มเติมคลิก https://bit.ly/4dpGl6U 

Related Content

  • ทั้งหมด
  • Blogs
  • Insights
  • News
  • Uncategorized
    •   Back
    • Careers
    • Data Science
    • Lifestyle
    • Product
    • Strategy
    • Technology
    • User Experience
    • xPlatform
    • DevOps
    •   Back
    • PointX Products
    • Events
    • Others
    • Leadership
    • Partnership
    • Services & Products
    • Joint ventures
    •   Back
    • Blockchain
    • Finance
    • Tech innovation

Your consent required

If you want to message us, please give your consent to SCB TechX to collect, use, and/or disclose your personal data.

| การเพิกถอนความยินยอม

หากคุณต้องการเพิกถอนการให้ความยินยอมในการเก็บรวบรวม ใช้ และ/หรือเปิดเผยข้อมูลส่วนบุคคล กรุณาส่งคำร้องหาเรา

Vector

Message sent

We have receive your message and We will get back to you shortly.