ระบบชำระเงินออนไลน์กำลังพิจารณาเลือกสถาปัตยกรรมระหว่าง Monolithic และ Microservices ข้อใดคือข้อพิจารณาที่สำคัญที่สุดในการตัดสินใจเลือกสถาปัตยกรรม Microservices สำหรับระบบดังกล่าว
กMicroservices เหมาะสมกว่าเมื่อระบบต้องการปรับขนาด (Scale) เฉพาะส่วน เช่น โมดูลการชำระเงินในช่วง Traffic สูง โดยไม่กระทบส่วนอื่น
ขMicroservices ช่วยลดความซับซ้อนในการพัฒนาเริ่มต้น เนื่องจากทีมงานสามารถเขียนโค้ดทั้งหมดไว้ในที่เดียวได้สะดวกกว่า Monolithic
คMicroservices มีค่าใช้จ่ายในการดำเนินงานต่ำกว่า Monolithic เสมอในทุกกรณี เนื่องจากใช้ทรัพยากรเซิร์ฟเวอร์และกำลังคนในการดูแลระบบน้อยกว่า ไม่ว่าระบบจะมีขนาดหรือปริมาณ Traffic เท่าใดก็ตาม
งMicroservices เหมาะสมที่สุดสำหรับระบบขนาดเล็กที่มีผู้ใช้งานน้อย เพราะง่ายต่อการบริหารจัดการและไม่ต้องใช้ทีม DevOps
เฉลยอธิบาย
สถาปัตยกรรม Microservices มีข้อได้เปรียบสำคัญคือสามารถ Scale เฉพาะส่วนที่ต้องการได้อิสระ เช่น โมดูลชำระเงินในช่วงที่มี Traffic สูง โดยไม่ต้องขยายทั้งระบบ ซึ่งเหมาะกับระบบชำระเงินที่แต่ละส่วนมีภาระงานต่างกัน ส่วนตัวเลือก B ผิดเพราะ Microservices มีความซับซ้อนในการพัฒนาเริ่มต้นมากกว่า ตัวเลือก C ผิดเพราะ Microservices มักมีค่าใช้จ่ายด้าน Infrastructure สูงกว่าในบางกรณี และตัวเลือก D ผิดเพราะ Microservices เหมาะกับระบบขนาดใหญ่ที่ซับซ้อน ไม่ใช่ระบบขนาดเล็ก