מה זה CDN? ומתי מומלץ להקים CDN?

מה זה CDN

מה זה CDN? מהם היתרונות והחסרונות של CDN? ואיך רשת CDN עוזרת מול התקפות על האתר שלכם? על שאלות אלו ואחרות אנו נענה במאמר זה.

מה זה CDN?

CDN זהו קיצור של Content Delivery Network או בעברית רשת להעברת תוכן. הרשת מורכבת משרתים במקומות שונים בעולם ומספקת תוכן אינטרנט ממיקום גיאוגרפי הקרוב ביותר למשתמש (כדי להאיץ את התקשורת).

דוגמאות ל-CDN

Netflix ו-YouTube הם בין הדוגמאות המוכרות. למשל כאשר אתם רוצים לראות את הסדרה שלכם ב-Netflix, ברוב המקרים המחשב/טלוויזיה/טלפון שלכם לא יורידו את הפרק מהשרת המרכזי בארה"ב. לנטפליקס יש רשת CDN שנקראת Netflix Open Connect ולרשת יש שרתים בכל העולם. לכן המכשיר שלכם (בדרך כלל) יוריד את הפרק מהשרת הכי קרוב. פעולה זו תאפשר שירות סטרימינג (הזרמת מדיה) מהיר יותר.

איך עובד CDN?

יצרתי animated gif שמדגים את צורת העבודה (בצורה מופשטת):

  • נניח שיש לנו שני שרתים. השרת הכחול בארץ ושרת CDN (אדום) בארה"ב.
  • כאשר משתמש מהארץ (בצבע אדום) ניגש לאתר שלנו, כל התוכן נטען מהשרת הכחול בארץ.
  • כאשר משתמש צהוב מארה"ב פותח את האתר, הוא מופנה לשרת אדום בארה"ב. אם בשרת ה-CDN אין את התוכן, הוא טוען אותו מהשרת המקורי.
  • כאשר משתמש ירוק מארה"ב ניגש לשרת ה-CDN, מכיוון שהתוכן נמצא בזיכרון (cache) של שרת ה-CDN, התוכן נשלח למשתמש מבלי לפנות לשרת המקור.
איך עובד CDN
איך עובד CDN

מה המטרה הראשית של CDN?

המטרה הראשית של CDN היא להקטין את זמן הטעינה. יותר מדויק, להקטין את זמן השהיה (latency).

בתקשורת מחשבים, זמן השהיה (latency) זהו הזמן שלוקח לנתונים לעבור בין השולח למקבל. אם נמשיך את הדוגמה, זמן השהיה בין ישראל לארה"ב הוא כ-300 מילי שניות. וזמן השהיה לשרת מקומי יכול להיות 50 מילי שניות. זהו הבדל משמעותי, במיוחד כאשר מדובר על שירותי סטרימינג.

לזמן הטעינה של אתר ישנה חשיבות גבוהה. לצורך ההמחשה אני רוצה להזכיר את המחקר המפורסם של Amazon משנת 2006. הם גילו שתוספת זמן של 100 מילי שניות בטעינה של האתר מקטינה את ההכנסה ב-1%. אם נמיר את זה לדולרים, אז 100 מילי שניות היו שוות 107 מיליון דולר.

כמו כן, יש קבוצת פרמטרים שגוגל מנטר הנקראת Core Web Vitals. חלק מהפרמטרים (למשל: LCP) מודדים את זמן טעינת האתר. כלומר זמן טעינה משפיע על קידום אורגני.

הערה: כדאי לבחור שהמיקום הגיאוגרפי של השרת הראשי יהיה כמה שיותר קרוב למרבית הגולשים (במיוחד אם אין לכם רשת להעברת תוכן).

מהם היתרונות של CDN?

היתרונות של רשת להעברת תוכן הם:

  • שיפור זמני טעינה (לפרטים נוספים ראו את התת הנושא הקודם).
  • חיסכון במשאבי שרת ראשי ורוחב פס – מכיוון שהעומס מתחלק בין הרבה שרתים, העומס על השרת הראשי קטן. לכן, בחלק מהמקרים ניתן לשנמך את השרת (לעבור לאחסון זול יותר) אחרי מעבר לרשת להעברת תוכן. כמו כן, נפח התעבורה לשרת הראשי תקטן, ואולי חבילות של רוחב פס קטנה יותר תספיק.
  • שיפור זמינות – גם אם השרת שלכם נופל, שרתי CDN יוכלו (במשך זמן מה) להמשיך ולשלוח גרסאות שמורות. כך שחלק מהלקוחות לא ירגישו בתקלה.
  • שיפור אבטחה – רשת CDN משפרת את האבטחה עם שירותים כגון הפחתת DDoS, WAFs והפחתת בוטים. אנו נרחיב בנושא בחלק הבא.

איך רשת CDN עוזרת מול התקפות DDOS?

DDoS זהו קיצור של Denial-of-service attack. כאשר מחשב פונה לשרת שלכם, הוא מצריך ממנו משאבים כדי לספק תשובה. התקפה זו נעזרת בהרבה בוטים שפונים לאתר שלכם ביחד ומעמיסים על השרת. אז כאשר לקוח אמיתי מנסה לפנות לשרת, עקב העומס אין תשובה. כלומר האתר לא זמין. במילים אחרות, השרת לא זמין בגלל עומס פניות של בוטים.

אם יש לכם שרת בודד, בזמן התקפת DDOS האתר הופך ללא זמין. אבל ברשת CDN יש הרבה שרתים ונפילת שרת אחד לא תשבית את האתר.

בנוסף, מכיוון שמדובר ברשת, היא מסוגלת לעבוד אם נפחי תעבורה גדולים יותר ויש לה מנגנוני הגנה נוספים מפני התקפות זדוניות.

דבר אחרון שאני רוצה לציין בהקשר זה הוא ששמעתי על התקפות DDOS רק על חברת גדולות. לכן מקרים של התקפות על חברות קטנות לא מגיעים לתקשורת או שאין רווח כלכלי בתקיפת חברה קטנה.

מהם החסרונות של CDN?

כפי שראינו יש הרבה יתרונות ליצירת רשת להעברת תוכן. אבל יש גם מספר חסרונות.

  • מתאים כשיש פיזור גאוגרפי – CDN עוזר כאשר גולשים מגיעים מהרבה מדינות. אבל אם מעל ל-90% מהגולשים שלכם מישראל, כנראה שרשת להעברת תוכן לא תעזור (לרוב החברות שמספקות שירותי CDN, במקרה הטוב יש שרת אחד בארץ). לכן עסקים מקומיים בהרבה מקרים יוותרו על רשת להעברת תוכן.
  • שכבה טכנולוגית נוספת – ככל שיש יותר שכבות, כך גדל הסיכוי לבעיות טכנולוגיות. היה לי מקרה ש-Cloudflare לא עבד טוב אם אחד האתרים עקב התנגשויות עם קוד של חברה אחרת. אומנם זה נדיר, אבל ככל שמעורב יותר קוד, כך גדל הסיכוי לבאגים.
  • עלות – Cloudflare (אחד מחברות ה-CDN המפורסמות בעולם) מציעה חבילה בסיסית בחינם ויש גם חברות אחסון אתרים שמציעות שירותי CDN, אבל אלא בדרך כלל לא החברות הזולות. לכן, בהרבה מקרים יהיה צורך לשלם על שירות זה.
CDN מובנה של חברת אחסון אתרים WPX
CDN מובנה של חברת אחסון אתרים WPX

מתי כדאי להקים רשת להעברת תוכן?

אם יש לכם הרבה תעבורה ממדינות שונות בעולם ויש הרבה קבצים סטטיים באתר (למשל תמונות וקבצי CSS), אז כדאי לשקול לעשות CDN.

לקראת סוף המאמר נענה של שאלה נוספת:

מה ההבדל בין CDN למחשוב ענן?

מחשוב ענן ו-CDN יש דומים בכך שכל אחד מהם משתמש ברשת של שרתים. אבל המטרה של כל אחד מהם שונה. המטרה של CDN היא לספק תוכן במהירות האפשרית, בעוד שמחשוב ענן מאפשר גמישות וסילומיות (scalability). לכן ל-CDN יהיו שרתים ברחבי העולם ולמחשוב ענן יהיו בדרך כלל חוות שרתים כדי לאפשר להגדיל יכולת עיבוד.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *