Instance Group เป็น Service หนึ่งที่อยู่บน Google Cloud Platform โดย Instance Group คือ กลุ่มของ VM Instance ที่สามารถมี VM ได้หลายเครื่องในหนึ่งกลุ่ม โดยเราจะมองว่า Instance Group คือก้อนๆหนึ่งที่มี VM หลายๆเครื่องอยู่ข้างใน เวลาจะจัดการหรือเปลียนแปลง VM ที่อยู่ข้างในสามารถจัดการได้ผ่าน Instance Group ที่เดียวเลย ทำให้ง่ายต่อการจัดการ
1. Managed instance groups (MIGs)
รองรับทั้ง stateless และ stateful เหมาะสำหรับงานที่ต้องการปรับขนาดและความพร้อมใช้งาน เช่นการทำ Server ที่รันแอปพลิเคชั่นเดียวกันแต่ต้องใช้ Server หลายๆเครื่องโดย และยัง สามารถทำการ Autoscale, Autohealing, multiple zone deployment, Auto update ซึ่งเป็นคล้ายๆกับเซอวิสอัตโนมัติที่เราสั่งการไว้ล่วงหน้าแล้วระบบจะจัดการให้ตามที่เราตั้งค่าไว้
2. Unmanaged instance groups
เหมาะสำหรับงานที่ต้องใช้ load balance แต่ต้องทำการจัดการเอง
ซึ่งในวันนี้เราจะมาพูดถึงเฉพาะส่วน Managed instance groups (MIGs)
MIGs รองรับทั้ง stateful configuration และ stateless configuration ซึ่งจะมีขั้นตอนในการเตรียมในการตั้งค่า การจัดการ instance groups จะมีพื้นฐานการสร้าง Instance อ้างอิงจาก Instance Template ในการที่จะใช้งาน Instance Group ได้จำเป็นจะต้องสร้าง Instance Template ก่อน
Instance Templates ใช้ในการกำหนดคุณสมบัติต่างๆให้กับเครื่อง VM Instance เพื่อนำไปใช้สร้าง VM Instance ที่มีการกำหนดค่าที่เหมือนกัน
ตัวอย่างการสร้าง Instance Template
Autoscaling Policies เป็นการกำหนดเงื่อนไขในการเพิ่มหรือลด instances
ข้อดีของการใช้ Autoscaling Policies
สามารถจัดการเซอเวอร์ให้มีขนาดที่เพียงพอต่อการใช้งานได้
สามารถควบคุมค่าใช้จ่ายได้ดีขึ้น เนื่องจาก Autoscaling Policies จะช่วยทำการปรับลบจำนวนเครื่อง instance ที่ไม่ต้องการออกไปหากไม่มีความต้องการในการใช้งาน
ในการที่เราจะสร้าง autoscaler ได้จำเป็นจะต้องใช้ Autoscaling Policies และ target utilization ในการกำหนดเงื่อนไขเพื่อให้ระบบเข้าใจว่าจะทำการ scale group
โดยเราสามารถเลือกกำหนด target utilization ได้ตามนี้
Average CPU utilization
Stackdriver Monitoring metrics
HTTP load balancing serving capacity
Network load balancing
ตัวอย่าง
เลือกใช้ Average CPU utilization ในการกำหนด Autoscaling Policies ที่ CPU มีการใช้งานมากกว่า 80% จะให้ทำการ scale up และหากการใช้งาน CPU ต่ำกว่า 80% จะทำการ scale down
จากตัวอย่าง ได้ตั้ง CPU utilization ไว้ที่ 80% ตัว autoscaler จะทำการตรวจสอบว่ามีการใช้งาน CPU ที่มากกว่า 80% หรือไม่ หากมากกว่าจะทำการเพิ่ม Instance เข้าไปใน Instance Group โดยอ้างอิง Instance ใหม่จาก Instance Template และหาก CPU มีการใช้งานที่ต่ำกว่า 80% จะทำการลบ Instance ที่สร้างขึ้นมาใหม่ออก แต่ถ้าหากยังมีการใช้งานที่หนักอยู่จะไม่ทำการลบ Instance และยังคงเก็บความจุของเครื่องเอาไว้
High availability พร้อมใช้งานสูง
หากมี VM ในกลุ่มหยุดการทำงานหรือถูกลบ โดยการสั่งลบหรือหยุดที่ไม่ได้มาจากคำสั่งของ Instance Group VM จะถูกสร้างขึ้นมาใหม่โดยอัตโนมัติโดยอ้างอิงจาก Instance Template
Scalability มีความยืดหยุ่น
หากเซอร์เวอร์ที่เราต้องการใช้มีความต้องการใช้งานสเปคเครื่องที่สูงขึ้น ตัว Group จะทำการสร้าง VM ขึ้นมาใหม่เพื่อช่วยประมวลผล และหากไม่จำเป็นที่จะต้องใช้สเปคที่สูงแล้ว ตัว Group จะทำการลบ VM ที่ไม่จำเป็นออกไป เพื่อลดค่าใช้จ่าย
Automated updates ทำการอับเดทอัตโนมัติ
Manage Group รองรับการ deploy software ใหม่ๆที่จะทำให้ระบบที่ยังทำงานอยู่ไม่ปิดตัวลง
Support for stateful workloads
รองรับทั้ง stateless และ stateful
Written by Sathaporn Hussakun
Cloud Ace Thailand
หากคุณสนต้องการคำปรึกษา Cloud Ace Thailand พร้อมให้บริการที่จะสนับสนุนคุณตั้งแต่ การให้คำปรึกษา จนถึงการออกแบบระบบ ติดตั้งระบบ ย้ายระบบ ในฐานะ Google Cloud Partner ที่มีความเชี่ยวชาญ และได้รับรางวัล Service partner of the year ในปี 2019
ติดต่อเรา th_sales@cloud-ace.com
Thank you for subscribing!
Have a great day!