ระบบต้องตอบข้อผิดพลาดอย่างมีโครงสร้างโดยไม่เปิด stack trace หรือความลับ จึงพิจารณาว่า บริษัทกำลังเปรียบเทียบระหว่างการใช้ Monolithic Architecture กับ Microservices Architecture สำหรับ Startup ที่เพิ่งเริ่มต้น ข้อสรุปใดถูกต้องที่สุดตามหลักวิศวกรรมซอฟต์แวร์

Monolithic ดีกว่าเสมอเพราะ Microservices มีความซับซ้อนโดยไม่จำเป็น
ทั้งสองสถาปัตยกรรมมีประสิทธิภาพเท่ากันและควรเลือกตามความชอบของทีม
Microservices ดีกว่าเสมอเพราะรองรับการขยายตัวได้ดีกว่า
Monolithic เหมาะสำหรับ Startup ในช่วงต้นเพราะพัฒนาเร็วและจัดการง่ายกว่า ค่อยเปลี่ยนเป็น Microservices เมื่อขยายใหญ่

เฉลยอธิบาย

หลักการ 'You Aren't Gonna Need It' (YAGNI) และ 'Start Simple' สนับสนุนการเริ่มด้วย Monolithic สำหรับ Startup เพราะพัฒนาเร็ว Debug ง่าย Deploy ง่าย ค่าใช้จ่ายน้อย เมื่อระบบโตขึ้นและมีปัญหา Scaling จริงจึงค่อยแยกเป็น Microservices ตัวเลือก A ผิดเพราะ Microservices มีความซับซ้อนสูงในการบริหารจัดการ, ตัวเลือก C ไม่ถูกต้องเพราะแต่ละสถาปัตยกรรมเหมาะกับบริบทต่างกัน, ตัวเลือก D ผิดเพราะ Microservices มีประโยชน์สำหรับระบบใหญ่

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับการพัฒนาโปรแกรมระบบงานในลักษณะ Web Application

ดูข้อสอบวิชานี้ทั้งหมด →