เหตุใดกลยุทธ์การกำหนดเวอร์ชัน API จึงสำคัญ

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

บทนำ: การกำหนดเวอร์ชัน API

บทนำเรื่องการกำหนดเวอร์ชัน

Azure API Management

พื้นฐานการกำหนดเวอร์ชัน API

การเปรียบเทียบเรื่องเวอร์ชัน

  • ใช้เมื่อการเปลี่ยนแปลงที่ breaking จะส่งผลกระทบต่อผู้ใช้งาน
  • ขณะสร้างเส้นทางใหม่ ผู้โดยสารยังคงใช้เส้นทางเดิมได้

  • Revision เปรียบเหมือนการบำรุงรักษาบนเส้นทางเดิม

    • ซ่อมรางรถ เพิ่มป้าย ปรับให้การเดินทางราบรื่นขึ้น
  • ใน APIM:

    • เวอร์ชันต่าง ๆ อยู่ภายใน version set
    • Revision ช่วยให้แก้ไข ทดสอบ และกำหนดให้หนึ่งรายการเป็น current ได้
Azure API Management

การระบุเวอร์ชัน

  • รองรับกลยุทธ์การระบุเวอร์ชัน 3 รูปแบบ:
    • ระบุเวอร์ชันใน URL path
    • ระบุเวอร์ชันใน request header
    • ระบุเวอร์ชันใน URL query string
  • กลยุทธ์การกำหนดเวอร์ชันต้องใช้อย่างสม่ำเสมอ

การกำหนดเวอร์ชันแบบ URL path

การกำหนดเวอร์ชันแบบ Header

การกำหนดเวอร์ชันแบบ Query string

Azure API Management

Version กับ Revision

Version กับ Revision

Azure API Management

Canary releases

Canary release

  • ผลลัพธ์:
    • ถ้าผลตอบรับดี -> กำหนด revision นั้นเป็น current
    • ถ้าไม่ดี -> ย้อนกลับไปยัง revision ก่อนหน้า
  • เปรียบเหมือนการทดสอบเมนูใหม่กับลูกค้าบางโต๊ะก่อน

  • ใน APIM:

    • สร้าง revision ใหม่และทดสอบแบบส่วนตัว
    • เปิดให้กลุ่มผู้ใช้จำกัด (pilot product หรือ subset ของ caller)
    • เข้าถึง revision เฉพาะผ่าน URL พิเศษที่ระบุหมายเลข revision
  • เปรียบได้กับ "รางบำรุงรักษา" ที่ผู้ทดสอบใช้โดยไม่กระทบเส้นทางหลัก

Azure API Management

แนวคิดสำคัญที่ควรจำ

  • เมื่อไรควรใช้ version หรือ revision
  • การกำหนดค่า version scheme
  • การ rollout และ rollback การเปลี่ยนแปลง

API Management

Azure API Management

มาฝึกกันเถอะ!

Azure API Management

Preparing Video For Download...