Skip to main content

Workload architecture

เวิร์กโหลดที่มีความน่าเชื่อถือเริ่มต้นจากการตัดสินใจออกแบบล่วงหน้าทั้งในส่วนของซอฟต์แวร์และโครงสร้างพื้นฐาน ทางเลือกด้านสถาปัตยกรรมของคุณจะส่งผลต่อพฤติกรรมของเวิร์กโหลดในทุกเสาหลักของ Well-Architected และสำหรับด้านความน่าเชื่อถือ มีรูปแบบเฉพาะ (Patterns) ที่คุณต้องปฏิบัติตาม

บน AWS นักพัฒนาเวิร์กโหลดสามารถเลือกภาษาและเทคโนโลยีที่จะใช้งานได้ตามต้องการ AWS SDKs ช่วยลดความซับซ้อนในการเขียนโค้ดโดยการมอบคุณสมบัติ API เฉพาะสำหรับแต่ละภาษาในการเข้าถึงบริการของ AWS ซึ่ง SDK เหล่านี้รวมกับทางเลือกด้านภาษา ช่วยให้นักพัฒนาสามารถนำแนวทางปฏิบัติที่ดีที่สุดด้านความน่าเชื่อถือตามที่ระบุไว้ที่นี่ไปใช้งานได้จริง นอกจากนี้ นักพัฒนายังสามารถอ่านและเรียนรู้วิธีที่ Amazon สร้างและบริหารจัดการซอฟต์แวร์ได้จาก The Amazon Builders' Library

คำถามต่อไปนี้จะเน้นที่การพิจารณาด้านความน่าเชื่อถือ:

  • REL 3: คุณออกแบบสถาปัตยกรรมบริการ (Service Architecture) ของเวิร์กโหลดอย่างไร? สร้างเวิร์กโหลดที่ขยายขนาดได้สูงและมีความน่าเชื่อถือโดยใช้สถาปัตยกรรมแบบเน้นการบริการ (Service-Oriented Architecture - SOA) หรือสถาปัตยกรรมแบบไมโครเซอร์วิส (Microservices Architecture) โดย SOA คือแนวปฏิบัติที่ทำให้ส่วนประกอบของซอฟต์แวร์สามารถนำกลับมาใช้ใหม่ได้ผ่านอินเทอร์เฟซของบริการ ส่วนสถาปัตยกรรมแบบไมโครเซอร์วิสนั้นก้าวไปอีกขั้นด้วยการทำให้ส่วนประกอบต่างๆ มีขนาดเล็กลงและเรียบง่ายขึ้น

  • REL 4: คุณออกแบบการโต้ตอบในระบบแบบกระจาย (Distributed System) อย่างไรเพื่อป้องกันความล้มเหลว? ระบบแบบกระจายต้องพึ่งพาเครือข่ายการสื่อสารในการเชื่อมต่อส่วนประกอบต่างๆ เช่น เซิร์ฟเวอร์หรือบริการเข้าด้วยกัน เวิร์กโหลดของคุณต้องทำงานได้อย่างน่าเชื่อถือแม้จะมีการสูญเสียข้อมูลหรือมีความหน่วง (Latency) ในเครือข่ายเหล่านี้ ส่วนประกอบของระบบแบบกระจายต้องทำงานในลักษณะที่ไม่ส่งผลกระทบเชิงลบต่อส่วนประกอบอื่นหรือต่อเวิร์กโหลดโดยรวม แนวทางปฏิบัติที่ดีที่สุดเหล่านี้จะช่วยป้องกันความล้มเหลวและเพิ่มค่าเฉลี่ยระยะเวลาที่ใช้งานได้ก่อนเกิดการล้มเหลว (Mean Time Between Failures - MTBF)

  • REL 5: คุณออกแบบการโต้ตอบในระบบแบบกระจายอย่างไรเพื่อบรรเทาหรือทนทานต่อความล้มเหลว? ระบบแบบกระจายพึ่งพาเครือข่ายการสื่อสารในการเชื่อมต่อส่วนประกอบต่างๆ เวิร์กโหลดของคุณต้องทำงานได้อย่างน่าเชื่อถือแม้จะมีการสูญเสียข้อมูลหรือความหน่วงบนเครือข่าย ส่วนประกอบของระบบต้องไม่ส่งผลกระทบเชิงลบต่อกัน แนวทางปฏิบัติเหล่านี้ช่วยให้เวิร์กโหลดทนทานต่อแรงกดดันหรือความล้มเหลว กู้คืนจากปัญหาได้รวดเร็วขึ้น และบรรเทาผลกระทบจากความบกพร่องดังกล่าว ซึ่งจะส่งผลให้ค่าเฉลี่ยระยะเวลาที่ใช้ในการกู้คืน (Mean Time To Recovery - MTTR) ดีขึ้น