در نگاه اول، یک شبکه تحویل محتوا (CDN) و یک زیرساخت ابر سنتی ممکن است شبیه بهنظر برسند. با این حال، این فناوریها برای مقاصد مختلفی استفاده میشوند و از اینرو متفاوت از یکدیگر هستند.
CDN چیست؟
در شرایطیکه اینترنت محتوا و خدمات دیجیتال در سطح جهانی را ارائه میدهد، کاربران باید مدت زمانی متغیر را برای دسترسی به منابع سپری کنند. این تاخیر در دسترسی به محتوا به سرورهایی که اطلاعات را ذخیره میکنند، مکان قرارگیری آنها و دور بودن کاربران از سرورها بستگی دارد.
یکی از راهحلهای این مشکل، نزدیک کردن کاربران و محتوا به یکدیگر است. استراتژی فوق کاهش زمان تاخیر را بههمراه دارد، زیرا برای دسترسی به دادهها نیازی نیست درخواست کاربران از میان هاپهای مختلفی عبور کند. بهطور مثال، فرض کنید قصد دارید مقالهای که روی یک سایت اینترنتی بارگذاری شده است را مطالعه کنید. اگر سرورهایی که میزبان وبسایت هستند در قاره اروپا قرار داشته باشند، درخواست شما برای دسترسی به محتوا باید از میان هاپها، گیتویها و شبکههای مختلف عبور کند تا به سروری مستقر در اروپا برسد، در ادامه، سرور درخواست شما را پردازش میکند و دومرتبه همین مسیر را طی میکند تا محتوایی که نیاز دارید را روی مرورگر خود مشاهده کنید. همانگونه که مشاهده میکنید، بسته به پهنای باند، وبسایت، اینترنتی که از آن استفاده میکنید و شلوغ یا خلوت بودن سرور، باید مدت زمانی را به انتظار بنشینید تا محتوای موردنظر را دریافت کنید. حال اگر این سرورها در ایران قرار داشته باشند، درخواست شما از طریق شبکه گسترده یا اینترانت (بسته به سایتی که قصد مراجعه به آنرا دارید) برای سرور ارسال شده، پردازش شده و محتوا در اختیارتان قرار میگیرد. تفاوتی که دو روش فوق دارند این است که برای دسترسی به محتوایی که درون شبکه داخلی قرار دارد، نیازی به پهنای باند خارجی ندارید و در زمان کوتاهتری به محتوای موردنیاز دسترسی خواهید داشت. چه فناوری باعث میشود تا بتوانیم به محتوای موردنیاز خود در کمترین زمان ممکن دست پیدا کنیم؟ پاسخ شبکه تحویل محتوا CDN مخفف content delivery network است.
CDNها با هدف دسترسی به دادههای میزبانی شده در وب در مدت زمان معقول بر مبنای موقعیت جغرافیایی که کاربران در آن قرار دارند، توسعه پیدا کردهاند. با توجه به اینکه، بخش عمدهای از محتوای موردنیاز کاربران چندرسانهای است، اگر بتوانیم محتوای کاربران هر منطقه را در سرورهایی قرار دهیم که به لحاظ فیزیکی در نزدیکی کاربران قرار دارند، سرعت دسترسی به اطلاعات به میزان قابل توجهی کاهش پیدا میکند. این مکانهای توزیع، که نقاط حضور دوبله (POP) سرنام Dubbed Points of Presence نامیده میشوند، از طریق یک شبکه به هم متصل و مدیریت میشوند تا بتوان محتوا را به سرعت بهروزرسانی یا به آن دسترسی پیدا کرد.
هنگامی که کاربران سعی میکنند به محتوای یک CDN دسترسی پیدا کنند، پلتفرم آنها را به نزدیکترین POP شامل اطلاعات درخواستی ارجاع داده میشود. این چارچوب کاربران را قادر میسازد تا به سرعت به محتوا دسترسی داشته باشند و تراکم شبکه در اوج بار کاری کاهش پیدا کند. CDN در زمینه ارائه محتوای توزیع شده با محدودیت روبرو نیست و میتواند از تبلیغات بومی، استریمهای ویدیویی، تجارت الکترونیک، فروشگاههای آنلاین و وبسایتهای تعاملی که به کاربران به آنها نیاز دارند پشتیبانی کند. در شکل یک عملکرد شبکه تحویل محتوا را مشاهده میکنید.
در ابتداییترین سطح، شبکه تحویل محتوا، شبکهای از سرورها است که برای ارائه محتوا استفاده میشود. نحوه عملکرد آن به این صورت است که یک یا چند سرور به عنوان سرورهای «منبع» تعیین میشوند و سرورهای دیگر در مکانهای مختلف بهعنوان سرورهای «کش» توزیع میشوند. این کشها بر مبنای رویکردهای راهبردی پیادهسازی میشوند تا از نظر جغرافیایی به کاربران نهایی مستقر در مناطق مختلف نزدیک باشند. محتوا یا رسانه منبع در سرور(های) مبدا ذخیره میشود و در صورت نیاز به سرورهای کش ارسال میشود. هنگامی که کاربر منبع یا محتوایی را درخواست میکند، یک آدرس اینترنتی متعلق به شبکه تحویل محتوا در اختیار سرویس نام دامنه (DNS) قرار میگیرد که معادل آدرس آیپی است که کاربر درخواست کرده است. اینکار با هدف واکشی محتوا از یک سرور کش و پاسخگویی به درخواست کاربر انجام میشود. رویکرد فوق، مسافتی که اطلاعات باید طی کنند را کم میکند که تاخیر در دسترسی به اطلاعات را بههمراه دارد. به بیان دقیقتر، سرعت تحویل محتوا به کاربران نهایی افزایش مییابد. همچنین، با توزیع بار میان سرورهای مستقر در مناطق مختلف، بار کاری سرور(های) اصلی کمتر میشود.
موارد استفاده شبکه تحویل محتوا
شبکه تحویل محتوا در درجه اول برای ارائه محتوای فایلهای بزرگی که اغلب ثابت هستند مثل فایلهای ویدیویی، موسیقی و تصاویر بزرگ استفاده میشود. با این حال، در چند وقت اخیر به شکل گستردهای در ارتباط با استریمهای پخش چندرسانهای مورد توجه قرار گرفته است. بهطور مثال، سازمانی که محتوای ویدیوی را به صورت هفتگی در اختیار هزاران کاربر ساکن در ایران قرار میدهد، شبکه تحویل محتوا یک فناوری کاربردی است. این روش تحویل محتوا متفاوت از روش تحویل سنتی است که در آن همه کاربران به یک سرور متمرکز متصل میشوند. در مکانیزم سنتی مبتنی بر سرور متمرکز، تجربه کاربری از دسترسی به محتوا به عوامل مختلفی مثل فاصله آنها از سرور بستگی بهطور مثال، اگر سرور متمرکز تعداد اتصالات کاربران را محدود کرده باشد یا منابع کافی روی سرور وجود نداشته باشد، کاربران ممکن است با مشکلات مربوط به تحویل محتوا روبرو شوند. دارد. علاوه بر این، مشکلات دیگری همچون لینکهای شکسته، افزایش زمان پاسخ و غیره تاخیر در دسترسی به محتوا را بههمراه دارد. شبکههای تحویل محتوا از طریق ذخیرهسازی استریمهای چندرسانهای در سرورهای کش محلی این مشکلات را بطرف حل میکنند که همانگونه که اشاره شد کاهش بار کاری سرور مرکزی را بههمراه دارد و تضمین میکند که تاخیر میان بافر کردن استریمهای ویدیویی به کمترین میزان خود خواهد رسید.
رایانش ابری چیست؟
رایانش ابری یک فناوری راهبردی تکامل یافته است که میتواند هزینه تحویل برنامهها و محتوا را با بهرهگیری درست و هوشمندانه از منابع کاهش دهد. بیشتر سیستمهای کامپیوتر زمانیکه محتوا و برنامههای کاربردی را به تعداد کمی از کاربران ارائه میدهند، منابع بدون استفاده زیادی دارند. مجازیسازی سرور برای استفاده بهینه از منابع یک میزبان (پردازنده مرکزی، حافظه و ذخیرهسازی) و به اشتراکگذاری آنها با چند ماشین مجازی توسعه یافته است که هر کدام برنامههای کاربردی خود را اجرا میکنند و محتوای خود را ارائه میدهند. فناوری هایپروایزر (Hypervisor) که سرورهای مجازی سازی شده را کنترل می کند، به طور قابل توجهی پیشرفت کرده است. از زمان ظهور ابر و تکامل یافته است تا مدیریت مجموعهای از میزبانها را قادر میسازد که هر کدام چندین VM را اجرا میکنند که منابع را حتی در صورت خرابی یک میزبان فیزیکی به اشتراک میگذارند. به این ترتیب، فناوریهای ابری و ماشینهای مجازی با انتزاع کردن عملکرد آنها از سختافزار فیزیکی زیربنایی، انعطافپذیری و قابلیت اطمینان را به برنامههای میزبان اضافه میکنند. تصاویر VM همچنین میتوانند در چندین منطقه به اشتراک گذاشته و مستقر شوند و به برنامههای شما اجازه میدهند تا برای افزایش بیشتر به کاربر نهایی نزدیکتر شوند. عملکرد و تاخیر کمتر، مانند یک CDN عمل می کند. و با افزایش تعداد کاربران، چرخاندن یک VM جدید آسانتر، ارزانتر و سریعتر از تهیه سختافزار جدید است. رایانش ابری در انواع مختلفی ارائه میشود، از ابرهای خصوصی با طراحی سفارشی و پیکربندیهای فلزی پرقدرت تا ارائه دهندگان ابر عمومی مانند AWS و Azure.
موارد استفاده از رایانش ابری
در حالی که عملکرد اصلی رایانش ابری مدیریت منابع، کارآمدتر کردن میزبانها و شبکهها برای کاهش هزینههای ارائه محتوا و برنامهها است، این فناوری به شما امکان میدهد ایمیجها را به راحتی در یک میزبان یا سرور نصب کنید یا خوشهای از میزبانها را مستقر کنید. بنابراین میتوان از آن برای بهبود تجربه کاربری با قرار دادن برنامه یا محتوا در چند استفاده کرد. علاوه بر این، به شما امکان میدهند استراتژیهای بازیابی پس از فاجعه را بدون پیچیدگی خاصی تدوین کنید و در صورت بروز مشکلی به راحتی از آنها استفاده کنید. همچنین، این امکان را فراهم میکنند تا بسته به نیاز کاری که دارید از منابع بیشتری استفاده کنید یا استفاده از منابع را کمتر کنید که صرفهجویی اقتصادی را با همراه دارد. به طور معمول، برخی سازمانها، محیطهای رایانش ابری را برای کاهش هزینههای سخت افزاری و دسترسی آسان به منابع اشتراکی که روی ماشینهای مجازی میزبانی میشود مورد استفاده قرار میدهند. رویکرد فوق به مراتب سادهتر و کم هزینهتر از داشتن میزبانهای فیزیکی مختلف برای انجام کارهای مختلفی مثل استقرار پایگاه داده، مدیریت ارتباط با مشتری (CRM)، ایمیل سرور و... است. با گسترش فعالیتهای تجاری، سازمانها میتوانند به راحتی از میزبانهای مجازی بیشتری برای پاسخگویی به نیازهای کاری استفاده کنند.
شبکه تحویل محتوا در مقابل ابر، شباهتها و تفاوتها
رایانش ابری و شبکه تحویل محتوا شبیه هستند، زیرا هر کدام محتوای میزبانی شده روی سرورهای توزیع شده در موقعیتهای جغرافیایی را دریافت کرده و در اختیار کاربران قرار میدهند. با اینحال، تفاوتهایی نیز وجود دارد. یک شبکه تحویل محتوا در سریعترین زمان ممکن این فرآیند را پردازش میکند، در حالیکه رایانش ابری بر مبنای انعطافپذیری و مقیاسپذیری اقدام به تحویل محتوا و دادههای درخواست میکند. دسترسی به دادهها یک چالش اصلی در هنگام استفاده از رایانش ابری است، زیرا بیشتر شرکتها نگران هستند که ممکن است افراد غیرمجازی به دادهها حساس آنها دسترسی پیدا کنند، به همین دلیل ترجیح میدهند از ابرهای خصوصی برای این منظور استفاده کنند.
از بسیاری جهات، یک CDN بیشتر به معماری محاسبات لبه امروزی شباهت دارد تا یک چارچوب رایانش ابری سنتی. شبیه به شبکه تحویل محتوا، محاسبات لبه بر دسترسی کاربران به منابع از هر مکانی با تاخیر کم متمرکز هستند.