
AWS تُطلق Lambda Web Functions لتطبيقات HTTP القياسية
أنشأت AWS ميزة Lambda Web Functions، نوع جديد يشغّل خوادم HTTP القياسية المبنية على Node.js على Lambda دون حاجة إلى محوّلات. توفر هذه الميزة تنفيذًا متزامنًا متعددًا، وتفعيلًا نشطًا لوحدة المعالجة المركزية، ونشرًا بأمر واحد مع توجيه تلقائي متعدد المناطق.
أعلنت Amazon Web Services عن AWS Lambda Web Functions، وهو عامل شكل جديد يتيح للمطورين تشغيل تطبيقات الويب HTTP القياسية على Lambda دون الحاجة إلى إعادة كتابة الكود كدالة معالجة أحداث. يمكن نشر التطبيقات المبنية باستخدام Express أو Hono أو Fastify أو Next.js أو أي إطار عمل Node.js بأمر واحد، بينما توفر Lambda التحجيم والتوزيع متعدد المناطق وتفعيل CPU النشط.
ثلاثة عوامل شكل لـ Lambda
مع هذا الإصدار، تقدم AWS Lambda الآن ثلاثة عوامل شكل مختلفة، يعتمد كل منها على نفس تقنية العزل Firecracker. تستخدم Lambda Event Functions نموذج معالجة قائم على الأحداث يعالج طلبًا واحدًا في كل مرة مع فوترة زمنية حقيقية، وهي مصممة لمعالجة الأحداث ومستهلكي الطوابير والمستدعيات الناتجة عن خدمات AWS الأخرى. أما Lambda Web Functions فتستخدم نموذج برمجة موجهًا نحو HTTP مع تنفيذ متزامن متعدد وتفعيل CPU نشط، وتستهدف تطبيقات الويب وخوادم API وأحمال HTTP التفاعلية. وتقدم Lambda MicroVMs بيئات معزولة ومعتمدة على الحالة بدورات حياة يديرها المستخدم، لتشغيل الكود غير الموثوق أو الذي ينشئه المستخدم.
كيف تعمل Web Functions
كل بيئة تنفيذ لـ Web Function تعالج ما يصل إلى 128 طلبًا متزامنًا في وقت واحد، لذا يمكن لارتفاعات حركة المرور الاستفادة من بيئات دافئة مشتركة بدلاً من ربط كل طلب ببيئة جديدة. تحسب Web Functions وقت وحدة المعالجة المركزية فقط عندما يستخدمه الكود فعليًا، مما يعني أن الوقت المستغرق في الانتظار لطلب قاعدة بيانات أو استدعاء API يستهلك القليل من وحدة المعالجة المركزية، بينما تُحتسب الذاكرة طالما أن بيئة التنفيذ موجودة. وفقًا لما تدعيه AWS، يمكن أن يقلل هذا من تكاليف الحوسبة للأعباء المكثفة بـ I/O مثل العرض على الخادم وخوادم API ونقاط نهاية استدلال الذكاء الاصطناعي التي تبث الردود على شكل رموز.
يكتب المطورون خادمًا يستمع على منفذ قياسي ويقرأ المضيف والمنفذ من متغير البيئة AWS_LAMBDA_HTTP_ENDPOINT الذي تعينه Lambda تلقائيًا. يتم النشر بأمر واحد عبر AWS CLI وهو aws lambda-web deploy، الذي يرفع المصدر وينشئ Web Function وينشر مراجعته الأولى ويربط نقطة النهاية ويعيد عنوان HTTPS نشط. المراجعات هي لقطات ثابتة للكود المنشور، بينما نقاط النهاية هي عناوين HTTPS توجه حركة المرور إلى مراجعة أو توزعها بين المراجعات.
النشر متعدد المناطق وتوزيع حركة المرور
تمرير علامة --regions إلى أمر deploy يكرر الكود في مناطق متعددة ويعد تلقائيًا توجيهًا قائمًا على زمن الاستجابة عبر عنوان URL عالمي واحد، يرسل كل طلب بأقصى سرعة إلى المنطقة ذات أقل زمن استجابة للمستدعي. بعد تغيير الكود، إعادة تشغيل أمر deploy يرفع مراجعة جديدة ويوجه نقطة النهاية إليها في غضون ثوانٍ معدودة. للإصدارات المرحلية، يمكن توزيع حركة المرور بين المراجعات بأوزان مضبوطة عبر استدعاء API واحد، مما يتيح نشر canary دون أدوات إضافية.
التكامل مع CloudFront والتوفر
يمكن استخدام Web Functions كأصل لتوزيعات Amazon CloudFront: يتم تقديم الموارد الثابتة من الذاكرة المؤقتة، بينما تُعاد توجيه الطلبات الديناميكية إلى الدالة. يحسن الإصدار أيضًا تجربة الأصل الخاص: يربط المستخدمون نقطة نهاية Web Function بتحكم الوصول إلى الأصل في CloudFront، لذلك يوقع CloudFront الطلبات وتمنح نقطة النهاية حق استدعائها لذلك التوزيع فقط، وهو ما يطابق نموذج الأصل الخاص الذي يستخدمه CloudFront بالفعل مع Amazon S3.
تتوفر Lambda Web Functions اليوم في شرق الولايات المتحدة (فيرجينيا الشمالية)، وشرق الولايات المتحدة (أوهايو)، وغرب الولايات المتحدة (أوريغون)، ومنطقة آسيا والمحيط الهادئ (طوكيو)، وأوروبا (إيرلندا). عند إطلاق Web Functions تعمل على Node.js 24 (nodejs24.x) على Arm64 وتدعم الاتصال بـ Amazon VPC للوصول إلى الموارد داخل VPC.
المصادر: AWS News Blog
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.