บริการอีเมล HEY ใช้ AWS Spot Instance ร่วมกับ Kubernetes รับโหลดโปรดักชั่น...

หัวข้อกระทู้ ใน 'เทคโนโลยี' เริ่มโพสต์โดย iPokz, 1 กรกฎาคม 2020.

  1. iPokz

    iPokz ~" iPokz "~ Staff Member

    HEY ผู้ให้บริการอีเมลที่เพิ่งมีปัญหากับแอปเปิล เขียนบล็อกเล่าถึงการใช้คลาวด์ของบริษัท โดยการใช้ Spot Instance ของ AWS ที่มีค่าใช้ใช้งานเปลี่ยนไปตามปริมาณเครื่องคงเหลือของ AWS แต่ทาง HEY ก็ระบุว่ายังคงสามารถให้บริการโดยผู้ใช้อีเมลไม่รู้สึกอะไรแม้จะมีเครื่องถูกปิดไปตลอดเวลา

    Spot Instance เป็นแนวทางการใช้เซิร์ฟเวอร์คงเหลือในศูนย์ข้อมูลของ AWS โดยผู้ใช้สามารถกำหนดราคาสูงสุดที่ยอมจ่าย และหากมีเครื่องคงเหลือทาง AWS จะทำเครื่องเหล่านั้นมาให้บริการโดยคิดค่าบริการจากเครื่องที่เหลือพอให้บริการและปริมาณผู้ใช้ Spot Instance เอง โดยทั่วไปแล้ว Spot Instance จะราคาถูกกว่าเครื่องแบบ On-Demand ตามปกติมาก ทาง HEY ระบุว่าส่วนต่างนั้นทำให้ Spot ราคาถูกกว่าการซื้อเซิร์ฟเวอร์แบบจองล่วงหน้า (Reserved Instance - RI) เสียอีก แถมไม่ต้องวางแผนล่วงหน้าใดๆ ทำให้คุ้มที่จะเลือกทางนี้ แต่ข้อเสียคือทาง AWS สามารถดึงเครื่องแบบ Spot Instance คืนเมื่อใดก็ได้โดยแจ้งล่วงหน้าเพียงสองนาทีเท่านั้น บางครั้งเครื่องเพิ่งเปิดขึ้นมาแล้วโดนดึงกลับก็มี

    [​IMG]

    โลโก้ AWS Spot Instance จากเว็บ EC2 Spot Workshops

    เครื่องที่เป็น Spot Instance ของ HEY นั้นเป็นเครื่อง front-end และงาน asynchronous โดยไม่ได้ใช้งานกับฐานข้อมูลใดๆ ทั้ง SQL, Redis, หรือ Elasticsearch

    ระบบรันบน Kubernetes โดย HEY รับมือกับเซิร์ฟเวอร์ที่อาจถูกปิด ด้วย AWS Node Termination Handler ที่เป็น DaemonSet สำหรับรับข้อมูลจาก AWS ว่ากำลังมีเครื่องใดถูกปิดไปบ้าง เมื่อ AWS แจ้งว่ากำลังปิดเครื่องใดก็จะให้ Kubernetes ย้ายโหลดออกจากเครื่องนั้นให้ทัน จากนั้นควบคุมขนาดคลัสเตอร์ Kubernetes ด้วย Cluster Autoscaler ส่วนหนึ่งของโครงการ Kubernetes ที่รองรับ Spot Instance ได้โดยแก้ไขเล็กน้อย

    ข้อเสียของ Spot Instance คือเครื่องประเภทหนึ่งๆ อาจจะหมดจนไม่สามารถเปิดเครื่องใหม่ได้ ทาง HEY แนะนำว่าควรเตรียมพร้อมใช้เครื่องประเภทอื่นไว้ด้วย เช่นหากใช้เครื่อง C ที่เน้นประมวลผลเป็นหลักก็อาจจะต้องเตรียมพร้อมว่าหากต้องใช้เครื่อง M ที่เน้นหน่วยความจำหรือ T ที่เป็นเครื่องอเนกประสงค์ไว้ด้วย โดยเตือนว่า Cluster Autoscaler นั้นรับมือกับเครื่องไม่เท่ากันได้ไม่ดีนัก ควรใช้เครื่องขนาดเท่าๆ กันไว้

    ที่มา - Signal v. Noise

    Topics: HeyAWSCloud ComputingKubernetes
     

แบ่งปันหน้านี้