3-Tier และ microservices
แยกชั้น web/app/data และแตกเป็นบริการย่อย
มี หน้าร้าน (รับลูกค้า/Web), ครัว (ปรุงอาหาร/App Logic), และ คลังวัตถุดิบ (เก็บของ/Database) — ทุกส่วนแยกหน้าที่กันชัดเจน ถ้าลูกค้าล้นก็แค่ขยายหน้าร้าน ไม่ต้องสร้างคลังวัตถุดิบเพิ่ม
พื้นฐานที่ควรรู้: ในอดีต แอปพลิเคชันมักถูกเขียนรวมทุกอย่างไว้ในก้อนเดียว (Monolith) ตั้งแต่หน้าเว็บ โค้ดคำนวณ ไปจนถึงฐานข้อมูล เวลาพังก็พังทั้งหมด เวลาจะอัปเกรดเครื่องก็ต้องอัปเกรดทั้งก้อน
สถาปัตยกรรม 3-Tier (3-Tier Architecture) คือรูปแบบการแยกระบบออกเป็น 3 ชั้น: 1. Web Tier (ชั้นนำเสนอ): รับ Request จากผู้ใช้ (มักอยู่ใน Public Subnet) 2. App Tier (ชั้นประมวลผลตรรกะ): คิดคำนวณและประมวลผล (อยู่ใน Private Subnet) 3. Data Tier (ชั้นข้อมูล): ฐานข้อมูลสำหรับเก็บข้อมูล (อยู่ใน Private Subnet) ส่วน Microservices (ไมโครเซอร์วิส) เป็นการซอยย่อย App Tier ลงไปอีกเป็นบริการเล็กๆ หลายๆ ตัวที่ทำงานอิสระต่อกัน
3-Tier: แยกชั้นเว็บ / แอป / ข้อมูล
Architecture Builder (ลากวาง)
ลากบริการไปวางในแต่ละ subnet แล้วระบบช่วยตรวจว่าออกแบบถูกหลักไหม (เช่น ห้ามวาง database ใน public)
ลากบริการจากแถบนี้
Public Subnet
Private Subnet
เริ่มลากบริการมาวางเพื่อให้ระบบช่วยตรวจสอบ
- 3-Tier — แยกชั้นชัดเจน ทำให้เราสามารถดูแล, อัปเดต, และสเกล (Scale) แต่ละชั้นแยกกันได้
- Microservices — แตกแอปใหญ่ๆ เป็นบริการย่อยอิสระ จัดการ Deploy และ Scale แยกกัน (มักใช้เทคโนโลยี Container + API + คิวส่งข้อความ)
- ทั้งสองรูปแบบช่วยให้ระบบมีความยืดหยุ่น (Loosely coupled) และทนทาน (Resilient) มากขึ้น
สรุป Key Takeaways
- 3-Tier แยก web(public)/app(private)/data(private) สเกลแยกชั้นได้
- Microservices แตกเป็นบริการย่อยอิสระ
- ทั้งคู่เน้น loosely coupled และทนทาน
คำถามที่พบบ่อย
Three-tier architecture บน AWS หน้าตามาตรฐานคือยังไง
Web tier: CloudFront + ALB ใน public subnet · App tier: EC2/ECS ใน private subnet หลัง ALB ภายใน · Data tier: RDS Multi-AZ ใน private subnet แยกชั้น — แต่ละชั้นคุยกันผ่าน SG ที่อ้างอิงกันเป็นชั้นๆ โครงนี้คือฐานของโจทย์ scenario ครึ่งข้อสอบ
ทำไมต้องแยก tier ใส่ subnet คนละชั้น
จำกัดรัศมีความเสียหาย — web tier โดนเจาะก็ยังเข้าถึง database ตรงๆ ไม่ได้เพราะ SG/subnet กั้นเป็นชั้น และแต่ละชั้น scale อิสระ — ฐานข้อมูลไม่ควรมีเส้นทางจาก internet เลยแม้แต่เส้นเดียว
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

