امازون لامدا

خدمة امازون لامدا هي خدمة وظائف كخدمة (FaaS) تعتمد على الأحداث ولا تتطلب خوادم ، وهي مقدمة من أمازون كجزء من خدمات أمازون السحابية (AWS ). صُممت هذه الخدمة لتمكين المطورين من تشغيل التعليمات البرمجية دون الحاجة إلى توفير الخوادم أو إدارتها. تقوم الخدمة بتنفيذ التعليمات البرمجية استجابةً للأحداث ، وتدير تلقائيًا موارد الحوسبة اللازمة لتلك التعليمات. تم إطلاقها في 13 نوفمبر 2014.

 مواصفة 
تعمل كل نسخة من امازون لامدا ضمن بيئة معزولة وخفيفة الوزن مدعومة بأجهزة افتراضية مصغرة Firecracker. تُهيأ هذه الأجهزة الافتراضية المصغرة ببيئة تشغيل مبنية على امازون لينكس (Amazon Linux AMI أو Amazon Linux 2). يوفر Firecracker عزلًا قائمًا على المحاكاة الافتراضية للأجهزة، بهدف تحقيق أداء قريب من أداء الأجهزة الفعلية مع أقل قدر من الحمل الزائد. تدّعي خدمات ويب امازون أنه على عكس الأجهزة الافتراضية التقليدية، يتم تشغيل هذه الأجهزة الافتراضية المصغرة في أجزاء من الثانية، مما يتيح تنفيذًا سريعًا وآمنًا للوظائف مع استهلاك ضئيل للذاكرة. تم تحسين Amazon Linux AMI خصيصًا لأحمال العمل السحابية الأصلية وأحمال العمل بدون خوادم، بهدف توفير بيئة تشغيل خفيفة الوزن وآمنة وعالية الأداء.

, امازون لامدا تدعم نود.جي إس، بايثون، جافا، غو، دوت نت، روبي وانوية خاصة.

 اعتبارات الأداء عند بدء التشغيل البارد والنشر 
تتميز لغتا راست وغو عمومًا بأوقات بدء تشغيل باردة أقل في امازون لامدا مقارنةً بـ جافا وسي شارب وذلك لأنهما تُترجمان إلى ملفات ثنائية ثابتة أصلية، مما يُلغي الحاجة إلى آلة افتراضية (JVM أو .NET CLR) ويُقلل من عبء تهيئة وقت التشغيل. تتضمن غو بعض عمليات التهيئة البسيطة لوقت التشغيل، بما في ذلك جمع البيانات المهملة وإدارة الروتينات الفرعية، ولكن تأثيرها على وقت بدء التشغيل البارد منخفض نسبيًا. أما راست، التي تُترجم بالكامل مسبقًا (AOT) ولا تتطلب وقت تشغيل، فغالبًا ما تُحقق أقل زمن استجابة لبدء التشغيل البارد بين اللغات المدعومة.

تعمل لغتا جافا وسي شارب على بيئات تشغيل مُدارة، مما يُضيف زمن استجابة إضافيًا لبدء التشغيل البارد نتيجةً لتهيئة وقت التشغيل والترجمة الفورية (JIT). مع ذلك، ساهمت التحسينات الحديثة في التخفيف من بعض هذه التحديات. يدعم دوت نت 7 ودوت نت 8 الترجمة المسبقة (AOT)، مما يُقلل من أوقات بدء التشغيل البارد عن طريق الترجمة المسبقة للتعليمات البرمجية. بالإضافة إلى ذلك، تُهيئ خدمة امازون لامدا SnapStart لـ جافا 11 و17 وقت التشغيل وتُنشئ لقطات لحالة التنفيذ، مما يُقلل بشكل كبير من زمن بدء التشغيل البارد للوظائف المُعتمدة على جافا. على الرغم من هذه التحسينات، تحافظ لغتا راست وغو عادةً على أوقات بدء تشغيل بارد أقل نظرًا لاعتمادهما المحدود على وقت التشغيل.Chapin, John; Roberts, Mike (2020). Programming AWS Lambda: build and deploy serverless applications with Java. Beijing Boston Farnham Sebastopol Tokyo: O'Reilly. ISBN 978-1-4920-4102-3.Cui, Yan (17 April 2017). Serverless Architectures on AWS: With examples using AWS Lambda. Simon and Schuster. ISBN 9781638351146.

في أحمال العمل طويلة الأمد، قد يُحسّن تجميع JIT في جافا ودوت نت سرعة التنفيذ من خلال التحسينات الديناميكية. مع ذلك، تعتمد هذه الفائدة على نوع حمل العمل، وغالبًا ما يوفر تجميع AOT في راست أداءً أكثر اتساقًا، خاصةً للمهام التي تعتمد بشكل كبير على وحدة المعالجة المركزية. أما بالنسبة لاستدعاءات Lambda قصيرة الأمد، فيُحافظ راست وغو عمومًا على أداء أكثر قابلية للتنبؤ، حيث قد لا يتوفر الوقت الكافي لتحسينات JIT للتأثير.

تاريخيًا، تطلّب نشر لغتي راست وغو جهدًا إضافيًا نظرًا لتحديات الترجمة المتقاطعة والربط الثابت. غالبًا ما تتطلب Rust، على وجه الخصوص، ربطًا ثابتًا قائمًا على MUSL لضمان التوافق مع امازون لامدا. مع ذلك، ساهمت التطورات في أدوات النشر، بما في ذلك نموذج تطبيقات خدمات ويب امازون بدون خادم (AWS SAM) وGitHub Actions وصور حاويات لامدا، في تبسيط هذه العملية. تستفيد غو من دعم الربط الثابت الأصلي، مما يجعل عملية نشرها سهلة نسبيًا. كما يُقلل دعم امازون لامدا لصور الحاويات من مخاوف التوافق مع وقت التشغيل، مما يُتيح استخدام أوقات تشغيل وتوابع مُخصصة.

 سمات 

 نماذج التزامن 
تحدد خاصية التزامن المحجوز الحد الأقصى لعدد عمليات التنفيذ المتزامنة لوظيفة معينة، وتحجز هذه السعة من الحد الإجمالي للتزامن في الحساب. مع ذلك، فهي لا تُبقي بيئات التنفيذ مُهيأة، ولا تضمن استمرار تشغيل أي من مثيلات الوظيفة عندما تكون في وضع الخمول.

وعلى النقيض من ذلك، تحافظ خاصية التزامن المُهيأ مسبقًا على عدد محدد من بيئات التنفيذ المُهيأة مسبقًا، مما يضمن عدم تعرض الوظيفة لبداية باردة وعدم انخفاضها إلى الصفر.

 عنوان URL لوظيفة لامدا 
يمنح عنوان URL الخاص بوظيفة Lambda برنامج Lambda عنوان URL فريدًا ودائمًا يمكن الوصول إليه من قبل المستخدمين المصادق عليهم وغير المصادق عليهم على حد سواء.

 طبقة لامدا 
طبقة امازون لامدا عبارة عن ملف مضغوط (ZIP) يحتوي على مكتبات أو أطر عمل أو أكواد مخصصة يمكن إضافتها إلى وظائف امازون لامدا. اعتبارًا من ديسمبر 2024، تعاني طبقات امازون لامدا من قيود كبيرة:

 لا يوجد دعم للترقيم الدلالي للإصدارات.
 عدم التوافق مع أدوات فحص الأمان الرئيسية.
 المساهمة في الحد الأقصى لحجم البيانات في لامدا وهو 250 ميجابايت.
 أعاق إجراء الاختبارات المحلية.
 لا توجد تحسينات من نوع "التخلص من الأشجار" .

 سهولة الحمل 
يمثل الانتقال من امازون لامدا إلى خدمات الحوسبة الأخرى التابعة لـ AWS، مثل Amazon ECS، تحدياتٍ نظرًا للتكامل الوثيق مع واجهات برمجة تطبيقات امازون لامدا، وهو ما يُعرف غالبًا بتقييد الخدمة. توفر أدوات مثل AWS Lambda Web Adapter مسارًا قابلًا للنقل، حيث تُمكّن المطورين من بناء تطبيقات ويب باستخدام أُطر عمل مألوفة ضمن نمط تصميم Lambda المتجانس. مع ذلك، يُفرض هذا النهج قيودًا، منها ضعف دقة التنبيهات وضوابط الوصول، واحتمالية حدوث تأخيرات في بدء التشغيل البارد مع التبعيات الكبيرة، ومحدودية ملاءمته لواجهات برمجة التطبيقات غير HTTP.

 أدوات 
AWS Lambda Powertools هي مكتبة مفتوحة المصدر طورتها AWS، توفر أدوات مساعدة لوظائف امازون لامدا. تشمل الأدوات الأساسية التسجيل المنظم، والمقاييس، والتتبع. كما توفر أدوات أخرى لحالات الاستخدام الشائعة عند تطوير وظائف امازون لامدا. وهي متوفرة بلغات Python، وJava، وNet، وTypeScript. اعتبارًا من مارس 2025، تدعم أيضًا إخفاء البيانات في Python.

 تعدد الخيوط وقابلية التوسع في امازون لامدا 
اعتبارًا من مارس 2025، تدعم خدمة امازون لامدا توسعًا رأسيًا محدودًا عن طريق زيادة عدد وحدات المعالجة المركزية الافتراضية (vCPUs) من خلال تخصيص الذاكرة. ومع ذلك، لا يسمح ذلك بزيادة أداء الخيوط المفردة، حيث تبقى سرعة الساعة ثابتة. عندما تُخصص دالة ما وحدة معالجة مركزية افتراضية واحدة فقط، تتشارك خيوط متعددة نفس النواة، مما يؤدي إلى تبديل السياق بدلًا من التنفيذ المتوازي الحقيقي. ونتيجة لذلك، يُعد تعدد الخيوط في بيئات وحدة المعالجة المركزية الافتراضية الواحدة مفيدًا بشكل أساسي لأحمال العمل التي تعتمد على الإدخال/الإخراج (I/O) أكثر من المهام كثيفة الحساب.

يُتيح تخصيص ذاكرة إضافية في امازون لامدا استخدام وحدات معالجة مركزية افتراضية متعددة، مما يسمح بالتنفيذ المتوازي. مع ذلك، تبقى سرعة الساعة لكل نواة ثابتة، مما يحد من أداء الخيوط الفردية. يجعل هذا التكوين امازون لامدا مناسبًا لأحمال العمل التي تتوسع أفقيًا أو تستفيد من التوازي، ولكنه أقل مثالية للتطبيقات التي تتطلب أداءً عاليًا للخيط الواحد."Configure Lambda function memory - AWS Lambda". docs.aws.amazon.com. Retrieved 2025-03-18."Efficiently processing batched data using parallelization in AWS Lambda | AWS Compute Blog". aws.amazon.com. 2024-08-28. Retrieved 2025-03-18."Parallel Processing in Python with AWS Lambda | AWS Compute Blog". aws.amazon.com. 2017-09-11. Retrieved 2025-03-18."AWS Lambda now supports up to 10 GB of memory and 6 vCPU cores for Lambda Functions". Amazon Web Services, Inc. Retrieved 2025-03-18."Operating Lambda: Application design – Scaling and concurrency: Part 2 | AWS Compute Blog". aws.amazon.com. 2021-02-08. Retrieved 2025-03-18.

 حماية 
في أبريل 2022، اكتشف باحثون برمجية خبيثة لتعدين العملات الرقمية تستهدف خدمة امازون لامدا تُدعى "دينونيا".

 انظر أيضاً 

 بنية تعتمد على الأحداث
 إطار عمل بدون خادم
 الحوسبة بدون خوادم
 الوظيفة كخدمة
 دالة لامدا ، وهي مفهوم دالة الحوسبة المجهولة، غير المرتبطة بهوية، والتي أعطت أمازون لامدا اسمها
 منصة أوراكل السحابية
 وظائف جوجل السحابية
 Azure Function

 مراجع 

 روابط خارجية 



تصنيف:خدمات أمازون ويب