เมื่อการสเกลตาม CPU ไม่ใช่คำตอบ: รู้จัก KEDA ส่วนเสริมที่ทุก Kubernetes Cluster ต้องมี

ไทย

TechX DevOps Platform KEDA Journey

ในโลกธุรกิจดิจิทัลที่ทุกวินาทีมีความหมาย ความสามารถในการตอบสนองต่อความต้องการของลูกค้าได้อย่างรวดเร็วคือหัวใจสำคัญ ไม่ว่าจะเป็นช่วงแคมเปญ Flash Sale ที่มีผู้ใช้งานทะลักเข้ามาพร้อมกัน, ระบบประมวลผลคำสั่งซื้อหลังบ้าน, หรือการวิเคราะห์ข้อมูลแบบเรียลไทม์ แอปพลิเคชันของเราต้องพร้อมสเกล (Scale) เพื่อรับมือกับภาระงานที่พุ่งสูงขึ้นได้เสมอ

สำหรับผู้ที่ทำงานบนแพลตฟอร์มอย่าง Kubernetes คงไม่มีใครไม่รู้จัก HPA (Horizontal Pod Autoscaler) เครื่องมือพื้นฐานที่คอยเพิ่ม-ลดจำนวนแอปพลิเคชันของเราโดยอัตโนมัติตามการใช้งาน CPU หรือ Memory

แต่จะเกิดอะไรขึ้นถ้าภาระงานที่แท้จริงไม่ได้สะท้อนออกมาที่ CPU ในทันที? เราอาจกำลังเผชิญกับสถานการณ์ที่แอปพลิเคชันสเกลไม่ทันการณ์ ส่งผลให้ระบบช้า และท้ายที่สุดคือการสร้างประสบการณ์ที่ไม่ดีให้กับลูกค้า

วันนี้เราจะพาทุกท่านไปรู้จักกับ KEDA ฮีโร่ที่จะเข้ามาอัปเกรดการสเกลบน Kubernetes ให้ก้าวไปอีกระดับ ตอบโจทย์โลกธุรกิจที่ขับเคลื่อนด้วยอีเวนต์ (Event-Driven) อย่างแท้จริง

KEDA: ฮีโร่ผู้มองการณ์ไกล

 

KEDA (Kubernetes Event-driven Autoscaling) คือโปรเจกต์ Open Source ที่ออกแบบมาเพื่อเสริมความสามารถของ Horizontal Pod Autoscaler (HPA) โดยเฉพาะ หัวใจสำคัญของ KEDA คือการปลดล็อกให้ Kubernetes สามารถสเกลแอปพลิเคชันตาม “Event” จากภายนอกได้โดยตรง แทนที่จะถูกจำกัดแค่การวัดผลจาก CPU หรือ Memory ภายในระบบเท่านั้น

 

นี่คือ 2 ความสามารถหลักของ KEDA:

1. สเกลเชิงรุกจากภาระงานจริง (Proactive Scaling) 🚀
KEDA จะเชื่อมต่อโดยตรงกับแหล่งกำเนิดอีเวนต์ (Event Source) ที่หลากหลาย เช่น จำนวนข้อความใน Message Queue (RabbitMQ, Kafka), จำนวนไฟล์ใน Storage, หรือผลลัพธ์จาก Prometheus Query
ทำให้ KEDA สามารถสั่งสเกลแอปพลิเคชัน (เพิ่ม Pods) ได้ ล่วงหน้า ก่อนที่ภาระงานเหล่านั้นจะเข้ามาสร้างภาระหนักให้ CPU/Memory จนเกิดปัญหาคอขวด (Bottleneck) ซึ่งเป็นการแก้ปัญหาที่ต้นเหตุและช่วยให้ผู้ใช้งานได้รับประสบการณ์ที่ราบรื่นเสมอ

2. สเกลสู่ศูนย์เมื่อไม่มีภาระงาน (Scale to Zero) 💰
โดยปกติ Kubernetes จะต้องมีแอปพลิเคชันอย่างน้อย 1 Pod ทำงานรอเสมอ ซึ่งก่อให้เกิดต้นทุนแม้ไม่มีการใช้งาน
KEDA แก้ปัญหานี้โดยการตรวจสอบ Event Source หากไม่พบภาระงานใดๆ ที่รอการประมวลผล (เช่น Queue ว่างเปล่า) KEDA จะสามารถสั่งลดจำนวน Pods ลงเหลือ 0 ได้ และจะปลุกมันขึ้นมาทำงานอีกครั้งเมื่อมีอีเวนต์แรกเข้ามาเท่านั้น และการที่ Pods หายไปนี้เป็นการส่งสัญญาณให้เครื่องมือจัดการเซิร์ฟเวอร์อัตโนมัติอย่าง Karpenter หรือ Cluster Autoscaler สามารถเข้ามาลดจำนวนเซิร์ฟเวอร์ (Nodes) ที่ว่างงานทิ้งไปได้ ซึ่งนี่คือหัวใจของการประหยัดค่าใช้จ่ายบนคลาวด์อย่างแท้จริงตามหลักการ “Pay-per-use”

ใช้งานซับซ้อนไหม?

 

หลายคนอาจคิดว่าการเพิ่มความสามารถระดับนี้ต้องมาพร้อมกับความซับซ้อน แต่ KEDA ถูกออกแบบมาให้ใช้งานง่ายอย่างน่าทึ่ง เราเพียงแค่ต้องสร้างไฟล์ตั้งค่าที่เรียกว่า “ScaledObject” เพื่อบอก KEDA ว่าเราต้องการอะไร ตัวอย่างเช่น หากเราต้องการสเกลแอปพลิเคชันตามจำนวนข้อความใน RabbitMQ เราจะเขียนมันออกมาได้ดังนี้

TechX DevOps Platform KEDA

โดยสรุป ไฟล์นี้เป็นการกำหนดค่าให้ KEDA ใช้คิวชื่อว่า new-orders-queue เป็นตัวชี้วัดเพื่อสเกล order-processor-deployment โดยอัตโนมัติ ยกตัวอย่างเช่น หากมี 500 ข้อความในคิว KEDA จะคำนวณตามกฎ (QueueLength) ที่ตั้งไว้ และขยายจำนวน Pods ไปที่ 50 ตัว ซึ่งเป็นขีดจำกัดสูงสุดที่ระบบจะสเกลได้

 

เห็นไหม…เราแค่ประกาศความต้องการของเราในรูปแบบง่ายๆ ที่เหลือ KEDA จะไปจัดการสร้างและบริหาร HPA ที่ซับซ้อนให้เราเองโดยอัตโนมัติ

TechX DevOps Platform KEDA

ถ้าหากอยากลองติดตั้งหรือสนใจการทำงานของ KEDA สามารถตามไปอ่านต่อได้ที่ https://keda.sh/docs/2.17/deploy/

 

บทสรุป

 

HPA ยังคงเป็นเครื่องมือที่ยอดเยี่ยมและเป็นรากฐานที่สำคัญ แต่ในโลกที่ขับเคลื่อนด้วยความเร็วและอีเวนต์ การพึ่งพาแค่ CPU/Memory อาจไม่เพียงพออีกต่อไป KEDA (Kubernetes Event-driven Autoscaling) จึงเข้ามาเป็นโซลูชันสำคัญที่ทำให้ Kubernetes สามารถสเกลตามภาระงานจริงจากภายนอกได้ ด้วยความสามารถในการ สเกลเชิงรุก (Proactive Scaling) เพื่อรักษาเสถียรภาพ และ การสเกลสู่ศูนย์ (Scale to Zero) เพื่อบริหารจัดการต้นทุนอย่างมีประสิทธิภาพ ทำให้ KEDA กลายเป็นส่วนประกอบที่จำเป็น สำหรับการสร้างระบบ Cloud-Native ที่มีทั้งความยืดหยุ่น (Resilience) และความคุ้มค่าสูงสุด (Cost-efficiency)

 

ท้ายนี้หากองค์กรของท่านกำลังมองหาโซลูชันด้าน 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.