CDN คืออะไร? CDN มีประโยชน์กับเว็บไซต์ของเรายังไง?

Shin Ji
Shin Ji
Oct 7, 2017 · 2 min read

CDN คืออะไร?

สำหรับ CDN หรือ Content Delivery Network ก็คือระบบเครือข่ายขนาดใหญ่ ของเครื่องเชิฟเวอร์จำนวนมหาศาล ที่กระจายตัวอยู่ตามภูมิภาคต่างๆ ทั่วโลก โดยเชิฟเวอร์เหล่านั้นจะทำการเชื่อมต่อกันผ่านอินเตอร์เน็ต เพื่อทำหน้าที่ในการส่งข้อมูลให้ไปถึงผู้รับปลายทางให้เร็วที่สุด รวมทั้งเพิ่มประสิทธิภาพในการเข้าถึงข้อมูลเหล่านั้น ได้ตลอดเวลา

ยกตัวอย่าง Google มี Server วางอยู่มากมายทั่วโลก ทำให้ CDN ส่ง Resource file นั้นจาก CDN ที่ใกล้ User ที่สุดไปให้ได้ (อาจจะใกล้กว่า Host ของ Website เราเองด้วยซ้ำไป) ดังนั้นเราได้ request กลับมาเร็วขึ้น Resource ไฟล์ต่างๆ ก็จะโหลดเร็วขึ้นเนื่องจาก ค่า Latency ลดลง

Latency คือค่าความหน่วงในการส่งข้อมูล เป็นเวลาที่ใช้ในการนำ 1 data package จากจุดหนึ่งไปอีกจุดหนึ่ง

ข้อมูลหรือ Content บนอินเทอร์เน็ตที่ส่งผ่าน CDN ได้นั้นมีหลากหลายรูปแบบ เช่น ข้อความ รูปภาพ ไฟล์เอกสาร ซอฟต์แวร์ และไฟล์มัลติมีเดียประเภทต่างๆ เป็นต้น ข้อมูลเหล่านี้จะถูกคัดลอก (Caching) ไปเก็บไว้บนเครื่องเซิฟเวอร์ที่กระจายตัวอยู่บริเวณเครื่องปลายทาง หรือที่เรียกว่า “Edges” of the Internet เมื่อมีการร้องขอข้อมูล เซิฟเวอร์ที่อยู่ใกล้ที่สุดจะเป็นคนตอบรับคำร้องขอเหล่านั้นแทนเครื่องเซิฟเวอร์ต้นทางที่อยู่ไกลออกไป ซึ่งสามารถร่นระยะเวลาในการส่งข้อมูลให้เร็วขึ้นกว่าเดิมโดยเฉลี่ยแล้วมากกว่า 50%

ประโยชน์จากการใช้ CDN

CDN ก่อให้เกิดประโยชน์หลายประการแก่ผู้ใช้บริการเว็บไซต์ เจ้าของ Content และแอพพลิเคชัน รวมไปถึงผู้ให้บริการเครือข่ายหรือ ISP

ผู้ใช้บริการเว็บไซต์: CDN ช่วยให้ผู้ใช้บริการเว็บไซต์และเว็บแอพพลิเคชันสามารถโหลดข้อมูลมาแสดงผลและทำธุรกรรมออนไลน์ต่างๆ ได้รวดเร็วกว่าการไม่ใช้ CDN

  • เจ้าของ Content: เว็บไซต์ E-commerce, ผู้ให้บริการสื่อออนไลน์ และผู้ให้บริการระบบคลาวด์ สามารถใช้ CDN เป็นประโยชน์แก่ลูกค้า ไม่ว่าจะเป็นการเข้าถึงข้อมูลที่รวดเร็วมากยิ่งขึ้น โดยเฉพาะกรณีที่ลูกค้าอยู่ต่างประเทศ การเพิ่มประสิทธิภาพในการเข้าถึงข้อมูลได้ตลอดเวลา และการการันตีความปลอดภัยในการใช้งาน เช่น ป้องกันการโจมตีแบบ DDoS เป็นต้น เหล่านี้ก่อให้เกิด Brand Loyalty อันแข็งแกร่งในระยะยาว
  • ISP: ด้วยอัตราการใช้งาน Online Streaming และ Video on Demand ที่เติบโตสูงขึ้น CDN เข้ามาช่วยเพิ่มประสิทธิภาพในการรับชมให้เหมาะสมต่ออุปกรณ์หลากหลายประเภท เช่น โน๊ตบุ๊ค สมาร์ทโฟน หรือแท็บเล็ต รวมไปถึงช่วยลดปริมาณทราฟฟิคที่เกิดขึ้นบนระบบเครือข่ายและเซิฟเวอร์หลักโดยการกระจาย Content ไปเก็บไว้ยังระบบ CDN นอกจากนี้ ISP ยังสามารถนำ CDN ไปจัดทำเป็นโซลูชันร่วมเพื่อนำเสนอขายต่อองค์กรขนาดใหญ่และเจ้าของ Content ได้

สรุปรายละเอียดของ CDN ดังนี้

1. It increases the parallelism available.

ปกติ Browser จะทำการดึงข้อมูลพร้อมๆกันจาก Webisite เดียวกันได้ประมาณ 3–4 request ดังนั้น ถ้าเราตั้งไฟล์บางอย่างของเรา เช่น jQuery, Boostrap ให้ไป request จาก CDN แทน User ก็จะสามารถโหลด Website ของเราเสร็จได้เร็วขึ้น

2. It increases the chance that there will be a cache-hit.

เรื่องนี้เกี่ยวกับ cache เล็กน้อยครับ ปกติ CDN จะให้บริการไฟล์ที่เรานิยมใช้เพื่อพัฒนา Website กันอยู่แล้ว เช่น jQuery ดังนั้นเวลา User ที่เคยเข้า Website อื่นที่เรียกใช้ jQuery จาก CDN ที่เดียวกัน Browser ของ User
จะไม่ต้องไปโหลดจาก CDN ใหม่อีกรอบครับ เพราะว่า Browser ได้ทำการเก็บไฟล์นั้นไว้แล้ว

Browser เป็นโปรแกรมที่จะทำให้ User สามารถดูข้อมูลและโต้ตอบกับข้อมูลจากหน้าเว็บได้ เช่น Google Chrome, Firefox

Cache เป็นข้อมูลชั่วคราวที่ถูกเก็บไว้ครับในรูปแบบ static เช่น HTML, รูปภาพ, CSS, Javascript, etc. มีจุดประสงค์ในการลด bandwidth หรือการคำนวณต่างๆ ครับ

3. It ensures that the payload will be as small as possible.

CDN จะให้ file ที่ compress แล้วเสมอ, ก็จะทำให้ user โหลดไฟล์เร็วขึ้น

compress = การบีบอัดไฟล์ ถ้าอยู่บน window ก็จะเป็น .zip, .rar แต่บน website ส่วนใหญ่ก็จะใช้ .gzip กันครับ

4. It reduces the amount of bandwidth used by your server.

ลด bandwidth ที่ server ของเรา (แน่นอนครับเพราะ user ไป request ที่ CDN นั้นๆแทน)

5. It ensures that the user will get a geographically close response.

CDN จะเลือก server ที่ใกล้ user นั้นที่สุดในการส่งไฟล์ ให้ user เพื่อลด latency (ทำให้ user โหลดเร็วขึ้น)

6. They will automatically keep your scripts up to date

อันนี้เป็นทางเลือกครับสำหรับคนที่ต้องการไฟล์ version ล่าสุดเสมอ คือ CDN สามารถส่ง version ล่าสุดของไฟล์นั้นๆได้ เช่น ต้องการ jQuery version ล่าสุดเสมอ

ถ้าไม่ใช้ CDN เราก็ต้องมา upload ไฟล์ขึ้น server เราเอง เปลี่ยนชื่อไฟล์ที่เรียกใช้เอาเอง

7. High-capacity infrastructures

ยกตัวอย่างคือ Google CDN, เร็ว แรง ล่มยาก, ด้วยเหตุผลที่ว่ามานี้ทำให้ การใช้ CDN เป็นประโยชน์ในการเพิ่ม performance ของ website เราอย่างมากเลยนะครับ แถมฟรีอีกด้วย

สรุปแล้ว หากใครต้องการให้โหลดไฟล์บางอย่างในเชิฟเวอร์ เพื่อลดภาระการทำงานของเชิฟเวอร์หลัก สามารถนำ CDN มาใช้กับเว็บไซต์ได้ตามความเหมาะสม หากใครสนใจใช้ ลองศึกษารายละเอียดและลองนำไปพัฒนากับเว็บไซต์ของตัวเองได้ตามความเหมาะสมได้ครับ

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade