ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บน Platform

RUK-COM PAAS / APPLICATION SETTINGS

Horizontal Scaling อัตโนมัติ

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

ปรับปรุงตามเอกสาร Platform ปัจจุบัน

ตรวจสอบชื่อเมนู ตัวเลือก และข้อกำหนดล่าสุดจากเนื้อหาภาษาอังกฤษในหน้าเดียวกันก่อนดำเนินการกับระบบจริง

วัตถุประสงค์

บทความนี้อธิบายการใช้งาน Horizontal Scaling อัตโนมัติ บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง

ก่อนเริ่มดำเนินการ

  • เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
  • ตรวจสอบชื่อ Environment, Region และ Resource เป้าหมายก่อนบันทึกการเปลี่ยนแปลง
  • สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production

นอกเหนือจากVertical Scaling โดยอัตโนมัติแล้ว Ruk-Com Cloud PaaS ยังสามารถปรับขนาด Node ในแนวนอนโดยอัตโนมัติ โดยเปลี่ยนจำนวน Container ภายในLayer(Node กรุ๊ป) ตามโหลดที่เข้ามา ในกรณีนี้ Instance ทั้งหมดภายใน Layer เดียวกันจะถูกแบ่งสรรปันส่วนเท่าๆกันกับ Hardware เซตที่มีอยู่ (hosts) โดยใช้กฎ anti-affinity กล่าวคือ เมื่อมีการสร้าง Container ใหม่ Container นั้นจะถูกวางไว้ที่ Host โดยมีจำนวน Instance น้อยที่สุดจาก Layer เดียวกันและมีเครื่องหมายโหลดต่ำสุดซึ่งรับรองความน่าเชื่อถือและความพร้อมใช้งานสูงของโปรเจ็กต์ที่ Host

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

การปรับสเกลแนวนอนอัตโนมัติโดยการช่วยเหลือของทริกเกอร์ที่ปรับได้ซึ่งเป็นเงื่อนไขแบบกำหนดเองสำหรับการเพิ่ม Node (scale-out) และการถอนออก (scale-in) ขึ้นอยู่กับโหลดโดยจะวิเคราะห์การใช้ Resource ทุกนาทีโดยเฉลี่ย(สำหรับจำนวนนาทีที่ระบุภายในทริกเกอร์) เพื่อตัดสินใจว่าจำเป็นต้องมีการปรับจำนวน Node หรือไม่

พร้อมกันนี้สถิติจะถูกรวบรวมสำหรับ Layer ทั้งหมด ดังนั้นหากมี 3 Node ซึ่งโหลด 20%, 50% และ 20% ตามลำดับ ค่าเฉลี่ยที่คำนวณคือ 30% เงื่อนไขของการสเกล in/out เป็นอิสระ กล่าวคือ ระยะเวลาที่วิเคราะห์สำหรับช่วงเวลาหนึ่งจะไม่ถูกรีเซ็ตเมื่อดำเนินการอีกช่วงหนึ่ง

ในส่วนของด้านล่างนี้เราจะสรุปวิธีการ:

การเซตทริกเกอร์สำหรับ Auto Scaling

ในการกำหนดค่าทริกเกอร์สำหรับ Horizontal Scaling อัตโนมัติให้ทำตามขั้นตอนด้านล่าง

เพิ่มเติม:เมื่อมีการปรับขนาด Application Server ที่ผ่านการรับรอง (ไม่ใช่ Container Docker ที่กำหนดเอง) ใน environment ที่ไม่มี load balancers, NGINX จะถูกเพิ่มโดยอัตโนมัติ ในกรณีนี้หากคุณต้องการใช้โปรแกรมอื่นสำหรับ Application Server ของคุณ คุณควรเพิ่มโหลดบาลานซ์ด้วยตนเองในการปรับขนาดครั้งแรก

1. คลิกที่ปุ่มการตั้งค่าสำหรับ environment ที่ต้องการ

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

2. ในแถบการตั้งค่าที่เปิดขึ้นให้ไปที่ส่วนของทำ Horizontal Scaling อัตโนมัติ

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

ใช้ปุ่มที่แผงเครื่องมือเพื่อจัดการ Horizontal Scaling อัตโนมัติสำหรับ environment:

  • เพิ่ม- สร้างทริกเกอร์ใหม่
  • แก้ไข- ปรับเปลี่ยนทริกเกอร์ที่มีอยู่
  • ลบ- ลบทริกเกอร์ที่ไม่ต้องการ
  • Refresh- อัปเดตรายการของการปรับขนาดทริกเกอร์

คลิกเพิ่มเพื่อดำเนินการ

3. เลือก environment layer ที่ต้องการจากรายการดรอปดาวน์และเลือกประเภท Resource เพื่อตรวจสอบผ่านหนึ่งในแท็บที่เหมาะสม (CPU, Memory, Network, Disk I/O, Disk IOPS)

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

เคล็ดลับ:
- Node เริ่มต้น (master) สามารถใช้เป็น Server จัดเก็บข้อมูลสำหรับแชร์ข้อมูลภายในทั้ง Layer รวมไปถึง Node ที่เพิ่มผ่าน Horizontal Scaling อัตโนมัติ

-การคำนวนขีดจำกัดของ CPU และ memory จะขึ้นอยู่กับจำนวนของ cloudlets ที่จัดสรร (หน่วยพิเศษของ Ruk-Com Cloud ซึ่งแทน CPU 400 MHz และ 128 MiB RAM ในเวลาเดียวกัน)

4. กราฟทางด้านขวาแสดงสถิติการใช้ Resource ที่เลือก คุณสามารถเลือกระยะเวลาที่ต้องการสำหรับแสดงข้อมูล (ไม่เกินหนึ่งสัปดาห์) โดยเลือกจากรายการดรอปดาวน์และหากจำเป็น คุณสามารถเปิด/ปิดฟังก์ชันRefresh อัตโนมัติของสถิติได้

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

นอกจากนี้คุณยังสามารถวางเมาส์เหนือกราฟเพื่อดูจำนวน Resource ที่ใช้จริงในช่วงเวลาหนึ่งได้โดยใช้ข้อมูลนี้เพื่อตั้งค่าเงื่อนไขที่เหมาะสมสำหรับทริกเกอร์ของคุณ

5. ทริกเกอร์แต่ละตัวมีเงื่อนไขการเพิ่มและลบ Nodeซึ่งสามารถเปิดใช้งานได้ด้วยการทำเครื่องหมายที่ช่องต่อไปนี้

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

การกำหนดค่าของทั้งสองทำงานคล้ายๆกัน:

  • เมื่อโหลดมากกว่า(น้อยกว่า)กว่า-ขีดจำกัดบน (ล่าง) เป็นเปอร์เซ็นต์สำหรับการโหลดเฉลี่ย (เช่น เรียกใช้ทริกเกอร์หากเกิน)
  • เคล็ดลับ:ค่าที่ต้องการสามารถระบุได้โดยใช้แถบเลื่อนที่เหมาะสมบนกราฟ

  • ค่าทริกเกอร์ 100% จะปิดใช้งานเพิ่ม Nodeโดยอัตโนมัติ และ 0% -ลบ Node

  • ค่าขั้นต่ำที่อนุญาตระหว่างเงื่อนไขการเพิ่มและลบ Node คือ 20%

  • สามารถเลือกหน่วย Mbps สำหรับทริกเกอร์เครือข่ายแทนเปอร์เซ็นต์

  • เราแนะนำให้ตั้งค่าการโหลดเฉลี่ยสำหรับทริกเกอร์ Add Nodes ให้สูงกว่าเกณฑ์ 50% เพื่อหลีกเลี่ยงการปรับสเกลที่ไม่จำเป็น (เช่น Resource/เงินทุนโดยเปล่าประโยชน์)
  • อย่างน้อยที่สุด -จำนวนนาทีที่คำนวณค่าเฉลี่ยการบริโภค (สูงสุดหนึ่งชั่วโมงด้วยขั้นตอน 5 นาที เช่น 1, 5, 10, 15 เป็นต้น)
  • ขยายขนาดออก (ใน)- จำนวน Node สูงสุด (ขั้นต่ำ) สำหรับ Layer ที่สามารถกำหนดค่าได้เนื่องจาก Horizontal Scaling อัตโนมัติ
  • ปรับขนาดตาม- จำนวน Node ที่จะเพิ่ม/ลบในแต่ละครั้งเมื่อทริกเกอร์ทำงาน

เมื่อกำหนดค่าทริกเกอร์เราแนะนำให้คำนึงถึงโหมดการปรับขนาดของ Layer ด้วย ตัวอย่างเช่น คุณควรตั้งค่าเปอร์เซ็นต์การโหลดที่ต่ำกว่าในทริกเกอร์ Add Nodes สำหรับโหมด stateful เนื่องจากการ Clone เนื้อหาต้องใช้เวลา (โดยเฉพาะสำหรับ Container ที่มีข้อมูลจำนวนมาก) และคุณสามารถเข้าถึง Resource ที่จำกัดก่อนที่จะสร้าง Node ใหม่

6. คุณจะได้รับการแจ้งเตือนทางอีเมลโดยอัตโนมัติเกี่ยวกับกิจกรรมทริกเกอร์ Horizontal Scaling อัตโนมัติที่กำหนดค่าไว้ตามค่าเริ่มต้น อย่างไรก็ตาม หากไม่ต้องการรับอีเมลคุณสามารถปิดใช้งานได้ด้วยตัวสลับส่งการแจ้งเตือนทางอีเมลเปิด/ปิด

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

7. ในส่วนของด้านล่าง Platform ประกอบด้วยปุ่มต่อไปนี้:

  • เลิกเปลี่ยนแปลง- กลับสู่สถานะก่อนหน้าการเปลี่ยนแปลง (สำหรับการแก้ไขเท่านั้น)
  • ปิด- ออกจากการตั้งค่าโดยไม่มีการเปลี่ยนแปลง
  • สมัคร (เพิ่ม)- ยืนยันการเปลี่ยนแปลงสำหรับทริกเกอร์
ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS
เลือกตัวเลือกที่จำเป็นเพื่อสิ้นสุดการสร้างทริกเกอร์ (การปรับเปลี่ยน)

การดูประวัติการดำเนินการทริกเกอร์

คุณสามารถดูประวัติของการดำเนินการปรับสเกลทริกเกอร์สำหรับ environment โดยเฉพาะ

ในตัวอย่างด้านล่างเราจะใช้ high load เป็นเวลา 5 นาที (ดูสถิติการใช้ RAM ในภาพด้านล่าง) บน Application Server ที่มีการกำหนดค่าทริกเกอร์ต่อไปนี้:

  • เพิ่ม Nodeเมื่อค่าเฉลี่ย RAM load มากกว่า 65% เป็นเวลาอย่างน้อย 5 นาที
  • ลบ Nodeเมื่อค่าเฉลี่ย RAM load น้อยกว่า 20% เป็นเวลาอย่างน้อย 10 นาที
ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

มาดู Horizontal Scaling อัตโนมัติกัน:

1. ไปที่ส่วนการตั้งค่า >ทำ Horizontal Scaling อัตโนมัติ คลิกปุ่มประวัติศาสตร์

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

นอกจากนี้คุณสามารถเลือกระยะเวลาเพื่อแสดงรายการทริกเกอร์ได้ผ่านตัวเลือกจากและถึง

2. รายละเอียดของแต่ละรายการมีดังนี้:

  • วันที่วันที่และเวลาของการดำเนินการทริกเกอร์
  • การดำเนินการดำเนินการ (เพิ่มหรือลบ Node) แล้ว
  • Nodeประเภท Node ที่ใช้กับการปรับขนาด
  • ข้อมูลข้อมูลเกี่ยวกับเงื่อนไขการดำเนินการทริกเกอร์
ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

นอกจากนี้ เมื่อวางเมาส์เหนือข้อมูลที่บันทึกคุณสามารถตรวจสอบกำลังโหลดค่าเพิ่มเติม (การใช้ Resource ในช่วงเวลาของการดำเนินการ) และจำนวน Node(จำนวนผลลัพธ์ของ Node)

การเพิ่มและลบ Node ทริกเกอร์เป็นอิสระจากกัน ดังนั้นเงื่อนไขการลบออก (โหลดเฉลี่ยน้อยกว่า 20% เป็นเวลาอย่างน้อย 10 นาที) จะไม่ถูกรีเซตและจะตรวจสอบต่อไปแม้จะเพิ่ม Node ใหม่แล้วก็ตาม โดยวิธีการดังกล่าวช่วยให้สามารถตรวจจับค่าเฉลี่ยโหลดที่เพียงพอในช่วงเวลาที่กำหนดได้รวดเร็วยิ่งขึ้นแนะนำให้ตั้งค่าที่แตกต่างที่ระหว่าง scaling out และ scaling in limits เพื่อหลีกเลี่ยงการเปลี่ยนแปลง topology ที่เกิดขึ้นบ่อย

ด้วยวิธีนี้คุณสามารถกำหนดค่าเซตทริกเกอร์ที่ปรับได้เพื่อให้แน่ใจว่า Application ของคุณมีประสิทธิภาพและติดตามการปรับสเกลแนวนอนอัตโนมัติโดยตรงผ่าน Dashboard