Skip to main content

CloudWatch Evidently

CloudWatch Evidently เป็นฟีเจอร์หนึ่งของ CloudWatch ที่ช่วยให้คุณ ทดสอบฟีเจอร์ใหม่ในแอปพลิเคชัน และส่งฟีเจอร์เหล่านี้ให้เฉพาะ ผู้ใช้บางส่วน เท่านั้น

จุดประสงค์ของการ Controlled Feature Rollouts

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

กรณีการใช้งานที่ CloudWatch Evidently รองรับ

มีสองกรณีหลักที่ Evidently รองรับ:

  1. Launches (Feature Flags): เปิดหรือปิดฟีเจอร์สำหรับกลุ่มผู้ใช้บางส่วน
  2. Experiments (A/B Testing): เปรียบเทียบหลายเวอร์ชันของฟีเจอร์เดียวกันเพื่อหาว่าเวอร์ชันใดมีประสิทธิภาพมากกว่า

ตัวอย่าง Feature Flags

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

ตัวอย่าง A/B Testing

ในการทดลอง A/B Testing คุณอาจเปรียบเทียบเวอร์ชันของฟีเจอร์เดียวกัน เช่น ทดสอบว่าการวางปุ่มไลค์ทางซ้ายหรือขวาส่งผลต่อ engagement ของผู้ใช้มากกว่า นี่ช่วยให้คุณตัดสินใจได้ว่า เวอร์ชันใดมีประสิทธิภาพมากกว่า

Workflow ใน CloudWatch Evidently

  1. ในฐานะนักพัฒนา คุณสร้าง project ใน CloudWatch Evidently
  2. จากนั้นสร้าง feature หรือ experiment
  3. คุณจะได้รับ code snippet เพื่อนำไปฝังในแอปพลิเคชัน
  4. เมื่อฝังเสร็จ ผู้ใช้เข้าถึงแอปได้ตามปกติ
  5. คุณกำหนด เปอร์เซ็นต์ผู้ใช้ ที่จะได้ฟีเจอร์ใหม่ หรือ การกระจายผู้ใช้ระหว่างเวอร์ชัน A และ B สำหรับ A/B testing
  6. เมื่อผู้ใช้เข้าถึงแอป จะเห็นฟีเจอร์ตามการตั้งค่าใน CloudWatch Evidently

คำสำคัญ: Launches, Experiments และ Overrides

  • Launches: Feature flags สำหรับเปิด/ปิดฟีเจอร์ให้กับผู้ใช้บางกลุ่ม
  • Experiments: A/B testing เพื่อเปรียบเทียบหลายเวอร์ชันของฟีเจอร์
  • Overrides: กลไกที่ทำให้ผู้ใช้บางคน เช่น beta tester, เห็นฟีเจอร์เฉพาะเวอร์ชันเสมอ ไม่ขึ้นกับเปอร์เซ็นต์ rollout

Overrides

หากคุณมี beta tester ในองค์กรและต้องการให้ tester เห็นฟีเจอร์ใหม่เสมอ คุณไม่สามารถพึ่งความสุ่มของ rollout ได้ คุณสามารถสร้าง override ใน CloudWatch Evidently โดยระบุ user ID ของ tester ให้เห็นเฉพาะฟีเจอร์ใหม่หรือเวอร์ชัน B เสมอ ทำให้มั่นใจว่าผู้ทดสอบจะเห็นฟีเจอร์ตามที่ตั้งค่า

การเก็บข้อมูลการทดลอง

คุณสามารถเก็บข้อมูลการทดลองได้ใน CloudWatch Logs หรือ Amazon S3 ข้อมูลนี้สามารถนำไป วิเคราะห์เพื่อประเมินผลลัพธ์และประสิทธิภาพ ของการเปิดฟีเจอร์หรือการทดลอง A/B

สรุป

CloudWatch Evidently เป็นเครื่องมือที่ช่วยให้คุณ ปล่อยฟีเจอร์ใหม่อย่างปลอดภัย, ทำ A/B testing, ควบคุมการเข้าถึงฟีเจอร์, ทำ overrides สำหรับผู้ใช้เฉพาะ และเก็บข้อมูลการทดลองเพื่อนำไปวิเคราะห์

Key Takeaways

  • CloudWatch Evidently ช่วยปล่อยฟีเจอร์ใหม่ให้กับ ผู้ใช้บางส่วน อย่างควบคุมได้
  • รองรับสองกรณีหลัก: feature flags (launches) และ A/B testing (experiments)
  • Overrides ช่วยให้ผู้ใช้บางคน เช่น beta tester, เข้าถึงฟีเจอร์ได้ไม่ขึ้นกับ rollout percentage
  • ข้อมูลการทดลองสามารถเก็บใน CloudWatch Logs หรือ Amazon S3 เพื่อนำไปวิเคราะห์