Modularity Versus Granularity (ความเป็นโมดูลเทียบกับ granularity)
นักพัฒนาและสถาปนิกมักใช้คำว่า modularity และ granularity แทนกันได้ ทั้งที่ความหมายของทั้งสองแตกต่างกันมาก Modularity คือการแยกระบบออกเป็นชิ้นส่วนย่อย ๆ เช่น การย้ายจากสถาปัตยกรรมแบบโมโนลิธ (เช่น n-tiered layered architecture แบบดั้งเดิม) ไปสู่สถาปัตยกรรมแบบกระจายตัวสูงอย่าง microservices ในขณะที่ granularity เป็นเรื่องของ ขนาด ของชิ้นส่วนเหล่านั้น—ว่าส่วนหนึ่ง ๆ ของระบบ (หรือ service) ควรมีขนาดใหญ่แค่ไหน อย่างไรก็ตาม ดังที่ผู้เขียนคนหนึ่งของเราได้กล่าวไว้ในคำพูดต่อไปนี้ ปัญหาที่สถาปนิกและนักพัฒนามักเจอจริง ๆ กลับอยู่ที่ granularity :
โอบรับ modularity แต่ระวัง granularity ให้ดี
Mark Richards
Granularity ทำให้ service หรือ component ต่าง ๆ ผูกติดกัน (coupled) จนก่อให้เกิด antipattern ทางสถาปัตยกรรมที่ซับซ้อนและดูแลรักษายาก เช่น Spaghetti Architecture , Distributed Monolith และตัวดังอย่าง Big Ball of Distributed Mud เคล็ดลับในการหลีกเลี่ยง antipattern เหล่านี้คือการใส่ใจกับ granularity และระดับ coupling โดยรวมระหว่าง service และ component ต่าง ๆ