ช่วงนี้ Azure เปิดตัวเครื่องมือสำหรับทดสอบระบบหลายตัว ก่อนหน้านี้เป็น Chaos Studio ที่ใช้จำลองเหตุการณ์ระบบล่มเพื่อให้ผู้ดูแลระบบซ้อมรับมือได้ก่อน ล่าสุดได้เปิดตัว Azure Load Testing ใช้จำลองโหลดหนักๆ เข้ามาที่แอพหรือระบบเราเพื่อดูว่ายังทำงานได้ตามปกติหรือไม่
การใช้งาน Azure Load Testing ต้องเขียนสคริปต์ Apache JMeter ขึ้นมาแล้วอัพโหลดเข้าไปที่ Azure จากนั้นมันจะรันการทดสอบให้เราตามสคริปต์ที่เขียนไว้ โดยกำหนดได้ว่าจะให้มี test engine รันขนานกันกี่ตัว ยิ่งมากก็ยิ่งส่งโหลดเข้าไปที่ระบบเรามากขึ้น
เมื่อเริ่มรันแล้ว Azure จะรายงานผลต่างๆ เช่นจำนวน users ที่จำลองขึ้นมา, response time ของระบบ, จำนวนรีเควสต่อวินาที และ errors ต่างๆ ที่เจอ
นอกจากนี้ Azure Load Testing ยังทำงานร่วมกับ Azure Monitor ที่ฝั่งระบบที่เราทดสอบ พร้อมรายงานค่าต่างๆ จากตัวระบบ เช่นอัตราการใช้ซีพียู, อัตราการอ่านฐานข้อมูล เป็นต้น ทำให้เราเห็นภาพรวมว่าฝั่งไคลเอนท์เจออะไร และฝั่งระบบเจออะไร
ฟีเจอร์ที่น่าสนใจอีกอย่างคือมันสามารถฝังอยู่ใน CI/CD pipeline อย่าง GitHub Actions และ Azure Pipelines ได้ด้วย แปลว่าเรารันการทดสอบโหลดได้อัตโนมัติตั้งแต่ก่อนปล่อยออกโปรดักชันเลย
ส่วนราคาใช้โมเดล Virtual Users Hours (VUH) คือคิดตามจำนวนยูสเซอร์จำลองต่อชั่วโมงที่เราใช้ยิงโหลดเข้าไปโดยยืนพื้นที่ 10 ดอลลาร์สหรัฐต่อเดือน มีโควต้าให้ 50 VUH กล่าวคือสามารถจำลองยูสเซอร์ขึ้นมา 50 คนแล้วยิงยาว 1 ชั่วโมง หรือกลับกันคือจำลอง 1 ยูสเซอร์แล้วยิงโหลด 50 ชั่วโมง หรือตัวเลขที่อยู่ระหว่างช่วงนี้ก็ได้ เกินจากนี้คิดเงินที่ 0.15 ดอลลาร์สหรัฐต่อชั่วโมง และหากใช้เกิน 9,950 ชั่วโมงก็คิดที่ 0.075 ดอลลาร์สหรัฐต่อชั่วโมง
ทั้งนี้ Azure Load Testing ไม่ใช่ของใหม่สักทีเดียว เพราะก่อนหน้านี้เคยมีบริการ load testing บน Azure มาก่อนที่ใช้งานได้ในระดับหนึ่ง แต่ Microsoft ก็ปิดบริการนี้ไปตั้งแต่ต้นปี 2020
ที่มา - Azure Blog