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 เพื่อนำไปวิเคราะห์