web-architecture

อะไรคือ Web Architecture? จากความเข้าใจ คือองค์ประกอบต่างๆ ที่ทำให้เว็บไซต์ของเราทำงานได้ โดยเราจะมาทำความเข้าใจองค์ประกอบของ Web Architecture ดังนี้

DNS

DNS ย่อมาจาก Domain Name Server ทำหน้าที่เป็นเหมือนสมุดจด IP Address เพื่อให้เราสามารถค้นหาได้จากชื่อโดเมน ปัจจุบันก็มีผู้ให้บริการจดโดเมนมากมาย ยกตัวอย่างเช่น GoDaddy ก็เป็นหนึ่งในผู้ให้บริการ DNS

Load Balancer

ทำหน้าที่จัดการปริมาณงาน (Workload) จำนวนมากเพื่อทำให้ระบบมีประสิทธิภาพสูงและความเสถียร โดยจะยกตัวอย่างเป็น Nginx เป็นซอฟต์แวร์โอเพนซอร์สสำหรับ Web service

Web App Servers

คือโปรแกรมคอมพิวเตอร์ ที่ทำหน้าที่รับส่งข้อมูลโดยใช้โพรโทคอล HTTP ผ่านทางเว็บเบราว์เซอร์ เช่น ใช้การ nodejs ทำเป็น Services ให้บริการ และ PM2 มาช่วยในการจัดการ Runtime ของ process ของ nodejs

Web Application

คือแอพพลิเคชันที่ถูกพัฒนาให้เปิดใช้งานใน Web browser โดยจะแบ่งการพัฒนาได้เป็น

  • Frontend คือส่วนของการแสดงผลของเว็บไซต์ (User Interface) หรือที่เรียกว่า Client side ตัวอย่างเช่น Next.js framework
  • Backend คือส่วนของการทำงานของเว็บไซต์ หรือที่เรียกว่า Server Side ตัวอย่างเช่น Express framework

Databases

คือส่วนที่จัดเก็บข้อมูลของเว็บไซต์ ยกตัวอย่างเช่น postgresql เป็นระบบการจัดการฐานข้อมูลเชิงวัตถุ-สัมพันธ์ (Object Relational Database Management หรือ ORDBMS) แบบ Open Source

Caching Service

คือส่วนที่จัดเก็บข้อมูลของเว็บไซต์ เพื่อเพิ่มประสิทธิภาพในแง่ของความเร็วในการประมวลผลข้อมูลเร็วขึ้น ยกตัวอย่างเช่น Redis เป็นซอฟต์แวร์ Open Source

CDN

เป็นชื่อย่อของ Content Delivery Network หมายถึงกลุ่มของเซิร์ฟเวอร์ที่ติดตั้งกระจายไปตามพื้นที่ต่าง ๆ เพื่อความรวดเร็วในการส่งข้อมูลคอนเทนต์ผ่านอินเทอร์เน็ต Digital Ocean ก็ถือว่าเป็นหนึ่งในผู้ให้บริการ cloud Server