ในการออกแบบระบบสารสนเทศขนาดใหญ่ที่ต้องรองรับผู้ใช้หลายล้านคน ผู้ออกแบบกำลังตัดสินใจระหว่าง Monolithic Architecture กับ Microservices Architecture ข้อใดวิเคราะห์ Trade-off ได้ถูกต้องที่สุด
กMicroservices ดีกว่าเสมอเพราะขยายตัวได้ดีกว่า
ขสองสถาปัตยกรรมมีประสิทธิภาพเท่ากัน ขึ้นอยู่กับภาษาโปรแกรมที่ใช้
คMonolithic ดีกว่าเพราะง่ายกว่าและประสิทธิภาพสูงกว่า
งMicroservices มีความซับซ้อนในการจัดการสูงกว่า (Network Latency, Distributed Data) แต่ขยายตัวแต่ละส่วนอิสระได้ ส่วน Monolithic ง่ายกว่าในการพัฒนาและ Debug แต่ขยายตัวทั้งระบบพร้อมกันทำให้สิ้นเปลือง
เฉลยอธิบาย
การวิเคราะห์ Trade-off ที่ถูกต้อง: Microservices ให้ Independent Scaling (ขยายเฉพาะส่วนที่ Bottleneck), Independent Deployment, Technology Diversity แต่เพิ่มความซับซ้อนด้าน Distributed Systems, Network Latency, Data Consistency ส่วน Monolithic ง่ายกว่าในการพัฒนาและ Debug แต่ Scale ทั้งระบบหรือไม่ก็ไม่ Scale ตัวเลือก A เป็น Overgeneralization ตัวเลือก B ไม่พิจารณา Scalability ตัวเลือก D ผิดเพราะสถาปัตยกรรมส่งผลต่อประสิทธิภาพอย่างมีนัยสำคัญ