پر بازدید ترین مطالب

چگونه بهترین عرضه‌کننده‌ شبکه‌ توزیع محتوا یا CDN را انتخاب کنیم؟


انتخاب بهترین شبکه‌‌ی توزیع محتوا یا CDN را باید یکی از ارکان اصلی ارائه‌ی سرویسی بی‌نقص در فضای آنلاین خواند. در ادامه به روش‌هایی برای انتخاب بهترین CDN خواهیم پرداخت.

به‌کارگیری شبکه‌‌ی توزیع محتوا یا CDN برای کسب‌وکارها و وب‌سایت‌های آنلاین دولتی و خصوصی اهمیت بالایی دارد تا بتوانند کیفیت و سرعت دسترسی به محتوا را برای کاربران نهایی‌شان افزایش دهند؛ هم‌چنین بتوانند در سرویس‌دهی به این کاربران حتی در زمان‌های پرترافیک بهترین کارایی (Performance) را داشته باشند.

اما انتخاب یک عرضه‌کننده‌ی CDN که به نوعی شریک تجاری یک کسب‌وکار به‌شمار می‌آید از حساسیت و اهمیت بالایی برخوردار است. در ادامه به مقیاس‌ها و داده‌هایی که باید به دنبال‌شان باشید، می‌پردازیم.

زمان پاسخ DNS یا DNS Response Time

برخی از‌ CDNها ساختار DNS پیچیده‌تری نسبت به بقیه دارند که می‌تواند در سرعت دسترسی مخاطب به محتوای سایت تاثیر منفی داشته باشد. زمانی که DNS Response Time بالا باشد، حتی اگر بتوانید زمان بارگذاری وب‌سایت را کاهش دهید، کاربر نهایی ممکن است بنا به تاخیری که در DNS تجربه‌ کرده، با تاخیر بالایی وب‌سایت شما را مشاهده کند.

باید به این نکته توجه کرد که عملکرد DNS در نقاط دسترسی نهایی، یعنی نزد کاربر نهایی با عملکرد آن در تست‌های انجام‌شده در بخش Backbone تفاوت دارد. کاربران نهایی به DNS Resolver محلی (ISP) خود یا DNS Resolver عمومی متکی هستند، در حالی‌که تست‌های انجام‌شده در بخش Backbone به DNS Serverها بسیار نزدیک‌اند.

زمان اتصال (Connect Time)

زمان‌های اتصال مختلف را بررسی کنید تا مطمئن شوید که CDN شما دارای اتصالات شبکه با کیفیت بالا، تاخیر کم و بدون از دست دادن بسته (Packet Loss) است. برای نمونه، اگر کاربر نهایی در حال استفاده از سرویس فیبر نوری (FTTH) یک شرکت ارایه‌دهنده‌ی پهنای باند اینترنت باشد، دلیلی ندارد که از پنج شبکه‌ی Backbone مختلف عبور کند، تنها به‌دلیل اینکه CDN مورد نظر ارتباط همتا به همتای مستقیمی با آن شرکت ارایه‌دهنده‌ی پهنای باند اینترنت ندارد.

زمان انتظار (Wait Time)

این مقیاس هنگامی که CDNهای مختلف را بررسی می‌کنید بسیار اهمیت دارد و به شما کمک می‌کند بفهمید که آیا محتوای‌ شما در لحظه در سرور لبه Cache شده است یا اینکه سرور لبه باید آن را از سرورهای اصلی بگیرد.

زمان انتظار، مشکلات ظرفیتی بالقوه یا پیکربندی نامناسب در سطح CDN یا سرور اصلی (مانند تنظیم انقضای Cache در گذشته) را نیز نشان می‌دهد. اگر محتوا پربازدید باشد، یعنی در یک ساعت گذشته بیش از ۱۰۰هزار بار درخواست شده باشد، عملکرد CDN متفاوت از زمانی خواهد بود که محتوا پربازدید نباشد و در یک ساعت تنها چند مرتبه درخواست شده باشد.

در واقع CDN یک محیط اشتراکی است که در آن موارد پرطرف‌دارتر، سریع‌تر از سایر موارد تحویل داده می‌شوند؛ پس، منطقی است که مجهز بودن زیرساخت CDN‌ به دیسک‌های پرسرعت SSD را معیاری در انتخاب ارایه‌دهنده‌ی CDN خود در نظر بگیرید.

با وجود دیسک‌های پرسرعت  اس‌اس‌دی‌ها، سی‌دی‌اِن می‌تواند محتوای کش‌شده را سریع‌تر گرد‌آوری و ارایه کند و در هر ثانیه، درخواست‌های بیش‌تری را پاسخ دهد. این امر به افزایش نسبت Cache Hit برای وب‌سایت یا برنامه‌ی کاربردی‌ شما منجر می‌شود؛ این بدان معناست که کاربران، محتوای شما را سریع‌تر دریافت می‌کنند.

توان عملیاتی (Throughput)

بدون توجه به حجم فایل، باید اطمینان حاصل کرد که توان عملیاتی تست CDN بالاتر از سرور اصلی است! شما می‌توانید با وب‌سایت‌ها یا ابزارهای Load Testing تعداد کاربران بسیاری را شبیه‌سازی کنید و شیوه‌ی پاسخ‌گویی CDN را نسبت به تعداد کاربران و پهنای باند بالا بسنجید.

مسیر ارسال بسته (Traceroute)

باید از جایی که مشغول تست هستید دستورات Traceroute را اجرا کنید تا مطمئن شوید که به محل نادرستی Map نشده‌اید.

بسیاری از CDNها از پایگاه‌های داده‌ی Geo-Mapping تجاری استفاده می‌کنند که ممکن است داده‌های مربوط به IP در آن‌ها نادرست باشد. پس اگر CDN شما درخواست‌ها را از اتصال خانگی‌تان در اصفهان به ترکیه بفرستد، احتمالا یک جای کار می‌لنگد.

البته با استفاده از شبکه‌های توزیع محتوایی که از معماری Anycast بهره‌ می‌برند، هیچ‌گاه با چنین مشکلی مواجه نخواهید شد.

امنیت (Security)

امنیت از مهم‌ترین مسایل در هنگام انتخاب سرویس‌دهنده‌ی شبکه‌ی توزیع محتوا (CDN) است. اصل و اساس امنیت وب‌سایت مدیریت دسترسی به صفحات محافظت‌شده‌تان، یعنی بستن راه ورود تهدیدات به وب‌سایت‌تان است.

CDN می‌تواند جلوی این حملات به وب‌سایت یا برنامه‌ی کاربردی تحت وب شما را بگیرد.

رابط‌های برنامه‌ی کاربردی (API)

رابط برنامه‌ی کاربردی (API) مجموعه‌ای از توابع و رویه‌های مربوط به ساخت و مدیریت برنامه‌های کاربردی است. با استفاده از این قابلیت برنامه‌های مختلف می‌توانند مستقیم با یکدیگر ارتباط برقرار و از قابلیت‌های هم‌دیگر استفاده کنند. بنابراین، API‌ها انعطاف‌پذیری بیش‌تر، قابلیت‌های اضافه، امنیت پیشرفته و بسیاری موارد دیگر را در اختیار مالکان وب‌سایت‌ها قرار می‌دهند.

خدمات و پشتیبانی

بسیاری از سرویس‌دهندگان CDN پشتیبانی تلفنی و ایمیلی شبانه‌روزی عرضه می‌کنند که اهمیت بالایی دارد. در کنار پشتیبانی، ملاحظات دیگری نیز وجود دارد:

  • میزان تمایل پشتیبانان به کمک و حل مشکل مشتری
  • سطح دانش فنی کارشناسان پشتیبانی
  • کیفیت و دسترس‌پذیری بخش مدیریت حساب‌
  • زمان پاسخ‌دهی به تیکت‌ها؛ این موضوع نباید بیش‌تر از چند دقیقه طول بکشد.
  • سرعت حل مشکلات اعلام‌شده
  • چگونگی عملکرد یا سطح مسئولیت‌پذیری شرکت عرضه‌کننده‌ی CDN در قبال مشکلات فنی شما در استفاده‌ی بهینه از CDN؛ برای نمونه درباره‌ی مسایل فنی سمت شما نیز پشتیبانی ارایه می‌دهند یا خیر؟

فاکتور‌هایی که باید به آن‌ها دقت کرد

بیش‌تر CDNها کنترل پنلی را در اختیارتان قرار می‌دهند، پس باید نسبت Cache Hit به Cache Miss را کنترل کنید. دقت داشته باشید که CDN موردنظر هر چند وقت یک‌بار مجبور می‌شود برای پاسخ‌دهی به کاربران مجدد به سراغ سرور اصلی برود؟ در یک معماری مناسب CDN نباید پی‌درپی به سرور اصلی مراجعه کند.

برخی از پرسش‌هایی که می‌توانید از سرویس‌دهنده‌ی CDN‌ بپرسید در زیر آمده است:‌

  • وقتی سرور لبه‌ی شبکه‌ی توزیع محتوای مورد درخواست کاربر را در اختیار نداشته باشد، چه اتفاقی می‌افتد؟
  • پاک‌سازی یک فایل از Cache چه‌قدر طول می‌کشد؟
  • بارگذاری فایل روی لبه‌ی شبکه‌، چه‌قدر طول می‌کشد؟
  • چه مدت طول می‌کشد تا یک Cname فعال شود؟
  • چگونه CDN موردنظر، به درخواست‌های DNS Resolverهای عمومی مانند OpenDNS،Dyn یا Google  پاسخ می‌دهد؟ چنانچه CDN از ends client subnet پشتیبانی نکند موقعیت دقیق کاربران را تشخیص نخواهد داد و کاربران نهایی به دیتاسنتر درستی وصل نخواهند شد.
  • آیا مقیاس‌های مربوط به CDN، مانند DNS، اتصال، انتظار و واکنش، یک‌نواخت هستند؟ توجه کنید، مقادیر میانگین را در نظر نگیرید! و به یاد داشته باشید که عملکرد خوب تنها به سرعت وابسته نیست، بلکه قابلیت اطمینان در ارایه‌ی تجربه‌ای ثابت و یک‌نواخت نیز، اگر مهم‌تر از سرعت نباشد، به همان اندازه اهمیت دارد.

نتیجه‌گیری

با در نظر گرفتن تمامی این عوامل، شما و تیم فناوری اطلاعات‌تان باید به پرسش‌های ساده‌ی زیر پاسخ دهید:

  • آیا CDN می‌تواند عملکردمان را در بازارهای مهمی که در آن‌ها سرور فیزیکی نداریم بهبود ببخشد؟
  • اگر آری، چه میزان؟ آیا این بهبود ۵درصد، ۲۰درصد یا ۲۰۰ درصد است؟
  • آیا این بهبود به افزایش درآمد تبدیل می‌شود؟ در این بخش روشی برای سنجش تاثیر بلندمدت CDN بر درآمدتان تعیین کنید.
  • هم‌چنین در نظر داشته باشید که افزون‌بر سرعت، CDNها مزایای دیگری نیز به ارمغان می‌آورند که برحسب ثانیه سنجیده نمی‌شوند.
  • با Offloading فایل‌های استاتیک‌تان، منابع‌تان مانند سرورها، پهنای باند و پرسنل آزاد می‌شوند و می‌توان از آن‌ها برای امور مهم‌تری بهره برد.
  • می‌توانند به شما کمک کنند حملات منع سرویس توزیع‌شده (DDoS) را مدیریت کنید.
  • برای مدیریت ترافیک فصلی بهتر آماده شوید.

زمانی‌که یک سرویس‌دهنده‌ی CDN را انتخاب کردید و مشغول استفاده از پلتفرم آن شدید، کار به اتمام نمی‌رسد؛ باید مرتب با ارایه‌دهنده‌ی CDN خود در ارتباط باشید و همواره عملکردشان را در مقایسه با سرور اصلی کنترل کنید. انجام این کار نوعی رابطه‌ی هم‌زیستی را بین شما و ارایه‌‌دهنده‌ی CDNتان برقرار می‌کند و در بلندمدت، به سود همه‌ی طرف‌ها، به‌ویژه کاربران نهایی‌تان است.



لینک منبع

ممکن است به این موارد نیز علاقه مند باشید:

آخرین مطالب