Horizontal Scaling แบบ On-Demand

รู้จักกับ Horizontal Scaling แบบ On-Demand

🧑‍💻 รู้จักกับ Horizontal Scaling แบบ On-Demand
ศัพท์หรู ๆ สำหรับ Cloud PasS

Stack ที่ยั่งยืนต้อง Scalable และ Repeatable ได้
ฟังในมุมมองของธุรกิจ เหมือนธุรกิจ Startup …ใช่…

แพลตฟอร์ม PaaS ทุกวันนี้ถ้า Scale ไม่ได้ Repeat ไม่ได้
ก็อย่าไปใช้ อย่าทำเลย ไม่มีอนาคต! 😄

หากเป็นฝั่ง Tech เราจะพูดถึง Infrastructure ที่สามารถสเกลได้ ก็คือคำว่า “Scalable”

Scalable แบ่งออกเป็น 2 แบบ

Horizontal Scale

1. แนวตั้ง (Vertical Scale) หรือการ Scale Up
2. และแบบแนวนอน (Horizontal Scale) หรือการ Scale-Out

โพสนี้แอดจะชวนคุยเรื่องการทำ Horizontal Scaling แบบ On-Demand บน Cloud PasS

พอย้ายมาเรื่องไอที ถ้าเทียบ Business กับ Infrastructure

Scale = Horizontal Scaling (สเกลแบบแนวนอน)
Repeat = Migrate environment (โคลนทำซ้ำ,ขยายไปที่อื่นได้)

Horizontal Scaling เป็นการสเกลระบบแบบแนวนอน โดยวิธีการเพิ่มทรัพยากรจำนวน Container (Node) เข้าไป WebApp Stack เพื่อให้ทำงานได้มากขึ้น, เร็วขึ้น อารมณ์แบบว่าถ้า CPU ไม่พอเราก็เพิ่ม CPU ถ้า Memory เราไม่พอ ก็เพิ่ม Memory เข้าไปครับ

โดยที่การออกแบบระบบ Stack ของเรามีการแยกเซอร์วิสออกเป็นส่วน ๆ เช่น Load Balancer, Application, Storage และ Database ซึ่งในแต่ละจุดสามารถเรา Scale ได้โดยไม่มีขีดจำกัดครับ

🧑‍💻 จากรูปตัวอย่าง PasS เราสามารถจัดการทั้งหมดได้ง่าย ๆ
ผ่าน Dashboard

เช่น หากระบบมีการใช้ CPU สูงเกิน 70% ติดต่อกันเป็นเวลา 1 นาที เราจะสั่งให้ระบบทำการ Auto Scale เพิ่มเครื่อง Container 2 (และสามารถ Scale ได้สูงสุดถึง 16 Container

และเมื่อ CPU มีการใช้งานน้อยกว่า 10%
ติดต่อกันเป็นเวลา 5 นาที ให้ระบบทำการ Scale Down
(ลบ Container) ลงมาเพื่อลดค่าใช้จ่าย (จำนวนน้อยที่สุด 1 Container)

อธิบายเพิ่มเติม

☑️ When loading is more (less) than:
หากเกิดเหตุการ load ใช้ resource เกินจำนวน 30%

☑️ For at least:
ติดต่อกันเป็นเวลาจำนวนนาที (1 นาที)

☑️ Scale out to:
จำนวนเซิฟเวอร์ที่สามารถ Scale ได้สูงสุด (16 Nodes)

☑️ Node by:
จำนวนที่เพิ่มขึ้นต่อการ Scale 1 ครั้ง (2 nodes)

🔥note: เราสามารถกำหนดได้จาก CPU / Memory / Network / Disk I/O / Disk IOPS ว่าถ้า resource เหล่านี้ถึงกี่ % เราจะให้เซิร์ฟเวอร์ทำการ Auto Scale

🔥note: หากต้องการให้มีการแจ้งเตือนไปที่ Email ทุกครั้งที่มี Trigger การ Scale-Up หรือ Scale-Down เราตั้งค่า On หรือ Off ที่ออปชั่น Send Email Notification ได้

Horizontal Scale

ว่าแต่วันนี้…
เรามีแพลนจะสเกลยังไงครับ
และทำซ้ำได้มั้ย?

Scroll to top
X