بعد از اختراع اینترنت و گسترش استفاده از آن مسائل و مشکلاتی به وجود آمد که باعث افت کیفیت ارائه خدمات اینترنتی شد. یکی از مهمترین عوامل این افت کیفیت شلوغ شدن اینترنت و بالا رفتن تعداد مصرفکنندگان و کاربران بود که باعث میشد درخواستها به یک سایت یا منبع خاص به شدت افزایش یافته و این منابع و سایتها عموما از دسترس خارج شوند. CDN یکی از المانهایی بود که این مورد را اصلاح میکرد. اجازه دهید تا در ادامه مقاله با بررسی اینکه CDN چیست بیشتر به این موضوع بپردازیم.
فهرست عناوین
CDN چیست؟
CDN را میتوان یک مکانیزم 20 ساله برای افزایش کیفیت خدمات اینترنت معرفی نمود که برای اولینبار در سال 1990 مورد استفاده همگان قرار گرفت. این قابلیت که مخفف عبارت Content Delivery Network و به معنای شبه توزیع محتوا است، به شما این امکان را میدهد تا بهصورت غیرمتمرکز اطلاعات، تصاویر، فایلهای پیدیاف و ویدئویی و سایر محتوایی که روی سایت خود قرار دادهاید را با نهایت سرعت به دست مخاطبان خود برسانید.
شاید نحوه کارکرد این قابلیت کمی برای شما عجیب باشد اما با استفاده از CDN این امکان را خواهید داشت که به تمامی کاربرانتان بهترین کیفیت ممکن را ارائه داده و کاری کنید که انگار در نزدیکی سرور سایت شما قرار دارند و فاصلهای تا سرور ندارند. این امر میتواند برای سایتهایی که از سرورهای خارجی استفاده میکنند بسیار مفید باشد. همینطور CDN باعث میشود تا ترافیک سرور و هاست شما کاهش پیدا کند.
اساس کار CDN چیست؟
اجازه دهید با یک مثال به این سوال که اساس CDN چیست و بر چه مبنایی کار میکند بپردازیم. یک عصر دلانگیز روز تعطیل را تصور کنید که در کنار دوستان و یا خانواده خود به تماشای فوتبال نشستهاید و همه خوش و خرم مشغول تماشای بازی هستند. یک ظرف بزرگ تخمه آفتابگردان نیز بر روی میز قرار داده شده است و جمع صمیمی شما دور آن قرار دارد. وقتی کسی بخواهد از این تخمهها میل کند به چه صورت عمل میکند؟!
آیا برای هر درخواستی که از ظرف اصلی دارید یکبار به ظرف مراجعه کرده و فقط یک تخمه از آن برمیدارید؟! قطعا پاسخ این سوال خیر است و شما برای لذت بردن از این تخمه یک مشت از آن را داخل بشقاب ریخته و آن را برای خودتان بر میدارید. ممکن است بشقاب تخمه را کنار دستتان قرار دهید و یا ممکن است آن را روی میز کوچکی که روبهروی شما قرار دارد بگذارید. اما مهم این است که یک بخش از آن را به نزدیکی خود آورده تا در استفاده از آن راحت باشید. حال اجازه دهید تا یک نگاه کامپیوتری به قضیه داشته باشیم، شما مقداری از تخمه را کش کرده و دسترسی به آن را سریعتر کردهاید. اکنون اگر بخواهیم بگوییم اساس کار CDN چیست باید بگوییم که دقیقا همین کار را برای محتوای سایت شما و فایلهای داده آن انجام میدهد.
CDN به ما یک کش از سرورهای نزدیک ارائه میدهد که فایلهای سایت موردنظر ما در آن قرار دارد و در صورتی که ما بخواهیم به این سایت دسترسی پیدا کنیم، فایلهای ما از این سرور در اختیار ما گذاشته خواهد شد. وقتی شما در ایران به یک سرور در کانادا یک درخواست ارسال کنید و اطلاعات خود را از سروری در امارات دریافت کنید بدیهی است که سرعت بالاتری را برای دریافت پاسخ خود تجربه خواهید کرد.
پس کاری که CDN برای شما انجام میدهد در واقع نزدیک کردن اطلاعات موردنیاز و فایلهایی است که برای انتقال آنها از سرور اصلی زمان و ترافیک زیادی صرف میشود. تنها چیزی که با این روش از روی سرور اصلی به شما میرسد یک قالب اچ تی ام ال (HTML) ساده و موارد موردنیاز سبک دیگر خواهد بود. برای اینکه اطلاعات شما نزدیک به درخواستکنندگان باشد بهترین روش این است که توزیع دادهها در سرورهای مختلفی قرار بگیرند و فایلهای سایت شما روی این سرورها کپی شوند، در این حالت امکانات دیگری نیز برای شما ایجاد خواهد شد و آن امنیت و بالا بردن آپتایم است. در ادامه با هم خواهیم دید که مزایای CDN چیست.
مزایای CDN چیست؟
بالا بردن امنیت
وقتی صحبت از وجود کپیهای مختلف در مکانهای مختلف میشود یکی از اصلیترین مواردی که به ذهن ما خواهد رسید امنیت این دادهها است. اگر سایت اصلی ما دچار حمله شود، خطوط اینترنتی یک کشور دچار اختلال گردد و یا حتی در صورتی که یکی از سرورهای ما از کار بیفتد، سایر سرورها با استفاده از اطلاعات موجود، سایت را در دسترس نگه خواهند داشت، تا به وضعیت سرور خراب رسیدگی شود.
همینطور وقتی یکی از سرورها مورد حمله هکرها قرار گرفت از سایر سرورهای CDN به این سرور منابع اختصاص مییابد و این کار باعث میشود تا این سرور بتواند در مقابل این حملات مقاومت کند.
صرفهجویی در هزینه
در بسیاری از هاستها ترافیکی که یک سایت دارد و پهنای باندی که مصرف میکند میتواند برای او هزینه داشته باشد و در صورتی که شما یک سایت پربازدید داشته باشید این هزینه برای شما بالا خواهد رفت. این در حالی است که با استفاده از CDN شما اطمینان دارید که ترافیک روی هاست اصلی شما به حداقل رسیده و فایلهای شما از سرور دیگری به مراجعهکنندگانتان میرسند. همینطور قابلیت پاسخگویی به تعداد بیشتری بازدیدکننده با استفاده از CDN برای شما بهوجود آمده و بدون ارتقای هاست فعلی خود میتوانید به تعداد بسیار بیشتری از کاربران سرویسدهی کنید.
بالا بردن سرعت
فلسفه CDN افزایش سرعت بوده و قطعا وقتی دسترسی به فایلهای شما نزدیکتر شود این امر طبیعی خواهد بود.
کم شدن ترافیک متمرکز
وقتی از سرورهای مختلفی استفاده کنیم، ترافیک متمرکز در یک قسمت از شبکه کم شده و به این ترتیب بهینهسازی و مدیریت شبکه کار سادهتری خواهد بود درنتیجه QoS یا همان کیفیت سرویس برای شما تضمین میشود.
اگر از هاست اشتراکی برای خود استفاده کنید افت کیفیت شدیدی را شاهد خواهید بود. البته اگر از سرور اختصاصی هم برای کار خود استفاده کنید باز هم شلوغی و تمرکز بستههای ترافیکی میتواند آسیبهای جدیای را به شما وارد کنند.
دسترسیپذیری بیشتر
دسترسیپذیری و یا همان آپتایم یکی از مواردی است که CDN میتواند برای شما تاثیرات بسیار خوبی را ایجاد کند. اگر بخواهیم بگوییم در این مورد نقش CDN چیست، میتوانیم به این اشاره کنیم که CDN یک تضمین همیشگی برای بالا بودن سایت شما و ارائه آن به کاربرانی دارد که میخواهند از سایت بازدید کنند، میدهد.
وقتی میگوییم CDN از نزدیکترین سرور برای دسترسی کاربر به سایت استفاده میکند به این معنی نیست که فقط از نزدیکترین سرور استفاده میکند و در صورتی که آن سرور به مشکل خورده بود کاربر را با ارور مواجه میسازد. CDN همواره نزدیکترین سرور فعال را برای سرویسدهی انتخاب میکند و در صورتی که یکی از سرورهای نزدیک کاربر به هر دلیلی دچار مشکل شده باشد و یا کیفیت سرویسی که ارائه میکند مناسب نباشد، کاربر به سروری دیگر منتقل میشود تا سایت برای وی قابل دسترس باشد.
وقتی از CDN استفاده میکنید تقریبا سایت شما هیچ وقت از دسترس خارج نخواهد شد و نرخ آپتایمی که عموما بهصورت 99.9 درصد معرفی میشود به 100 درصد افزایش پیدا میکند.
تجربه کاربری خوب
تجربه کاربری را میتوان بهعنوان مهمترین عاملی که یک وبمستر باید به آن توجه کند معرفی نمود. وقتی کاربری به سایت شما سر میزند، قطعا با دو وضعیت مواجه خواهید بود. یا کاربر سایت شما را مناسب ندیده و آن را ترک میکند. یا سایت شما برای کاربر جذاب بوده و درون سایت باقی میماند
در صورتی که سایت شما دیر لود شود، تصاویر و فیلمها مناسب نباشند و یا وقتی برای بار دوم به سایت شما مراجعه میکند با ارور مواجه شود سایت را ترک کرده و احتمالا شما کاربر را از دست خواهید داد. پس اگر میخواهید کاربران درون سایت خود را به مشتری تبدیل کنید باید یک سایت بدون نقص را در اختیار آنها قرار دهید.
CDN میتواند تضمینکننده کیفیت سرویس، امنیت سایت، دسترسیپذیری سایت و فعال بودن همیشگی و همینطور روان بودن ترافیک سایت باشد که منجر میشود یک کاربر که به سایت شما وارد شده و به این نتیجه برسد که این سایت میتواند نیازهای او را برطرف سازد.
روش استفاده از CDN چیست؟
برای این کار شما میتوانید به دو صورت این سرویسهای CDN را خریداری کنید و از آنها استفاده نمایید. اما نحوه خرید CDN چگونه است؟
شما میتوانید از ارائهدهندگان مختلفی CDN خریداری کنید. وقتی شما به سایتهای خرید CDN بروید معمولا با دو المان مواجه میشوید. ترافیک ورودی یا Cache Fill، و ترافیک خروجی یا Cache Egress دو موردی هستند که در پرداختی شما به این ارائهدهندگان نقش دارند. اما معنای هر کدام از این دو المان CDN چیست؟
ترافیک ورودی، میزان ترافیکی است که از سرور اصلی سایت شما در اختیار CDN قرار میگیرد و در شبکه CDNها پخش میشود. در این حالت میزان مشخصی از فایلهای سایت شما در کل شبکه CDN موردنظر پخش شده و میزان آن تعیینکننده پرداخت شما خواهد بود. بدیهی است که هر چقدر سایت شما بزرگ باشد و صفحات بیشتری از آن کش شود، میزان ترافیک ورودی بیشتر شده و هزینه بالاتر خواهد رفت.
ترافیک خروجی نیز ترافیکی است که CDN از سایت شما در اختیار کاربران قرار خواهد داد. این مجموع ترافیک مصرفی نیز در صورتی که بازدید سایت شما بالاتر برود افزایش خواهد داشت و شما را وارد محدوده پرداختیهای بیشتر خواهد نمود. برای استفاده از CDN عموما تعرفههای زیادی وجود ندارد و اگر بخواهیم بگوییم معیار پرداخت در CDN چیست میتوانیم این موارد که اندازه سایت شما چقدر باشد و چقدر بازدیدکننده داشته باشید را بهعنوان المانهای اصلی برای پرداخت معرفی کنیم.
تفاوت هاست ابری و CDN چیست؟
هاست ابری را میتوان بهعنوان یکی از بهترین نوع هاست معرفی نمود. البته در صورتی که واقعا از زیرساخت ابری استفاده کنید و آن را از هاستینگهای معتبر تهیه کرده باشید. در صورتی که با ویژگیها و مزایای هاست ابری آشنا باشید قطعا متوجه شدهاید که شباهتهای زیادی بین هاست ابری و CDN وجود دارد. در این بخش میخواهیم به بررسی تفاوت این دو قابلیت بپردازیم و ببینیم که کدام یک از آنها برای نیاز ما بهتر عمل خواهند کرد. آیا استفاده از یک هاست ابری به تنهایی میتواند سایت ما را سریع کند، یا استفاده از یک هاست عادی و معمولی به همراه یک CDN گزینه بهتری خواهد بود. بر طبق روال باید قبل از این مقایسه توضیحات کاملی را در رابطه با هاست ابری ارائه کنیم اما از آنجا که هاست ابری مقولهای بسیار پیچیده و بزرگ است از این توضیحات صرفنظر کرده و در صورت نیاز میتوانید با مراجعه به مقاله «هاست ابری چیست» به اطلاعات کاملی در این خصوص دست پیدا کنید.
هاست ابری همانگونه که از اسم آن پیداست یک هاست بوده و شما قادر خواهید بود تا سایت خود را بهصورت مستقیم روی آن بارگذاری کنید. اما CDN یک ویژگی است که فایلهای سایت شما را روی یک کلود قدرتمند کش میکند. در صورتی که از هاست ابری استفاده کنید کل سایت را روی کلود بردهاید و این به فضای بیشتری احتیاج دارد. در مورد سایتهایی که فایلهای آن حجم زیادی دارند استفاده از CDN میتواند بهتر باشد اما در حالتی که حجم سایت کوچک است CDN به دلیل محاسبه هزینه بر اساس ترافیک مصرفی و بازدید کاربران هزینه دریافت میکند و ممکن است هزینه CDN بالاتر باشد. این در حالی است که خیلی از هاستینگهای خوب مانند مارال هاست، این ترافیک را نامحدود در اختیار کاربر قرار میدهند.
مورد بعدی این است که CDN به نوع هاست شما کاری نخواهد داشت و اینکه از هاست لینوکس ابری استفاده کنید یا هاست ویندوز ابری برای CDN هیچ فرقی نمیکند. اما در هاست ابری شما این مشکلات را خواهید داشت و باز هم دردسرهای انتخاب و تعیین کنترل پنلها و اینکه چه نوع هاست ابری برای کار شما بهتر است را باید مد نظر قرار دهید. بهطورکلی این تصمیمگیری که از هاست ابری استفاده کنید یا CDN بر عهده شما خواهد بود اما باید در نظر داشته باشید که هاست ابری هاستی قدرتمند بوده و یک بهینهسازی بنیادی برای سایت شما به حساب میآید، اما CDN هم با استفاده از کشهای قدرتمند و ویژگیهای خوبی که دارد میتواند تجربه کاربری بینظیری را به کاربران شما ارائه کند. یک گزینه دیگر هم که میتواند مانند یک سوخت موشک برای شما عمل کند استفاده از هردوی این امکانات است. درصورتی که محدودیتی در بودجه نداشته باشید با استفاده از هاست ابری و CDN میتوانید بالاترین سرعت برای سایت خود را تعمین کنید.
بهترین سرویسدهندههای CDN
Cloudflare
Cloudflare را به جرئت میتوان بهعنوان بهترین ارائهکننده CDN معرفی نمود. این شرکت که 11 سال پیش در سانفرانسیسکو کالیفرنیا پایهگذاری شد، یکی از برترین ارائهدهندگان خدمات اینترنتی مربوط به سرور و دامنه و همینطور متخصص در برطرف کردن حملات DDoS، پشتیبانیهای امنیتی سایتها و سیستمهای توزیع شده میباشد که توانایی خود را در ارائه خدمات ثابت کرده است. CDN یکی از خدماتی است که Cloudflare ارائه میکند و در این کار یکی از بهترینها بهحساب میآید.
Fastly
Fastly یکی از شرکتهای بزرگ است که بهصورت تخصصی در زمینه کلود کامپیوتینگ و خدمات مربوط به هاست و سرور ابری فعالیت دارد. این شرکت از سال 2011 کار خود را آغاز کرد و در سال 2013 موفق گردید تا وارد بورس نزدک شود. Fastly علاوه بر خدمات ابری سرویسهای امنیتی برای مقابله با حملات مختلف از جمله DDoS را نیز ارائه میکند.
Fastly خود را ارائهدهنده نوع خاصی از سرویس CDN میداند که به CDN قابل برنامهریزی معروف بوده و میتوان آن را برنامهنویسی کرده بهصورتی که بالاترین بازدهی را برای یک سایت داشته باشد تغییر داد.
ابر آروان
آروان یکی از ارائهدهندگان خدمات ابری است که توانسته خود را بهعنوان یک ارائهدهنده داخلی خوب مطرح کند. معماری که ابر آروان از آن استفاده میکند یک معماری بومی پیادهسازی شده توسط تیمی متشکل از نخبگان و نفرات برتر المپیادهای جهانی است و این شرکت تعرفههای اقتصادی متناسب با هزینهای را نیز ارائه میکند که میتواند خدمات مناسبی را برای شما فراهم کند.
نتیجه گیری
اکنون که میدانیم CDN چیست و به چه دردی میخورد، انواع مختلف CDN کدامند و این قابلیت چه مزایایی را با خود به همراه دارد، فرق خدمات ابری و CDN چیست و همچنین اگر بخواهیم CDN خریداری کنیم از چه ارائهدهندهای و با چه نوع تعرفههایی باید این کار را انجام دهیم، به نظر میرسد اطلاعات کاملی در این رابطه داشته باشیم! پس تنها کاری که باید انجام شود این است که تصمیم خود را بگیرید که از خدمات ابری میخواهید استفاده کنید یا CDN. هر دوی این موارد میتوانند برای شما مفید باشد اما در آخر این شما هستید که سیاست کاری خود را تعیین خواهید کرد.