تمثل الوظيفة كخدمة (FaaS) فئة من خدمات الحوسبة السحابية التي توفر منصة تسمح للعملاء بتطوير وظائف التطبيق وتشغيلها وإدارتها دون تعقيد بناء وصيانة البنية التحتية المرتبطة عادةً بتطوير التطبيق وإطلاقه. يرتبط هذا النمط المعماري عادةً بالحوسبة بدون خادم، حيث يمكن للمطورين التركيز على كتابة التعليمات البرمجية للتطبيقات الخاصة بهم، ويقوم موفر السحابة بإدارة بيئة التنفيذ.
تتبع تاريخ وأصول الوظيفة كخدمة (FaaS)
يرتبط ظهور الوظيفة كخدمة (FaaS) بقوة بتطور الحوسبة السحابية. أدت ولادة الحوسبة السحابية في أوائل العقد الأول من القرن الحادي والعشرين إلى تسليط الضوء على البنية التحتية كخدمة (IaaS) والمنصة كخدمة (PaaS). ومع ذلك، لا يزال المطورون بحاجة إلى إدارة الخوادم في كلا النموذجين، وإن كان ذلك بشكل أقل مع PaaS.
جاء الاختراق في عام 2014 عندما قدمت Amazon Web Services (AWS) AWS Lambda كأول منصة FaaS. لقد ألغى حاجة المطورين للقلق بشأن الخوادم تمامًا. سمحت Lambda للمطورين بتشغيل التعليمات البرمجية الخاصة بهم استجابة لأحداث مثل التغييرات في البيانات في حاوية Amazon S3 أو التحديثات في جدول Amazon DynamoDB. كان هذا بمثابة تغيير ثوري في طريقة إنشاء التطبيقات وتسليمها.
الغوص بشكل أعمق في الوظيفة كخدمة (FaaS)
FaaS هي طريقة بدون خادم لتنفيذ أجزاء معيارية من التعليمات البرمجية على الحافة. بدلاً من نشر تطبيق أو خدمة بأكملها، يمكن للمطورين تنفيذ أجزاء صغيرة من الوظائف التي تؤدي مهمة واحدة محددة. هذه الوظائف "عديمة الحالة" لأنها مصممة لتكون قصيرة العمر ويتم تنفيذها في بيئة عديمة الحالة. يقوم موفر السحابة تلقائيًا بإدارة الموارد التي يحتاجها للتشغيل والتوسع.
يتم تشغيل الوظائف بواسطة أحداث مثل طلبات HTTP وعمليات قاعدة البيانات وقوائم الانتظار والتخزين وما إلى ذلك. يقوم الموفر بتنفيذ الوظيفة وإرجاع النتيجة عند اكتمالها بنجاح. من الخصائص الرئيسية لـ FaaS أنك تدفع فقط مقابل وقت المعالجة الفعلي للوظيفة وليس البنية التحتية الأساسية.
كشف الهيكل الداخلي وآلية العمل لـ FaaS
في نموذج FaaS، ينقسم منطق التطبيق إلى وظائف منفصلة. تتم إدارتها بواسطة منصة أساسية وعادة ما تكون عديمة الجنسية. عند تلقي حدث ما، يقوم النظام الأساسي بتدوير الموارد بسرعة لتشغيل الوظيفة، ومعالجة الحدث، ثم إيقاف تشغيل الموارد عند انتهاء المعالجة.
- مشغل الحدث: حدث مثل طلب HTTP أو تحميل ملف أو عملية قاعدة بيانات يؤدي إلى تشغيل الوظيفة.
- تهيئة الوظيفة: يقوم موفر السحابة بإعداد الوظيفة للتنفيذ. قد يتضمن ذلك بدء حاوية وتحميل رمز الوظيفة فيها.
- تنفيذ: يتم تشغيل الوظيفة مع بيانات الحدث المقدمة.
- إجابة: تقوم الوظيفة بمعالجة بيانات الحدث وإرجاع النتيجة. وقد يتفاعل أيضًا مع خدمات أو قواعد بيانات أخرى كجزء من هذه المعالجة.
- اغلق: بمجرد الانتهاء من تشغيل الوظيفة، سيقوم موفر السحابة بإيقاف تشغيل الموارد المستخدمة لتشغيل الوظيفة.
الميزات الرئيسية للوظيفة كخدمة (FaaS)
- الحدث مدفوعة: يتم تنفيذ الوظائف استجابة للأحداث أو المشغلات.
- عديمي الجنسية: لا تحتفظ الوظائف بالمعلومات بين عمليات التنفيذ.
- القابلة للتطوير: يقوم موفر السحابة تلقائيًا بإدارة قياس الوظيفة.
- قصير الأمد: من المتوقع أن تبدأ الوظائف بسرعة، وتعمل لفترة قصيرة، ثم تتوقف.
- تدفع عن كل استخدام: يعتمد التسعير على وقت الحوسبة الفعلي الذي تستخدمه الوظيفة.
أنواع مختلفة من الوظائف كخدمة (FaaS)
في حين أن المفهوم الأساسي لـ FaaS يظل كما هو، فإن موفري الخدمات السحابية المختلفين يقدمون منتجات FaaS مختلفة قليلاً. بعض من الأكثر شعبية تشمل:
مزود | منتج فاس |
---|---|
أوس | لامدا |
جوجل كلاود | وظائف السحابة |
مايكروسوفت أزور | وظائف أزور |
آي بي إم | وظائف السحابة |
وحي | مشروع الجبهة الوطنية |
طرق استخدام الوظيفة كخدمة (FaaS) والمشكلات والحلول
تعتبر FaaS مفيدة بشكل خاص للتطبيقات التي تحتاج إلى الاستجابة للمعلومات في الوقت الفعلي أو الطلبات المتفرقة. على سبيل المثال، يمكن استخدامه لمعالجة الملفات في الوقت الفعلي، أو تحويل البيانات، أو معالجة دفق الأحداث. ومع ذلك، هناك تحديات محتملة تتعلق بالحدود الزمنية للتنفيذ، وإدارة الحالة، والاختبار، وتصحيح الأخطاء. تتضمن الحلول تصميمًا دقيقًا لرمز الوظيفة للالتزام بالحدود الزمنية للتنفيذ واستخدام الخدمات السحابية الإضافية لإدارة الحالة.
المقارنة مع المفاهيم المماثلة
مفهوم | وصف |
---|---|
فاس | يوفر المطورون رمز الوظيفة. تتعامل المنصة تلقائيًا مع جميع البنية التحتية. |
IaaS | يقوم المطورون بإدارة التطبيقات والبيانات ووقت التشغيل والبرامج الوسيطة. يتعامل الموفر مع المحاكاة الافتراضية والخوادم والتخزين والشبكات. |
أجزاء من الخدمة | يقوم المطورون بإدارة التطبيقات والبيانات. يتعامل الموفر مع وقت التشغيل والبرامج الوسيطة ونظام التشغيل والمحاكاة الافتراضية والخوادم والتخزين والشبكات. |
وجهات نظر وتقنيات المستقبل المتعلقة بـ FaaS
من المرجح أن تستمر FaaS في التطور مع النظام البيئي الأوسع بدون خادم. يمكن أن يؤدي التقدم في حوسبة الحافة إلى زيادة انتشار FaaS على حافة الشبكة، بالقرب من مصادر البيانات. علاوة على ذلك، قد نرى المزيد من البيئات الهجينة التي لا تحتوي على خادم حيث يتم استخدام FaaS جنبًا إلى جنب مع نماذج حسابية أخرى لأجزاء مختلفة من التطبيق.
دور الخوادم الوكيلة في العمل كخدمة (FaaS)
يمكن أن تلعب الخوادم الوكيلة دورًا في FaaS من خلال العمل كوسيط للطلبات المقدمة من العملاء الذين يبحثون عن موارد من خوادم أخرى. يمكنهم تحسين الأداء وتوفير الأمان والحفاظ على عدم الكشف عن هويتهم. في سياق FaaS، يمكن استخدام الخادم الوكيل للتعامل مع الطلبات التي تؤدي إلى وظائف، مما يوفر إمكانات تحكم وتسجيل وتعديل إضافية.