خبر فوریامروز

تحول شبکه ابری با فناوری eBPF؛ حذف سایدکارها و افزایش سرعت

امروزه سرویس مش‌های سنتی با پراکسی‌های سنگین سایدکار به تاریخ پیوسته‌اند؛ eBPF با اجرای بومی در کرنل لینوکس و انتقال وظایف به کارت‌های DPU، سربار پردازشی شبکه را تا ۸۰ درصد کاهش داده است.

تحول شبکه ابری با فناوری eBPF
تحول شبکه ابری با فناوری eBPF — عکس: آرشیو ماگ بیت
خلاصه در یک نگاه
  • واکاوی عمیق دگرگونی زیرساخت‌های ابری و خوشه‌های کوبرنتیز با حذف کانتینرهای سایدکار و جایگزینی موتورهای امنیتی-شبکه‌ای eBPF امروزه بررسی پروژه پیشرو Cilium Service Mesh، شتاب‌بخشی لایه سوکت در هسته لینوکس، تخلیه بار پردازشی شبکه بر روی پردازنده‌های داده (DPU/SmartNIC) و کاهش چشمگیر هزینه‌های محاسباتی سازمان‌ها.
  • بررسی جامع ابعاد فنی و کاربردی توسط تحریریه ماگ بیت.
  • پیش‌بینی اثرات کوتاه‌مدت و بلندمدت بر اکوسیستم فناوری.

بحران مالیات سایدکار (Sidecar Tax)؛ چرا کوبرنتیز به بن‌بست پراکسی‌ها رسید؟

در دهه گذشته، معماری سرویس مش (Service Mesh) نظیر Istio و Linkerd به عنوان ستون فقرات ارتباطات امن و مانیتورینگ در خوشه‌های کوبرنتیز پذیرفته شد. استاندارد غالب برای پیاده‌سازی این قابلیت‌ها، الگوی «سایدکار» (Sidecar Pattern) بود؛ به ازای هر کانتینر اپلیکیشن که در کلاستر مستقر می‌شد، یک کانتینر پراکسی مجزا (معمولاً مبتنی بر Envoy) به عنوان سایدکار تزریق می‌گشت تا کلیه ترافیک ورودی و خروجی را بازرسی و رمزنگاری کند.

اما با رشد نمایی سازمان‌ها و رسیدن تعداد پادها به ده‌ها هزار کانتینر امروزه پدیده‌ای به نام «مالیات سایدکار» (Sidecar Tax) به یک فاجعه اقتصادی و عملکردی تبدیل شد. بررسی‌ها نشان می‌داد که در خوشه‌های بزرگ، بیش از ۳۵ الی ۵۰ درصد از کل توان پردازنده (CPU) و رم سرورها صرفاً برای چرخاندن پراکسی‌های تکراری سایدکار، کپی‌های متعدد بافرها میان فضای کاربر (User Space) و هسته (Kernel)، و سوئیچ‌های پیاپی کانتکست مصرف می‌شد. تأخیر شبکه (Network Latency) در ارتباطات بین‌سرویسی به ازای هر پرش تا ۵ میلی‌ثانیه افزایش می‌یافت.

این مشکل دقیقاً مشابه مشکلی بود که سازمان‌ها در پردازش داده تجربه کردند؛ همان‌طور که در مقاله موتورهای تحلیلی نهفته با Apache DataFusion و Rust توضیح دادیم که حذف لایه‌های واسطه JVM کارایی کوئری‌ها را متحول کرد، در لایه شبکه نیز نیاز فوری به حذف پراکسی‌های واسطه و اتصال مستقیم به هسته سیستم‌عامل احساس می‌شد.

انقلاب eBPF در هسته لینوکس؛ برنامه‌نویسی‌پذیر کردن استک شبکه

تکنولوژی eBPF (Extended Berkeley Packet Filter) بزرگ‌ترین تحول سیستم‌عامل لینوکس در دهه‌های اخیر است که اجازه می‌دهد کدهای بایت‌کد اعتبارسنجی‌شده و ایمن، مستقیماً در لایه‌های عمیق هسته سیستم‌عامل بدون نیاز به کامپایل مجدد کرنل یا نوشتن ماژول‌های پرخطر اجرا شوند. در حوزه شبکه، برنامه‌های eBPF می‌توانند مستقیماً به هوک‌های سوکت (Socket Layer Hooks) و لایه درایور کارت شبکه (XDP - eXpress Data Path) متصل شوند.

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

این رویکرد، تحولی هم‌راستا با معماری مؤلفه‌ای وب‌اسمبلی Wasm Component Model و WASI 0.3 به شمار می‌رود؛ در هر دو فناوری، ایزولاسیون با حداقل سربار در لایه‌های پایین ساختار اجرا صورت می‌گیرد و استقرار سرویس‌ها به سرعت میلی‌ثانیه‌ای دست می‌یابد.

طرح مقایسه‌ای سربار شبکه در سرویس مش‌های سنتی مبتنی بر سایدکار Envoy در برابر رهگیری هسته لینوکس با eBPF و کارت‌های DPU
تغییر معماری شبکه کلاستر ابری امروزه: حذف کانتینرهای پراکسی سایدکار و کپی‌های مکرر حافظه در فضای کاربر با جایگزینی برنامه‌های eBPF در لایه سوکت کرنل و تخلیه رمزنگاری mTLS و مسیریابی لایه ۷ بر روی پردازنده‌های داده DPU.

پروژه پیشرو Cilium Service Mesh و ادغام mTLS سخت‌افزاری

امروزه فریم‌ورک Cilium (تحت نظارت بنیاد رایانش ابری CNCF) به استاندارد بلامنازع سرویس مش در شرکت‌های Fortune 500 تبدیل شده است. Cilium Mesh با بهره‌گیری از eBPF، تمام قابلیت‌های کلیدی سرویس مش شامل مسیریابی ترافیک لایه ۳، ۴ و ۷، بالانس بار لبه، قابلیت اطمینان، بازرسی ترافیک (Observability با ابزار Hubble) و اعمال سیاست‌های امنیتی Zero Trust را بدون نیاز به حتی یک پراکسی سایدکار فراهم می‌آورد.

در مواردی که پروتکل‌های پیچیده لایه ۷ نظیر بازرسی عمیق هدرهای HTTP/gRPC یا فیلترینگ توکن‌های احراز هویت JWT ضروری است، Cilium به جای اجرای هزاران پراکسی به ازای تک‌تک کانتینرها، از الگوی «پراکسی اشتراکی به ازای هر گره» (Per-Node Proxy) استفاده می‌کند. در این الگو، تنها یک اینستنس بهینه‌سازی‌شده Envoy روی هر سرور فیزیکی اجرا می‌شود و ترافیک لایه ۷ توسط برنامه‌های eBPF به آن ارجاع داده می‌شود.

همچنین برای تأمین امنیت ارتباطات، Cilium امروزه رمزنگاری متقابل mTLS را به پروتکل فوق‌سریع WireGuard و IPsec در لایه کرنل گره زده است؛ به این معنی که تمام ترافیک بین نودها با رمزنگاری سخت‌افزاری و بدون ایجاد حتی یک مگابایت سربار در فضای کاربری ایمن‌سازی می‌شود.

تخلیه سخت‌افزاری به DPUها و SmartNICها؛ مرز جدید شتاب‌بخشی ابری

گام نهایی در بهینه‌سازی شبکه‌های ابری، تخلیه کامل وظایف پردازشی eBPF از پردازنده‌های اصلی سرور (Host CPU) و انتقال آن به «واحدهای پردازش داده» (Data Processing Units یا DPU) نظیر چیپ‌های Nvidia BlueField-3، AMD Pensando و اینتل Mount Evans است. این کارت‌های هوشمند شبکه، مجهز به هسته‌های پردازشی ARM اختصاصی و موتورهای شتاب‌دهنده رمزنگاری و سوئیچینگ هستند.

با اجرای بومی بایت‌کدهای eBPF بر روی ریزمعماری DPU، کلیه بسته‌های ورودی به کلاستر پیش از آنکه پایشان به رم یا پردازنده اصلی سرور برسد، در سخت‌افزار کارت شبکه فیلتر، بالانس و رمزگشایی می‌شوند. پردازنده سرور ۱۰۰ درصد ظرفیت خود را منحصراً به منطق برنامه و اجرای کوئری‌ها در سیستم‌هایی نظیر دیتابیس‌های برداری چندوجهی شتاب‌یافته با GPU اختصاص می‌دهد.

همگام با توسعه این شتاب‌دهنده‌ها، ادغام فناوری‌های پیشرفته سیلیکونی نظیر حافظه‌های اسپین‌ترونیک SOT-MRAM و شتاب‌دهنده‌های درون‌حافظه‌ای در کنترلرهای SmartNIC باعث شده تا جدول‌های مسیریابی چندمیلیونی کانتینرها با مصرف برق زیر ۵ وات در حافظه‌های غیرفرار فوق‌سریع پردازش شوند.

راهنمای عملیاتی مهاجرت و نتایج بنچمارک‌های سازمانی امروزه

برای تیم‌های مهندسی زیرساخت (DevOps و Platform Engineering) که به دنبال مهاجرت از سرویس مش‌های سنتی به معماری مدرن eBPF بدون سایدکار هستند، گام‌های اجرایی استاندارد دوران کنونی عبارتند از:

۱. ارتقای هسته لینوکس به نسخه‌های ۶.۸ و بالاتر برای بهره‌مندی از آخرین بهینه‌سازی‌های BPF arena و تلمتری بدون قفل لایه سوکت.

۲. نصب و راه‌اندازی Cilium CNI با فعال‌سازی ماژول‌های `bpf.masquerade=true` و `bpf.hostRouting=true` جهت جایگزینی کامل با لایه ناکارآمد iptables لینوکس.

۳. فعال‌سازی قابلیت‌های سرویس مش بدون سایدکار از طریق پرچم‌های استاندارد Cilium و بهره‌گیری از ابزار Hubble UI جهت مشاهده جریان‌های شبکه و شناسایی نقاط گلویی در کسری از ثانیه.

داده‌های مستند شرکت‌های پیشرو امروزه نشان می‌دهد که مهاجرت به سرویس مش بدون سایدکار مبتنی بر eBPF، هزینه‌های زیرساخت ابری (Cloud Bills) در ارائه‌دهندگانی چون AWS و Google Cloud را به طور میانگین ۳۸ درصد کاهش داده و تأخیر پیوند P99 کانتینرها را تا ۸۰ درصد بهبود بخشیده است. این دستاورد، مسیر آینده زیرساخت‌های ابری در عصر بارهای کاری سنگین هوش مصنوعی را به روشنی هموار ساخته است.

این مطلب را با دوستانتان به اشتراک بگذارید
م
نوشته‌ی
محمد علی رخشان

روزنامه‌نگار حوزه‌ی فناوری؛ علاقه‌مند به روایت آدم‌ها و تغییراتی که فناوری در زندگی روزمره ایجاد می‌کند.

همه‌ی مطالب
مطالب پیشنهادی ماگ بیت

بیشتر از فناوری

مشاهده همه