🧑💻 รู้จักกับ Horizontal Scaling แบบ On-Demand
ศัพท์หรู ๆ สำหรับ Cloud PasS
Stack ที่ยั่งยืนต้อง Scalable และ Repeatable ได้
ฟังในมุมมองของธุรกิจ เหมือนธุรกิจ Startup …ใช่…
แพลตฟอร์ม PaaS ทุกวันนี้ถ้า Scale ไม่ได้ Repeat ไม่ได้
ก็อย่าไปใช้ อย่าทำเลย ไม่มีอนาคต! 😄
หากเป็นฝั่ง Tech เราจะพูดถึง Infrastructure ที่สามารถสเกลได้ ก็คือคำว่า “Scalable”
Scalable แบ่งออกเป็น 2 แบบ
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 ได้