- مثالية للأحمال المتقطعة وغير المتوقعة.
- البدء البارد قد يضر التجربة في المسارات التفاعلية.
- مكلفة عند الأحمال الثابتة العالية.
- حدود التنفيذ والذاكرة تقيد بعض الأعمال.
أين تتفوق
- المهام المجدولة: تقارير ليلية، وتنظيف، ومزامنة دورية.
- معالجة الأحداث: ملف رفع فيعالج، ورسالة وصلت فتوجه.
- واجهات برمجية قليلة الحركة أو متذبذبة بشدة.
- أعمال الخلفية القصيرة: إرسال بريد، وتوليد صورة مصغرة.
- النماذج الأولية السريعة بلا إعداد بنية.
البدء البارد
حين لا تكون الوظيفة قد شغلت مؤخرا، يستغرق أول نداء وقتا إضافيا لتجهيز البيئة. وقد يكون هذا غير مقبول في مسار ينتظر فيه المستخدم. ويخفف بإبقاء نسخ دافئة أو باختيار بيئات تشغيل أخف، ولا يلغى تماما.
الحدود
- أقصى زمن تنفيذ للوظيفة — الأعمال الطويلة تقسم أو تنقل لمكان آخر.
- حدود الذاكرة وحجم الحزمة.
- صعوبة الاحتفاظ بحالة بين النداءات — تحتاج تخزينا خارجيا.
- حدود الاتصالات بقاعدة البيانات عند التوسع المفاجئ لآلاف النسخ.
والحد الأخير يفاجئ كثيرين: التوسع التلقائي السريع قد يستنزف حد اتصالات قاعدة بياناتك فتسقط.
التكلفة
رخيصة جدا عند الاستعمال المتقطع، وقد تصير أغلى من خادم دائم عند الحمل الثابت العالي. والحساب بسيط: قدر عدد النداءات وزمن التنفيذ وقارن بكلفة خادم يؤدي العمل نفسه. والحد الفاصل يختلف بحسب طبيعة العمل.
التشغيل والتشخيص
التشخيص يختلف: لا خادم تدخل إليه. والاعتماد كامل على السجلات والتتبع والمقاييس. ولهذا تكون هذه الطبقة شرطا لا تحسينا: بلا تتبع للطلب عبر الوظائف يصير كل عطل لغزا.
أسئلة شائعة
هل تصلح لتطبيق كامل؟
ممكن وشائع للواجهات البرمجية والمهام، مع مراعاة البدء البارد وحدود التنفيذ. والتطبيقات ذات الحمل الثابت العالي أو المتطلبات الزمنية الصارمة قد تبقى على خوادم عادية.
كيف نتعامل مع قاعدة البيانات؟
باستعمال وسيط تجميع اتصالات أو قواعد مصممة للاتصال عبر واجهة برمجية. والاتصال المباشر من آلاف النسخ المتزامنة يستنزف حد الاتصالات بسرعة.
هل نرتبط بمزود واحد؟
الارتباط أعلى من الحاويات لأن تفاصيل التشغيل تختلف بين المزودين. ويخفف بعزل منطق العمل في وحدات مستقلة عن غلاف الوظيفة، فينقل ما يهم بجهد معقول.
- بلا خوادم
- serverless
- الوظائف السحابية
- التوسع التلقائي
- تكلفة التشغيل
- البنية الحديثة
- الأحمال المتقطعة
- السحابة والبيانات