בחמישי האחרון, העברתי הרצאה בכנס הראשון של קהילת אלמנטור בישראל, ההרצאה שלי דיברה על אופטימיזציה של אתרים, ובמהלך ההרצאה התייחסתי בקצרה ל-CDN. ראיתי במהלך ההרצאה שלא הרבה מכירים את המושג או שרובם מבולבלים, לכן כתבתי את מאמר זה אשר יסביר מה זה CDN, מה היתרונות והחסרונות וגם מה הסוגים השונים.
אז מה זה CDN?
CDN (ר״ת: Content Delivery Network), הינה רשת של שרת ברחבי העולם, אשר מטרתם היא האצה של אתרים קיימים אשר משתמשים בה. לרוב שרתי CDN יאחסנו תמונות וקבצי וידאו של האתר, אך במקרים מיוחדים הם לרוב יכילו גם את קבצי האתר הסטטיים כגון CSS, JavaScript ו-HTML.
יתרונות וחסרונות
כמו לכל דברים בחיים, ל-CDN יש יתרונות וחסרונות, לרוב יהיו יותר יתרונות, אך עדיין יש לשקול את החסרונות לפני ההחלטה להשתמש בשירות כזה.
היתרונות העיקריים הם עניין קיצור זמני הטעינה של האתר, שרידות התכנים ו-ביזור עומסים מהשרת. אך עם כל היתרונות החסרון העיקרי הוא העלות, לרוב כאשר בונים ללקוח אתר, הוא רוצה לשלם על האחסון בלבד ולא מעוניין לשלם עלות נוספת עבור ה-CDN. וזה מכיוון ש-CDN רלוונטי בעיקר עבור אתרי תוכן גדולים.
איך עובד CDN?
לרוב שמדברים על CDN, זה קשור בנושא אופטימיזציית אתרים, וזה בגלל שהרשת עובדת בצורה של הגשת התכנים לפי המיקום הגיאוגרפי של הגולש.
כאשר אנחנו מדברים על שימוש ב-CDN, צריך להבדיל שני מקרים:
מקרה ראשון – הפנייה חלקית
כאשר אנחנו משתמשים ב-CDN כשירות להגשת תכנים אך לא מבצעים הפנייה מלאה של הדומיין, אנחנו נשתמש בסאב-דומיין של האתר שלנו על מנת להגיש את התכנים דרך השירות, ובעצם כאשר הגולש נכנס לאתר הוא ינסה לטעון תמונות מסאב-הדומיין אשר מופנה לרשת ה-CDN. במקרה כזה, כאשר תתבצע הקריאה לקבלת התמונה משירות ה-CDN, הקריאה תגיע לכתובת ה-IP של הרשת, ומשם על בסיס חישובי עומס ומרחק יבחר השרת הקרוב וממנו תוגש התמונה.
מקרה שני – הפנייה מלאה
במקרים פחות נפוצים, יבוצע שימוש מלא ברשת ה-CDN, כלומר הדומיין הראשי יופנה במלואו לשירות ה-CDN, ואז כאשר הגולש יקליד את כתובת האתר בדפדפן, תתבצע הקריאה לקבלת הנתונים של האתר, החל מקבצי HTML סטטיים, קבצי CSS ו-JavaScript, וקבצי תמונות ווידאו. במקרה כזה, לרשת ה-CDN יש יתרון נוסף, והוא אבטחה / בקרת עומסים.
מהם סוגי ה-CDN הקיימים?
ישנם מספר סוגי רשתות CDN אשר נבדלות בצורה בהן הן עובדות, או בצורה אשר הן מוגדרות, אך ישנם שני סוגים עיקריים ונפוצים לתצורות CDN.
גישת Pull
גישה זאת הינה השיטה הנפוצה ביותר, כאשר גולש נכנס לאתר, ומתבצעות מספר בקשות לקבל את תכני האתר (תמונות ווידאו לדוגמא), אז שירות ה-CDN מושך את התמונות לשרתים שלו, וומשם הוא מגיש את התמונות לגולש בפעם הבאה שהוא יגלוש לאותו העמוד או לעמוד אחר אשר כולל את התמונה שנטענה. שיטה זו רלוונטית בעיקר לאתרים אשר מתעדכנים בתדירות גבוהה.
גישת Push
שיטה זאת בעיקר נפוצה באתרים אשר מתעדכנים אחת לאף פעם, או לעיתים רחוקות מאוד. בשיטה זו כאשר מעלים תמונה לאתר, התמונה נשלחת גם לשירות ה-CDN ומשם הוא מופץ לשרתים השונים שברשת. לרוב העלאת התמונה לשירות מתבצעת בצורה אוטומטית ע״י אחד מהפרוטוקולים הבאים – REST, FTP או SOAP.
CloudFlare – שירות CDN חינמי
CloudFlare הינו שירות שכתבנו עליו בעבר, כאשר דיברנו על CloudFlare כמנגנון אבטחת אתרים, אך מלבד זאת ל-CloudFlare יש עוד מגוון רחב של שירותים לבעלי אתרים, אשר רובם חינמיים. במידה ואתם מעוניינים להשתמש באתר שלכם ב-CDN חינמי, אני ממליץ על חיבור האתר לשירות. לאחר חיבור האתר ל-CloudFlare האתר שלכם אוטומטית ישתמש ברשת ה-CDN החינמית שלהם.
היתרון הגדול של CloudFlare זה שיש לו Data Center (שרתים) בארץ, וגם עצם זה שהשימוש בו הוא חינמי.
סיכום
שירות CDN יכול לתרום רבות לאתרי תוכן גדולים וקטנים, אך ישנם מגוון רחב של שיקולים שיש לשקול לפני שמחליטים להשתמש ב-CDN. שימוש בשירות CloudFlare יכול לתרום לאתרים שלכם ושל הלקוחות שלכם גם מבחינת אופטימיזציה וגם מבחינת אבטחת האתר.
יפה מאוד האם יש לך המלצה לחברה של cloud flare אמינה במחיר סביר ?
תודה מראש
היי מאיר,
תודה רבה 🙂
לשאלתך, אני ממליץ בחום על CloudFlare, שירות מעולה!
היי דור מאמר מעולה.
שאלה לי אליך בעניין CloudFlare, השירות שלהם מבקש ממני לשנות Nameserver,
אבל אני רוצה שהוא יישאר על ה- dzhost.co.il (הנוכחי שלי), האם יש דרך לייצר CDN של ייגע לי בהגדרות ה- DNS?
היי יוני,
למיטב הכרתי לא ניתן להשתמש ב-CloudFlare ללא הפנייה הדומיין ל-NS שלהם.
בכללי אני מאוד ממליץ להשתמש ב-CloudFlare, בעיקר בגלל האופטימיזציה ושכבת האבטחה שהוא מוסיף לאתר.
היי דור מאמר מעולה תודה,
אשמח לעזרה כיצד אני יכול לשנות את ה Nameserver שנמצאים באמזון
היי רותם,
האם אתה משתמש ב-Route 53?
(אי אפשר להגיב תגובה שלך)
לא, האם נדרש?
האם קנית את הדומיין מאמזון?
לא, https://www.box.co.il
אז לא הבנתי למה רשמת אמזון, כדי לשנות את ה-Nameserver אתה צריך לשנות ב-Box.
חשבתי ששם נעשה השינוי, אבל עכשיו הבנתי.
תודה
לא, שינוי Nameserver נעשה אך ורק איפה שהדומיין נרכש.
בהצלחה!
מאמר מעולה!
תודה רבה.
תודה רבה! שמח לשמוע 🙂
מה לגבי אתרים שקהל היעד שלהם נמצא במיקומים גאוגרפיים שונים? האם במקרה כזה מומלץ להשתמש בcdn?
שלום מרדכי,
בהחלט מומלץ להשתמש ב-CDN במידה והאתר שלך פונה לעולם.
ברור מאד.
תודה רבה!
היי לי 👋,
תודה רבה, שמח לשמוע ☺️