Open Source Software หนึ่งที่กำลังถูกพูดถึงเป็นกระแสในหมู่ Cloud Engineer และฝั่ง IT Infrastructure ในต่างประเทศนั้นก็คือ Karpenter ซึ่งเป็นโครงการ Open Source Software จากทาง AWS โดยตรง สำหรับใช้ในการบริหารจัดการทรัพยากรด้าน Compute และลดค่าใช้จ่ายให้กับธุรกิจองค์กรที่มีการใช้งาน Cloud ได้อย่างมีประสิทธิภาพ ด้วยแนวคิดแบบ Just-in-Time

AWS เปิด Open Source ให้กับโครงการ Karpenter มาเมื่อปี 2021 ภายใต้สิทธิ์การใช้งานแบบ Apache 2.0 โดยมีเป้าหมายในการเพิ่มขยายและลดขนาดของระบบโดยอัตโนมัติตามการใช้งานจริงและประสิทธิภาพที่ได้รับ คล้ายคลึงกับการทำงานของ Cluster Autoscaler แต่ใช้แนวทางที่แตกต่างออกไป ดังนี้
- Watching ตรวจสอบแต่ละ Pod ของ K8S ในส่วน Compute ที่ระบบระบุว่าเป็น Unschedulable
- Evaluating ประเมินความต้องการที่แต่ละ Pod ร้องขอ
- Provisioning สร้าง Node ใหม่ขึ้นมาให้ตอบโจทย์ความต้องการของแต่ละ Pod โดยอัตโนมัติ
- Removing ยกเลิกการใช้ Node ที่ไม่ได้มีความต้องการโดยอัตโนมัติ
ขั้นตอนเหล่านี้จะช่วยให้แต่ละ Pod ที่มีทรัพยากรไม่เพียงพอต่อการทำงาน สามารถเริ่มทำงานได้เร็วขึ้น และระบบจะทำการลบทรัพยากรที่ไม่ใช้แล้วหลังงานของแต่ละ Pod เสร็จออกให้อัตโนมัติ โดยไม่ต้องมีการเปลี่ยนแปลงการตั้งค่าใดๆ ใน Cluster Autoscaler เพิ่มเติม
Anthropic ธุรกิจด้าน AI ที่ใช้ AWS และ Karpenter ระบุว่าการใช้ Amazon EKS สำหรับการ Train Model และ Inference ร่วมกับ Karpenter ช่วยให้บริษัทสามารถลดค่าใช้จ่ายบน AWS ลงไปได้ถึง 40% เนื่องจาก Karpenter สามารถเลือกสร้าง Instance ที่คุ้มค่าต่อการลงทุนที่สุดให้ได้โดยอัตโนมัติอยู่เสมอ โดยเฉพาะการเลือกใช้ Spot Instance ทำให้สามารถลดค่าใช้จ่ายลงได้อย่างต่อเนื่อง ซึ่งจะต่างจากการใช้ Cluster Autoscaler ที่ระบบจะได้ไม่ได้เลือกหรือสร้าง Instance ที่เหมาะสมให้ได้ดีเท่าการใช้ Karpenter
ผู้ที่สนใจสามารถศึกษารายละเอียดเพิ่มเติมเกี่ยวกับ Karpenter ได้ที่ https://karpenter.sh/
ที่มา: https://www.thestack.technology/aws-anthropic-cloud-bill-eks-karpenter/