Professional Service

Understanding AWS AppStream Scaling & Capacity

ตั้งแต่การเปิดตัวของ AppStream บริการนี้ได้ช่วยลดความยากลำบากในการเข้าถึงและใช้งานแอปพลิเคชัน สตรีมมิ่งสำหรับผู้ใช้จำนวนมาก ถึงแม้ AppStream จะได้รับการยอมรับและประสบความสำเร็จ แต่ยังมีความท้าทาย ในการทำความเข้าใจและการปรับปรุงประสิทธิภาพของบริการ

หนึ่งในคุณสมบัติที่แตกต่างและเด่นของ AppStream คือ ความสามารถในการปรับขนาดได้ทันที หรือการสเกล (Scaling) โดยไม่ต้องมี Infrastructure นี่คือความสามารถที่ค่อนข้างโดดเด่น แต่ก็อาจเป็นปัจจัยที่ทำให้ผู้ใช้รู้สึกสับสนหรือ อยากต่อการทำความเข้าใจ

เพื่อให้เข้าใจอย่างชัดเจน เราจะสำรวจและแยกประเด็นเกี่ยวกับการปรับขนาดและความจุของ AppStream ในรูปแบบที่เข้าใจง่ายและประยุกต์ใช้ได้

AppStream Fleet Scaling and Capacity

ฟลีตใน AppStream
สามารถปรับขนาดเพิ่มหรือลดตามความต้องการของผู้ใช้งาน
ความจุขั้นต่ำ
เป็นจำนวนต่ำสุดของการใช้งานที่เราต้องการให้มีเสมอในฟลีต
ความจุสูงสุด
เป็นจำนวนสูงสุดที่ฟลีตสามารถรองรับได้
ตัวอย่าง
ถ้าเราตั้งค่าความจุขั้นต่ำ 100 และสูงสุด 400 ฟลีตจะมีการใช้งานระหว่าง 100 ถึง 400 และจะปรับขนาดเองภายในช่วงนี้
Desired Capacity
คือความจุที่เราต้องการให้ฟลีตมีในขณะนั้น ถ้าเราเปลี่ยนความจุนี้ฟลีตจะใช้เวลาประมาณ 10-20 นาทีในการปรับขนาด

หากคุณเป็นผู้ดูแลระบบ คุณสามารถใช้งาน AppStream และปรับขนาดฟลีตตามความต้องการ และยังสามารถตรวจสอบตัวตนผู้ใช้งานผ่าน SAML 2.0 ได้อีกด้วย

สรุปจากภาพด้านบน

1
ความจุจะเพิ่มขึ้นเมื่อมีการเตรียมทรัพยากร และเมื่อทรัพยากรพร้อมใช้งานกำลังการผลิตจะลดลงในขณะที่ความจุจริงเพิ่มขึ้นจนถึงระดับที่ต้องการ
2
นโยบายการปรับขนาดเป็นเครื่องมือที่ใช้ปรับความจุอินสแตนซ์ในระหว่างค่าต่ำสุดและสูงสุดโดยอัตโนมัติ โดยพิจารณาจากการใช้ความจุที่มีอยู่และข้อผิดพลาดของความจุ
3
การปรับขนาดสามารถทำตามจำนวนหรือเปอร์เซ็นต์ แต่การปรับตามเปอร์เซ็นต์อาจมีประสิทธิผลมากกว่าในบางกรณี
4
ความจุที่มีอยู่คือจำนวนอินสแตนซ์ที่พร้อมใช้งาน และข้อผิดพลาดของความจุไม่เพียงพอเกิดเมื่อมีการร้องขอที่ไม่สามารถรองรับได้ เพื่อลดข้อผิดพลาดเหล่านี้ควรสร้างนโยบายการปรับขนาดที่มีประสิทธิภาพ
5
มีแหล่งข้อมูลเพิ่มเติมที่จะช่วยในการตั้งค่านโยบายการปรับขนาดให้มีประสิทธิภาพ

Fleet Usage

การตั้งค่าฟลีทมี Metric ที่เป็นตัวบ่งชี้ถึงประสิทธิภาพ ซึ่งสามารถดูได้จากแท็บการใช้งานฟลีทหรือจากตัววัด Metric บน CloudWatch Fleet ในส่วนของ CloudWatch ชื่อตัว Metric จะแตกต่างจากในคอนโซลการจัดการ

Actual Capacity
The total instance capacity for a fleet.
Available Capacity
The number of available instances available to be logged into on a fleet.

ความจุที่ใช้งานในฟลีต

1
ความจุจริง (Actual Capacity)
นี่คือจำนวนเต็มของยูนิตหรืออินสแตนซ์ที่อยู่ภายในกลุ่มฟลีต หมายความว่าเมื่อเราพิจารณาฟลีตแบบเต็มรูปแบบ ความจุจริงจะเป็นตัวบ่งบอกถึงขนาดสูงสุดที่ฟลีตนั้นสามารถจัดการได้
2
ความจุที่มีอยู่ (Available Capacity)
จำนวนของอินสแตนซ์ที่พร้อมให้บริการแก่ผู้ใช้งาน หากมีผู้ใช้ต้องการเข้าสู่ระบบหรือใช้งาน ยูนิตเหล่านี้จะพร้อมต้อนรับและไม่มีปัญหาส่งผลกระทบต่อประสิทธิภาพ
3
ความจุที่กำลังใช้งาน (In Use Capacity)
อินสแตนซ์ที่ขณะนี้มีผู้ใช้งาน หรือกำลังถูกนำไปไปใช้งาน อาจจะเป็นผู้ใช้เดียวหรือกลุ่มผู้ใช้
4
ความจุที่กำลังรอการประมวลผล (Pending Capacity)
หมายถึงยูนิตที่กำลังดำเนินกระบวนการเตรียมตัวหรือยูนิตที่รอการสรรพากรจาก AppStream

เมื่อพิจารณาในมุมของการทำงานร่วมกับบริการของ AWS อื่นๆ การใช้ AppStream จะกลายเป็นส่วนที่สำคัญในการปรับปรุงประสิทธิภาพของระบบทั้งหมด บริการเหล่านี้ เช่น Lambdo, EC2 และอื่นๆ จะทำให้มีการสื่อสารระหว่างบริการที่รวดเร็วและมีประสิทธิภาพ นอกจากนี้การใช้ AppStream ยังช่วยให้สามารถเข้าถึง และจัดการฟังก์ชันต่างๆ ในแบบอัตโนมัติหรือเป็นโปรแกรม ทำให้ระบบมีความยืดหยุ่นและตอบสนองต่อความต้องการที่เปลี่ยนแปลงได้ดีขึ้น