Vercel تطلق Vercel Services: نشر موحّد للواجهة الأمامية والخلفية داخل مشروع واحد
قدّمت Vercel ميزة Vercel Services، وهي طريقة لتشغيل عدة أطر عمل داخل Vercel Project واحد. فعلى سبيل المثال، يمكن الآن الجمع بين واجهة Next.js أمامية وخلفية FastAPI: يجري نشرهما والتراجع عنهما بالتزامن، ويحصلان على نشر معاينة (preview) مشترك. ويستطيع كل منهما الاتصال بالآخر مباشرة، دون المرور عبر الإنترنت العام، وذلك من خلال إعداد service bindings الجديد في ملف vercel.json.
معالج بواسطة الذكاء الاصطناعي من Vercel Blog؛ بتحرير Hamidun News
قدّمت Vercel ميزة جديدة باسم Vercel Services، تتيح تشغيل عدة أطر عمل في وقت واحد، مثل واجهة Next.js أمامية وخلفية FastAPI، ضمن Vercel Project واحد، مع عمليات نشر مشتركة وشبكة داخلية بين الخدمات.
كيف يتم إعداد Vercel Services
تُعرَّف الخدمات في ملف vercel.json تحت المفتاح "services": لكل خدمة يُحدَّد المسار (root) وإطار العمل أو نقطة الدخول (entrypoint)، أما توجيه الحركة العامة فيُضبط عبر rewrites. ويمكن توجيه الحركة العامة إلى خدمة الواجهة الأمامية فقط، مع إبقاء الخلفية متاحة من داخل المشروع حصرًا.
- إعداد الخدمات يتم عبر المفتاح "services" في vercel.json
- مثال من وثائق Vercel: خدمة my_frontend على Next.js وخدمة my_backend على FastAPI (نقطة الدخول main:app)
- الخلفية في هذا المثال ليس لها مسار عام، ولا تصل إليها سوى خدمة my_frontend عبر الشبكة الداخلية
- تعرض لوحة Deployments رسمًا بيانيًا للخدمات، وتتيح واجهة Logs UI تصفية السجلات حسب خدمة بعينها
- يشغّل الأمر vercel dev جميع الخدمات محليًا تلقائيًا، مُحاكيًا بيئة الإنتاج
ما المشكلة التي يحلّها دمج الخدمات
حتى الآن، كان على الفرق التي تجمع في منتج واحد بين واجهة JavaScript أمامية وخلفية، مثل Python، أن توزّعهما عادةً على منصات سحابية مختلفة. فقد اشتهرت Vercel تاريخيًا بقوتها في نشر الواجهات الأمامية المبنية على Next.js، بينما كانت الخدمات الخلفية المبنية على FastAPI أو Django أو Flask تنتقل غالبًا إلى منصات استضافة منفصلة. وعمليًا كان ذلك يعني نظامَي CI/CD مستقلين، ومجموعتين من السجلات والمراقبة، ومزامنة يدوية لإصدارات الواجهة الأمامية والخلفية مع كل إصدار جديد. وتُنهي Vercel Services هذا الانقسام: إذ تُوصَف إعدادات عدة أطر عمل وخدمات متكاملة في ملف vercel.json واحد، بدلًا من تجميعها يدويًا من إعدادات منصات مختلفة.
ما الذي توفّره عمليات النشر الذرية وservice bindings
تضمن عمليات النشر الذرية (atomic deployments) أن تُنشر الواجهة الأمامية والخلفية وسائر خدمات المشروع، ويُتراجع عنها، بالتزامن لا بشكل منفصل. وتُظهر عمليات نشر المعاينة المشتركة كيف يؤثر تغيير واحد في جميع الخدمات دفعة واحدة. كما يتيح إعداد bindings المستقل للخدمات الاتصال ببعضها مباشرة، دون المرور عبر الإنترنت العام: فمثلًا يُمرَّر المفتاح BACKEND_INTERNAL_URL تلقائيًا إلى متغيرات بيئة الواجهة الأمامية ويشير إلى العنوان الداخلي للخلفية.
ماذا يعني ذلك
تسدّ Vercel Services فجوة قديمة بين الجزأين الأمامي والخلفي للمنتج الواحد، اللذين كانا يعيشان في كثير من الأحيان في سحابتين مختلفتين بعمليات تطوير ونشر خاصة بكل منهما. وبالنسبة إلى الفرق التي تجمع بين واجهة JavaScript أمامية وخلفية، مثل Python مع FastAPI، يعني ذلك نشرًا موحّدًا، ومسار معاينة مشتركًا، واتصالًا داخليًا مباشرًا بين الخدمات دون reverse proxy ودون إعدادات CORS. وبالنسبة إلى المنصة نفسها، هي أيضًا وسيلة لإبقاء الفرق داخل منظومتها، تلك التي كانت تنقل الجزء الخلفي من مشروعها إلى استضافات خارجية لمجرد أن Vercel لم تكن توفّر طريقة مريحة لاحتواء المكدّس التقني بأكمله في مكان واحد.
الأسئلة الشائعة
ما هي Vercel Services؟
هي ميزة في Vercel تتيح تشغيل عدة خدمات، مثل واجهة Next.js أمامية وخلفية FastAPI، ضمن Vercel Project واحد مع توجيه مشترك وعمليات نشر ذرية وتوسّع تلقائي؛ وتُحدَّد الإعدادات في vercel.json تحت المفتاح "services".
هل نحتاج إلى reverse proxy كي تتواصل الخدمات فيما بينها؟
لا. وفقًا لوثائق Vercel، يمكن ربط الخدمات بجدول توجيه مشترك وضبط تفاعلها عبر bindings دون reverse proxy ودون إعداد CORS.
Executive AI Consulting, Custom Agents & Team Workshops
Work directly with Zhemal Khamidun at hamidun.com — enterprise AI architecture, production RAG & multi-agent systems, and executive training.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.