เหตุผลของฝ่ายตรงข้ามผมทำให้ผมนึกถึงคนต่างศาสนาที่เมื่อถูกถามว่าโลกตั้งอยู่บนอะไร ก็ตอบว่า "บนเต่าตัวหนึ่ง" แต่แล้วเต่าตัวนั้นตั้งอยู่บนอะไรอีกล่ะ "ก็บนเต่าอีกตัวหนึ่งไง"

Rev. Joseph Frederick Berg (1854)

คุณคงรู้แล้วว่า microservices คืออะไร และผมหวังว่าคุณคงเข้าใจถึงประโยชน์หลัก ๆ ของมันแล้ว ตอนนี้คุณคงอยากลงมือสร้างมันขึ้นมาสักทีใช่ไหมครับ แต่จะเริ่มจากตรงไหนดี ในบทนี้เราจะมาดูแนวคิดพื้นฐานอย่าง information hiding, coupling และ cohesion และทำความเข้าใจว่าแนวคิดเหล่านี้จะเปลี่ยนวิธีคิดของเราในการกำหนดขอบเขตของ microservice อย่างไร นอกจากนี้เรายังจะดูรูปแบบต่าง ๆ ของการแบ่งย่อย (decomposition) ที่คุณอาจนำไปใช้ พร้อมทั้งเจาะลึกเรื่อง domain-driven design ซึ่งเป็นเทคนิคที่มีประโยชน์อย่างมากในเรื่องนี้

เราจะมาดูกันว่าควรคิดเรื่องขอบเขตของ microservices อย่างไรเพื่อให้ได้ประโยชน์สูงสุดและหลีกเลี่ยงข้อเสียที่อาจเกิดขึ้น แต่ก่อนอื่น เราต้องมีตัวอย่างมาใช้ทำงานด้วยกันก่อน