Fargate وLambda: كل ما تحتاج إلى معرفته عن Serverless في AWS
دليل مبسّط لفهم مفهوم Serverless والفرق بين Fargate وLambda في هذا السياق.
هل Fargate وLambda من خدمات Serverless؟
نعم، كلتاهما خدمتان من نوع Serverless.
لكن… لا تعنيان الشيء نفسه، ولا تُستخدمان للاحتياجات نفسها.
1. تعريف “Serverless” (بعبارات عربية بسيطة):
Serverless = لا تحتاج إلى إدارة أي خادم.
أنت لا تُهيّئ جهازًا، ولا نظام تشغيل، ولا تقوم بأي تحديثات. تركّز فقط على الكود أو الحاوية الخاصة بك، وتتولى AWS كل ما عدا ذلك.
مقارنة بين الخدمتين من حيث نموذج Serverless:
| AWS Lambda | AWS Fargate | |
|---|---|---|
| هل هي Serverless؟ | نعم | نعم |
| هل تدير خادمًا؟ | لا | لا |
| ماذا تنشر؟ | دالة (Function) | حاوية Docker |
| توسّع تلقائي؟ | نعم | نعم |
| الدفع حسب الاستخدام؟ | نعم (حسب عدد الاستدعاءات والمدة) | نعم (حسب ثواني أو دقائق التشغيل) |
| مدة التنفيذ | قصيرة (حتى 15 دقيقة كحد أقصى) | طويلة (ساعات، أيام…) |
| هل تُشغَّل بحدث؟ | نعم (مثل: S3، API Gateway…) | لا (هي تطبيق يعمل أو ينتظر الطلبات) |
| مثالية لـ | الدوال الصغيرة والأتمتة | تطبيقات الويب/واجهات API المُحوَّلة إلى حاويات |
مستوى الشمولية (أيهما الأكثر “اكتمالًا”؟)
إذا أردت أن تعرف أيهما يتيح لك القيام بمهام أكثر:
- Fargate هو الأكثر شمولية لأنه يتيح لك تشغيل أي نوع من التطبيقات، كما لو كان لديك خادم تقليدي (لكن دون الاهتمام به).
- Lambda أكثر محدودية لكنه بسيط للغاية لتنفيذ مهام محددة.
ملخص واضح:
| إذا كنت تريد… | استخدم… |
|---|---|
| تنفيذ دالة عند وقوع حدث معيّن (إرسال بريد إلكتروني، معالجة صورة) | Lambda |
| نشر واجهة API كاملة، أو Backend بلغة Node أو Python وغيرها داخل حاوية | Fargate |
أمثلة عملية
مع Lambda (دوال Serverless)
- إرسال بريد إلكتروني عند تقديم نموذج
- معالجة صورة عند رفعها
- حفظ البيانات عند تغيّر ملف
مع Fargate (حاويات Serverless)
- موقع ويب كامل مع قاعدة بيانات
- واجهة API خلفية (Backend) تعمل على مدار الساعة طوال أيام الأسبوع
- خدمة معالجة بيانات مستمرة
مزايا Serverless
1. لا حاجة إلى إدارة البنية التحتية
- لا خوادم لتهيئتها
- لا تحديثات للنظام
- لا صيانة للخوادم
2. تكاليف مُحسَّنة
- الدفع فقط عند الاستخدام
- لا تكاليف ثابتة
- توسّع تلقائي
3. التركيز على الكود
- تطوير أسرع
- تعقيد تقني أقل
- وقت أكبر لتطوير الميزات
أفضل الممارسات
مع Lambda
- إبقاء الدوال قصيرة
- تحسين زمن التنفيذ
- معالجة الأخطاء بشكل سليم
مع Fargate
- تحسين حجم الحاويات
- إعداد التوسّع التلقائي (auto-scaling)
- مراقبة التكاليف
الخلاصة
يتيح لك Serverless، سواء مع Lambda أو Fargate، التركيز على الكود بدلًا من البنية التحتية. ويعتمد الاختيار بينهما على احتياجاتك:
- دوال قصيرة قائمة على الأحداث؟ ← Lambda
- تطبيق كامل يعمل باستمرار؟ ← Fargate
موارد إضافية
نبذة عن InSkillCoach
خبير في التدريب والتقنيات
مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.
الشهادات:
- AWS Certified Solutions Architect – Professional
- شهادات Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش