ตลอดทั้งเล่มนี้ เราได้แสดงให้เห็นว่าจะระบุ characteristics ที่สำคัญซึ่งสถาปัตยกรรมต้องรองรับได้อย่างไร จะเลือก architectural style ที่เหมาะสมที่สุดสำหรับ characteristics เหล่านั้นและสำหรับปัญหาทางธุรกิจได้อย่างไร จะตัดสินใจเรื่องสถาปัตยกรรมอย่างมีประสิทธิภาพได้อย่างไร และจะนำและชี้แนะทีมพัฒนาให้ implement สถาปัตยกรรมได้อย่างไร อย่างไรก็ตาม เพื่อให้สถาปัตยกรรมทำงานได้จริง มันต้องสอดคล้องกับแง่มุมอื่นๆ ของสภาพแวดล้อมทางเทคนิคและธุรกิจด้วย เราเรียกความสอดคล้องเหล่านี้ว่า intersections of architecture (จุดตัดของสถาปัตยกรรม)
ในบทนี้ เราจะพูดถึงจุดตัดสำคัญหลายจุดที่เกิดขึ้นเมื่อสร้างหรือตรวจสอบความถูกต้องของสถาปัตยกรรมซอฟต์แวร์
Implementation
การ implement สอดคล้องกับประเด็นทางสถาปัตยกรรมที่เกี่ยวกับ operational characteristics ข้อจำกัดทางสถาปัตยกรรม และโครงสร้างภายในของสถาปัตยกรรมหรือไม่?
Infrastructure
infrastructure และวิธีที่ deploy สถาปัตยกรรมสอดคล้องกับประเด็นด้าน operational ของสถาปัตยกรรม เช่น scalability, responsiveness, fault tolerance และ availability หรือไม่?
Data topologies
ความสอดคล้องหนึ่งที่มักถูกมองข้ามคือความสอดคล้องระหว่างจุดตัดของสถาปัตยกรรมกับ data topology และประเภทของข้อมูล data topology (monolithic, domain databases และ database per service) ต้องสอดคล้องอย่างเหมาะสมกับ architectural style เพื่อให้ระบบทำงานได้
Engineering practices
วิธีที่ทีมพัฒนาสร้าง ดูแลรักษา และทดสอบซอฟต์แวร์สอดคล้องกับสถาปัตยกรรมที่เกี่ยวข้องหรือไม่? deployment pipeline สอดคล้องกับ architectural style หรือไม่?
Team topologies
วิธีจัดโครงสร้างทีมสามารถส่งผลกระทบอย่างมากต่อสถาปัตยกรรม และในทางกลับกันก็เช่นกัน หากโครงสร้างทีมไม่สอดคล้องกับสถาปัตยกรรมอย่างเหมาะสม ทีมพัฒนามักจะประสบปัญหา แม้แต่การเปลี่ยนแปลงที่ง่ายที่สุดก็ยังท้าทาย
Systems integration
สถาปัตยกรรมต้องสื่อสารกับระบบหรือ service อื่นใดบ้าง? การไม่ใส่ใจจุดตัดนี้อาจส่งผลร้ายแรงในแง่ของการดูแลรักษา ความน่าเชื่อถือ และ operational characteristics เช่น scalability, responsiveness และ availability
The enterprise
สถาปัตยกรรมสอดคล้องกับ framework แนวปฏิบัติ หลักการชี้นำ และมาตรฐานทั่วทั้งองค์กรและ enterprise หรือไม่?
The business environment
สถาปัตยกรรมสอดคล้องกับสภาพแวดล้อมทางธุรกิจและ problem domain อย่างเหมาะสมหรือไม่? บ่อยครั้งที่สถาปนิกมองข้ามจุดตัดสำคัญนี้ ผลก็คือสถาปัตยกรรมไม่สามารถตอบสนองเป้าหมายหรือความต้องการของธุรกิจได้
Generative AI
การใช้งาน large language models (LLMs) ที่เพิ่มขึ้นส่งผลต่อสถาปัตยกรรมอย่างไร? จุดตัดนี้กำลังกลายเป็นเรื่องสำคัญอย่างรวดเร็ว เมื่อบริษัทต่างๆ นำ generative AI มาใช้ในระบบของตนมากขึ้น
ส่วนถัดไปจะอธิบายจุดตัดเหล่านี้โดยละเอียด