Team Topology Considerations (ข้อพิจารณาด้าน Team Topology)
ต่างจาก architecture style อื่น ๆ บางแบบที่กล่าวถึงในหนังสือเล่มนี้ layered architecture style โดยทั่วไปแล้วเป็นอิสระจาก team topology และทำงานได้ดีกับ team configuration แบบใดก็ได้:
Stream-aligned teams
เนื่องจาก layered architecture มักมีขนาดเล็ก จบในตัวเอง และแทนสายงานหรือ flow เดียวผ่านระบบ มันจึงเข้ากันได้ดีกับ stream-aligned team ด้วย team topology แบบนี้ ทีมมักจะเป็นเจ้าของ flow ผ่านระบบทั้งหมด ผ่านแต่ละ layer ตั้งแต่ต้นจนจบ โดยสร้าง workflow เป็นส่วนหนึ่งของโซลูชันของตน
Enabling teams
เนื่องจาก layered architecture มี modularity สูงและแยกกันตาม technical concern มันจึงเข้ากันได้ดีกับ enabling team topology ผู้เชี่ยวชาญและสมาชิกทีมที่ทำงานข้ามสายงานสามารถเชื่อมต่อกับ layer หนึ่งหรือมากกว่าเพื่อเสนอแนะและทดลอง โดยไม่กระทบกับส่วนที่เหลือของ flow ตัวอย่างเช่น ทีมอาจทดลองใช้ UI library ใหม่โดยเพิ่มพฤติกรรมใหม่เข้าไปใน Presentation layer ในขณะที่แยก layer อื่น ๆ ออกจากการเปลี่ยนแปลงนั้น
Complicated-subsystem teams
เนื่องจากแต่ละ layer ทำงานเฉพาะเจาะจงมาก style นี้จึงเข้ากันได้ดีกับ complicated-subsystem team topology ตัวอย่างเช่น Persistence layer เป็นจุดเชื่อมต่อที่สมบูรณ์แบบสำหรับทีมที่ต้องการเข้าถึงข้อมูลเชิงปฏิบัติการเพื่อวัตถุประสงค์เชิงวิเคราะห์ ถ้าได้รับอนุญาตให้เข้าถึงที่ Persistence layer complicated-subsystem team ก็สามารถทำงานได้โดยไม่กระทบ layer อื่นใดที่ stream-aligned team ยังคงเป็นเจ้าของอยู่
Platform teams
platform team ที่ทำงานกับ layered architecture สามารถใช้ประโยชน์จาก modularity ระดับสูงของมันได้ โดยใช้เครื่องมือมากมายที่มีอยู่สำหรับมัน
ความท้าทายที่ใหญ่ที่สุดของ layered architecture สำหรับ platform team ส่วนใหญ่ สอดคล้องกับปัญหาโดยรวมของ monolith ทั่วไป นั่นคือเมื่อมันเติบโตขึ้น มันจะจัดการยากขึ้นเรื่อย ๆ ถ้าทีมยังคงเพิ่มฟีเจอร์เข้าไปใน monolith ต่อไปเรื่อย ๆ ไม่ว่าจะแบ่งพาร์ทิชันและกำกับดูแลไว้ดีแค่ไหน ในที่สุดมันก็จะเริ่มตึงเข้ากับข้อจำกัดบางอย่าง ไม่ว่าจะเป็น database connection, memory, performance, ผู้ใช้พร้อมกัน หรือปัญหาอื่น ๆ ที่กำลังจะตามมาอีกมากมาย การรักษาให้ระบบทำงานได้จะต้องใช้ความพยายามที่ยากขึ้นเรื่อย ๆ จาก platform team