پشت صحنه پلتفرم‌های پخش آنلاین؛ استریم و آرشیو ویدئو به چه زیرساختی نیاز دارد؟

تماشای آنلاین یک فیلم یا ویدئو برای کاربر بسیار ساده به نظر می‌رسد. کافی است روی دکمه پخش کلیک کند و چند ثانیه بعد محتوا روی موبایل، لپ‌تاپ یا تلویزیون نمایش داده شود. اما پشت این تجربه ساده، مجموعه‌ای از سرورها، تجهیزات ذخیره‌سازی، شبکه، سیستم‌های پردازشی و نرم‌افزارهای مختلف در حال فعالیت هستند.

با افزایش حجم ویدئوها و تعداد کاربران، زیرساخت فنی به یکی از مهم‌ترین بخش‌های یک پلتفرم ویدئویی تبدیل می‌شود. انتخاب اشتباه سرور، فضای ذخیره‌سازی یا شبکه می‌تواند باعث کندی، Buffering، افزایش هزینه و حتی اختلال کامل سرویس شود.

چرا زیرساخت پخش ویدئو با یک سایت معمولی متفاوت است؟

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

علاوه بر فایل اصلی، معمولاً از هر ویدئو چند نسخه با کیفیت و Bitrate متفاوت تولید می‌شود. برای مثال ممکن است یک فیلم در نسخه‌های 480p، 720p، 1080p و حتی 4K نگهداری شود تا کیفیت پخش متناسب با سرعت اینترنت کاربر تغییر کند.

بنابراین سه بخش اصلی در زیرساخت ویدئو اهمیت بسیار زیادی دارند: فضای ذخیره‌سازی، قدرت پردازشی و پهنای باند شبکه.

اگر قصد دارید انتخاب سخت‌افزار این نوع پروژه‌ها را دقیق‌تر بررسی کنید، راهنمای سرور مناسب برای استریم و آرشیو ویدئو جزئیات بیشتری درباره انتخاب سرور و Storage مناسب برای این کاربرد ارائه می‌کند.

Storage؛ اولین چالش یک آرشیو ویدئویی بزرگ

در یک سرویس ویدئویی، ظرفیت Storage معمولاً خیلی سریع‌تر از چیزی که در ابتدا تصور می‌شود افزایش پیدا می‌کند.

فرض کنید یک مجموعه ۵۰۰۰ فایل ویدئویی داشته باشد و میانگین حجم هر فایل حدود ۵ گیگابایت باشد. تنها نسخه اصلی این فایل‌ها حدود ۲۵ ترابایت فضای ذخیره‌سازی نیاز دارد.

اما در محیط واقعی باید فضای مورد نیاز برای نسخه‌های مختلف هر ویدئو، Thumbnailها، فایل‌های موقت پردازشی، Backup و رشد آینده آرشیو را نیز در نظر گرفت.

در نتیجه یک آرشیو که امروز ۲۵ ترابایت فضا نیاز دارد ممکن است در مدت نه‌چندان طولانی به ۵۰ یا حتی ۱۰۰ ترابایت فضای ذخیره‌سازی احتیاج پیدا کند.

به همین دلیل استفاده از سرورهایی که Drive Bay کافی و قابلیت توسعه Storage داشته باشند، یکی از مهم‌ترین نکات در طراحی زیرساخت است.

HDD یا SSD؛ کدام گزینه برای آرشیو ویدئو بهتر است؟

یکی از سؤال‌های متداول این است که آیا برای یک سرور ویدئویی باید تمام Storage از SSD تشکیل شده باشد؟

پاسخ الزاماً خیر است.

هارددیسک‌های Enterprise هنوز برای آرشیو حجیم، مخصوصاً داده‌هایی که دفعات دسترسی کمتری دارند، نسبت قیمت به ظرفیت بسیار مناسبی ارائه می‌کنند.

در مقابل، SSDها برای Cache، Database، Metadata، سیستم‌عامل و فایل‌هایی که به‌صورت مداوم مورد استفاده قرار می‌گیرند گزینه بسیار مناسبی هستند.

در بسیاری از پروژه‌های حرفه‌ای از معماری Hybrid استفاده می‌شود؛ یعنی SSD برای اطلاعات پرتکرار و بخش‌های حساس به سرعت و HDD برای آرشیو حجیم و بلندمدت.

این ترکیب می‌تواند بدون افزایش شدید هزینه، عملکرد مناسبی در اختیار سرویس قرار دهد.

RAID چه نقشی در سرور آرشیو ویدئو دارد؟

وقتی تعداد زیادی HDD یا SSD در یک سرور قرار می‌گیرد، خرابی یک Drive نباید باعث از دست رفتن کل آرشیو شود.

اینجاست که RAID اهمیت پیدا می‌کند.

بسته به تعداد درایوها، حجم اطلاعات، سرعت مورد نیاز و سطح تحمل خرابی می‌توان از ساختارهای مختلف RAID استفاده کرد.

RAID 5 ظرفیت قابل استفاده خوبی ارائه می‌دهد اما تنها تحمل خرابی یک Drive را دارد.

RAID 6 می‌تواند خرابی همزمان دو Drive را تحمل کند و برای بسیاری از آرشیوهای بزرگ گزینه قابل‌توجهی محسوب می‌شود.

RAID 10 نیز عملکرد بسیار خوبی دارد اما تقریباً نیمی از ظرفیت خام Storage برای Mirroring استفاده می‌شود.

البته باید توجه داشت که RAID جای Backup را نمی‌گیرد. اطلاعات مهم باید نسخه پشتیبان مستقل نیز داشته باشند.

CPU و Transcoding؛ بخش سنگین پردازش ویدئو

یکی از سنگین‌ترین عملیات در پلتفرم‌های ویدئویی، Transcoding است.

فایل اصلی ممکن است با Codec، Bitrate یا Resolution خاصی Upload شود اما برای پخش روی دستگاه‌ها و سرعت‌های مختلف اینترنت باید نسخه‌های دیگری از آن ساخته شود.

تولید نسخه‌های 480p، 720p، 1080p و 4K می‌تواند منابع پردازشی قابل توجهی مصرف کند.

اگر تعداد فایل‌هایی که روزانه پردازش می‌شوند بالا باشد، استفاده از پردازنده‌هایی با تعداد Core مناسب می‌تواند زمان Transcoding را به شکل محسوسی کاهش دهد.

در پروژه‌های بزرگ‌تر حتی می‌توان Transcoding را روی چند سرور مستقل توزیع کرد یا از GPU برای Accelerated Transcoding استفاده کرد.

RAM در سرور ویدئویی چقدر اهمیت دارد؟

حافظه RAM شاید در نگاه اول به اندازه Storage یا CPU مورد توجه قرار نگیرد، اما در عملکرد کلی سرور نقش مهمی دارد.

سیستم‌عامل، Database، Cache، Containerها و سرویس‌های مختلف همگی از RAM استفاده می‌کنند.

اگر تعداد Connectionهای همزمان افزایش یابد یا چند سرویس روی یک سرور اجرا شوند، کمبود حافظه می‌تواند باعث کاهش جدی Performance شود.

به همین دلیل ظرفیت RAM بهتر است نه فقط براساس نیاز امروز، بلکه با در نظر گرفتن رشد چند سال آینده سرویس انتخاب شود.

شبکه؛ گاهی مهم‌تر از قدرت CPU

ممکن است یک سرور دارای پردازنده و Storage بسیار قدرتمندی باشد اما اگر ارتباط شبکه ظرفیت کافی نداشته باشد، کاربران همچنان با Buffering مواجه خواهند شد.

فرض کنید ۱۰۰۰ کاربر به‌صورت همزمان یک ویدئو با Bitrate متوسط ۵ مگابیت بر ثانیه مشاهده کنند. تنها برای انتقال این Streamها حدود ۵ گیگابیت بر ثانیه پهنای باند خروجی نیاز خواهد بود.

اگر تعداد کاربران افزایش پیدا کند یا کیفیت ویدئوها بالاتر برود، مصرف پهنای باند نیز به‌سرعت افزایش پیدا می‌کند.

به همین دلیل در بسیاری از زیرساخت‌های حرفه‌ای از شبکه‌های 10GbE، 25GbE یا سریع‌تر استفاده می‌شود.

CDN چیست و چرا برای Streaming اهمیت دارد؟

برای سرویس‌های کوچک می‌توان محتوا را مستقیماً از سرور اصلی یا Origin Server در اختیار کاربران قرار داد.

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

Content Delivery Network نسخه‌ای از فایل‌های پرمصرف را روی Nodeهای مختلف Cache می‌کند و محتوا را از نقطه‌ای نزدیک‌تر به کاربر ارائه می‌دهد.

این ساختار می‌تواند باعث کاهش Latency، کاهش فشار روی Origin Server و بهبود تجربه پخش ویدئو شود.

CDN همچنین زمانی که یک ویدئو ناگهان بسیار پرطرفدار شود، می‌تواند بخش زیادی از ترافیک را از سرور اصلی دور کند.

مقیاس‌پذیری؛ زیرساخت را فقط برای امروز طراحی نکنید

یکی از اشتباهات رایج در طراحی زیرساخت این است که تمام تجهیزات فقط براساس نیاز فعلی خریداری شوند.

پلتفرمی که امروز ۱۰۰۰ ویدئو دارد ممکن است در چند سال آینده ده‌ها هزار ویدئو داشته باشد. تعداد کاربران نیز ممکن است به همین شکل افزایش پیدا کند.

بنابراین هنگام انتخاب سرور باید قابلیت توسعه Storage، تعداد Drive Bay، حافظه RAM، کارت شبکه، پردازنده، GPU و Storage خارجی در نظر گرفته شود.

پرداخت هزینه کمی بیشتر در ابتدای پروژه گاهی می‌تواند از تعویض کامل زیرساخت در آینده جلوگیری کند.

آیا یک سرور برای همه کارها کافی است؟

در پروژه‌های کوچک یک سرور قدرتمند می‌تواند چند وظیفه مختلف را همزمان انجام دهد.

برای مثال Storage، Web Server، Database و حتی بخشی از عملیات Transcoding ممکن است روی یک سیستم قرار بگیرند.

اما با افزایش تعداد کاربران و حجم محتوا بهتر است وظایف از یکدیگر جدا شوند.

در یک معماری بزرگ‌تر معمولاً بخش‌های Storage Server، Database Server، Application Server، Transcoding Node، Streaming Server، Backup Server و CDN یا Cache Node می‌توانند به‌صورت مستقل فعالیت کنند.

مزیت این معماری این است که هر بخش را می‌توان جداگانه توسعه داد. اگر Storage کم باشد، فقط بخش Storage ارتقا پیدا می‌کند و اگر تعداد کاربران زیاد شود، می‌توان Streaming Node جدید اضافه کرد.

چه زمانی زیرساخت ویدئویی باید ارتقا پیدا کند؟

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

  • افزایش Buffering کاربران
  • کند شدن شروع پخش ویدئو
  • استفاده دائمی و سنگین از CPU
  • کمبود RAM
  • اشباع لینک شبکه
  • کمبود فضای Storage
  • طولانی شدن عملیات Transcoding
  • افزایش خطاهای Disk یا Storage

مانیتورینگ مستمر منابع سرور کمک می‌کند قبل از آنکه مشکل به کاربر نهایی برسد، گلوگاه زیرساخت شناسایی شود.

چند نکته مهم پیش از انتخاب سرور استریم

پیش از خرید تجهیزات باید تعداد کاربران همزمان، میانگین Bitrate هر Stream، حجم فعلی آرشیو، میزان رشد سالانه Storage، نوع Transcoding، نیاز یا عدم نیاز به GPU، وجود CDN، سطح Redundancy و نحوه Backup مشخص شود.

پاسخ دقیق به این موارد کمک می‌کند CPU، RAM، Storage و Network براساس نیاز واقعی پروژه انتخاب شوند و از خرید بیش از حد یا کمبود منابع جلوگیری شود.

 

چند نکته مهم پیش از انتخاب سرور استریم

جمع‌بندی

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

Storage، RAID، CPU، RAM، شبکه، Backup، CDN و معماری نرم‌افزاری باید در کنار یکدیگر طراحی شوند.

برای یک سرویس کوچک ممکن است یک Server چندمنظوره پاسخگو باشد، اما با افزایش حجم آرشیو و تعداد کاربران، جداسازی Storage، Transcoding، Database و Streaming می‌تواند عملکرد و قابلیت توسعه زیرساخت را به میزان قابل توجهی افزایش دهد.

مهم‌ترین نکته این است که سخت‌افزار سرور هوش مصنوعی از ابتدا متناسب با Workload انتخاب شود؛ زیرا نیاز یک File Server ساده با سیستمی که باید هزاران فایل ویدئویی را ذخیره کند و محتوا را به تعداد زیادی کاربر همزمان تحویل دهد، کاملاً متفاوت است.

مرکز خرید سرور اچ پی ماهان شبکه ایرانیان تماس بگیرید 9121003403 تماس مستقیم.