Skip to content
Tech

ทำไม API contract ใน production ของฉันถึงเสียหายเฉพาะในแบบที่ CI pipeline มองไม่เห็น?

81

โอกาส

การทดสอบ consumer-driven contract จับการเปลี่ยนแปลงที่ทำให้เสียหายได้ก่อน merge แต่มันตรึง contract ไว้ ณ เวลา PR และไม่มีกลไกในการตรวจจับการเคลื่อนตัวเชิงความหมายที่สะสมในบริการ live หลังการ deploy ทีมเพิ่มฟิลด์ที่ไม่มีเอกสารใน production hotfix เปลี่ยนรูปแบบ error เพื่อแก้ incident หรือผ่อนคลาย validation โดยไม่แตะ OpenAPI spec World Quality Report 2025 ระบุว่า API schema drift ที่ตรวจไม่พบเป็นหนึ่งในสามสาเหตุอันดับต้นของ production incident ในระบบกระจาย และประมาณว่าประมาณ 70% ของ API failure ใน production ผ่านการตรวจสอบ CI ทั้งหมด ไม่มีเครื่องมือปัจจุบันใดที่ตรวจสอบ production traffic จริงเทียบกับ contract ที่เผยแพร่อย่างต่อเนื่อง และแสดงการละเมิดขณะที่กำลังสะสมแทนที่จะรอจนถึงเวลา merge

ทำไมถึงสำคัญ

การตรวจสอบ traffic จริงเทียบกับ contract ที่คุณเผยแพร่จะปิดช่องว่างไมล์สุดท้ายระหว่างสิ่งที่ API ของคุณสัญญาไว้กับสิ่งที่มันหยุดส่งมอบอย่างเงียบๆ

วิธีที่ผมให้คะแนนโอกาส

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

ความรุนแรง8/10

ความเจ็บปวดที่มันก่อขึ้นเมื่อปรากฏตัว

ความถี่8/10

ความถี่ที่คนจริงๆ เจอมัน

ช่องว่าง7/10

ความขาดแคลนของเครื่องมือที่ดีสำหรับมันในปัจจุบัน

ปัญหาอื่นที่น่าแก้ไข