Sizing Problem in Cloud Computing ” ขนาด ” นั้น สำคัญไฉน ?
เรามารู้จักกับ “ขนาด” ที่ใช้กันบนคลาวด์กันก่อน ซึ่ง ขนาด หรือ Sizing หมายถึงโครงสร้างพื้นฐานบนคลาวด์ (Cloud Infrastructure) ซึ่งก็หมายถึงปริมาณหรือจำนวน CPU, Memory, Storage, Network ที่ระบบต้องการที่จะใช้งาน เพื่อให้สอดคล้องกับปริมาณผู้ใช้งานที่จะวิ่งเข้ามายังระบบที่เราสร้างขึ้น โดยส่วนใหญ่ปัญหาเรื่อง ขนาด นั้นมักจะพบเจอเป็นประจำอยู่ 2 กรณีด้วยกันคือ
- Over Size Allocation เป็นลักษณะที่ Virtual Machine มีขนาดใหญ่ ไม่สอดคล้องกับปริมาณหรือจำนวนผู้ใช้งาน ซึ่งเกิดได้จากหลายกรณี เช่น ปริมาณผู้ใช้งานไม่เป็นไปตามเป้าหมาย ซึ่งผลกระทบที่เกิดขึ้นจะส่งผลโดยตรงต่อค่าใช้จ่ายที่ไม่ได้มีการใช้งานจริง
- Under Size Allocation ขนาดของทรัพยากรบน Virtual Machine ไม่เพียงพอต่อปริมาณความต้องการ ทำให้การใช้งานอาจจะเกิดความล่าช้า หรือเข้าใช้งานเลยไม่ได้ มักจะเห็นบ่อยครั้ง ช่วงที่มีการออกโปรโมชั่น ให้ทราฟฟิคเข้ามายังระบบเกิด
The Right Size Solution
ในความเป็นจริงแล้วปัญหาเรื่อง “ขนาดที่ใช่” มิได้ขึ้นอยู่กับการที่เตรียมเยอะหรือน้อย แต่อยู่ที่เราไม่สามารถทราบได้เลยว่า จริงๆแล้ว เราต้องเตรียมทรัพยากรเท่าไหร่ ชั่วโมงไหนใช้เยอะ เวลาไหนใช้น้อย เนื่องจากในครั้งเราเองไม่สามารถประเมินอนาคตได้ ก็เพียงเท่านั้นเอง
อาจฟังดูเหมือนไม่มีทางออก แต่มนุษย์เราก็ยังไม่ยอมแพ้ ได้คิดค้นเทคโนโลยีที่เข้ามาช่วยให้ไม่เกิดปัญหา Over/Under Size Allocation ด้วย กันสองเทคโนโลยีด้วยกันคือ Auto Scale และ Container
Auto Scaling
Auto Scaling มีสองประเภทด้วยกันคือ Vertical Scale หรือ Scale Up เป็นการเพิ่มขนาดของ CPU/Memory ของเครื่องเซิฟเวอร์เสมือนเมื่อถึงเกณ์ที่กำหนดไว้ เช่น หาก Memory ที่จองไว้ 1GB (Reserved Resource) ไม่เพียงพอ ก็ให้ระบบสามารถปรับเป็น 2GB (Dynamic Resource) ที่เครื่องเดิมทันที ข้อดีคือไม่ต้องเสียเวลาจัดสรรทรัพยากร ให้ระบบจัดการเองได้เลย ไม่ต้องกลัวคอขวดที่จุดใดจุดหนึ่งอีกต่อไป
Horizontal Scale หรือ Scale Out เป็นการขยายจำนวน เพื่อให้เกิดการทำงานแบบขนาน ให้ทำงานร่วมกันไป ยกตัวอย่างเช่น หาก CPU มีค่าเกินกว่า 85% นานกว่า 5 นาทีให้ทำการสร้าง New Node ครั้งละ 1 Node และให้มีปริมาณมากสุดที่ 8 Nodes และหาก CPU ลดลงเหลือ 35% นานกว่า 10 นาทีให้ลดจำนวนไปเรื่อยๆ จนเหลือ 2 Nodes ข้อดีคือให้สามารถรองรับปริมาณทราฟฟิคมหาศาล ลดดาวน์ไทม์ที่เกิดขึ้นได้ด้วย
Container
คอนเทนเนอร์ ถูกสร้างมาเพื่อทลายกำแพงที่มีบนเทคโนโลยี Virtualization โดยจุดเด่นคือความสามารถในการทำ Granular resource allocation ที่สามารถขยับปริมาณทรัพยากรด้วยขนาดที่เล็กกว่า 1GB of Memory อย่างที่ PROEN Cloud PaaS ให้บริการอยู่จะสามารถปรับได้ครั้งละ Cloudlet (128MB of Memory/400MHz of CPU) หากเมื่อทำงานร่วมกับ Auto Scale จะช่วยให้สามารถบริหารจัดการได้ดีขึ้น ด้วยการขยับเพิ่ม ขยับลดลงของ Cloudlet โดยผลลัพธ์ที่ได้จะช่วยสามารถลดการจองทรัพยากรที่ไม่ได้ใช้งานได้ประสิทธิภาพมากขึ้น ส่งผลให้ค่าใช้จ่ายลดลงตามไปด้วยอย่างเห็นได้ชัด
Conclusion
การลดค่าใช้จ่ายที่ไม่จำเป็น ค่าใช้จ่ายที่ไม่ได้ใช้ และไม่ต้องการให้กระทบต่อผู้ใช้งานก็ต้องเลือก Cloud Provider ที่สามารถให้บริการ Pay-per-use ตามปริมาณการใช้งานจริง เป็นชั่วโมง สามารถรองรับการขยายขนาดและเพิ่มจำนวนได้อย่างอัตโนมัติ
หากเพื่อนๆอยากทดลองใช้งาน PROEN Cloud PaaS แล้วล่ะก็สามารถลงทะเบียนทดลองใช้งานฟรี 14 วันได้ที่ https://www.proen.cloud หรือ 02-690-3888 [email protected]