หนึ่งในคุณสมบัติสำคัญของสถาปัตยกรรมแบบ Microservices คือความสามารถในการแยกอิสระต่อกันระหว่างเซอร์วิส คุณสมบัตินี้เปิดโอกาสให้เราสามารถที่จะแยกทีมดูแล หรือรีลีสเซอร์วิสใดๆ โดยเป็นอิสระต่อกัน
ในความเป็นจริงคุณสมบัตินี้จะเป็นไปไม่ได้ หากเราไม่สามารถรับประกันได้ว่าการแก้ไขวิวัฒน์ API ของเรา ได้ส่งผลกระทบให้เซอร์วิสอื่นรอบข้างทำงานผิดไปหรือไม่ และการทำ End-to-End Testing ตลอดเวลา เพื่อตรวจสอบความถูกต้อง ก็มีค่าใช้จ่ายสูง ให้ฟีดแบ็คช้า จัดการยาก เพราะต้องใช้การประสานงานระหว่างทุกทีมทุกเซอร์วิส ซึ่งส่งผลให้ระบบเสียคุณสมบัติการแยกอิสระต่อกันในที่สุด
Consumer-driven Contracts เป็นเทคนิคที่ถูกนำมาประยุกต์ในการแก้ปัญหานี้ มันเปิดโอกาสให้เซอร์วิสที่ต้องทำงานร่วมกันสามารถกำหนดสัญญาระหว่างกันแบบไม่ตายตัวขึ้นมา เป็นสัญญาที่เอื้อให้การแก้ไข มีได้ภายหลังอย่างมีแบบแผนและยังคงไว้ซึ่งคุณสมบัติการแยกอิสระต่อกันอยู่
ผู้เข้าร่วมจะได้เรียนรู้
- ประโยชน์ของ Consumer-driven Contracts
- วิธีการประยุกต์ใช้ Consumer-driven Contracts ในสถานการณ์ต่างๆ
- เครื่องมือที่ต้องใช้ในการประยุกต์ Consumer-driven Contracts
- กรณีศึกษาในการประยุกต์ Consumer-driven Contracts ในองค์กร