ما المقصود بالوظيفة كخدمة (FaaS)؟

10 يوليو 2021

ما هي الوظيفة كخدمة (Faas)؟

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

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

منظر جوي للطرق السريعة

كن مطلعًا على آخر أخبار السحابة


احصل على نشرة Think الإخبارية الأسبوعية للحصول على إرشادات الخبراء حول تحسين الإعدادات متعددة السحابة في عصر الذكاء الاصطناعي.

الوظيفة كخدمة (FaaS) مقابل الحوسبة بدون خادم

غالبا ما يتم الخلط بين الوظيفة كخدمة (FaaS) والحوسبة بدون خادم ولكن الحقيقة هي أن FaaS هي في الواقع مجموعة فرعية من الحوسبة بدون خادم.

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

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

أكاديمية الذكاء الاصطناعي

تحقيق جاهزية الذكاء الاصطناعي باستخدام التنقية السحابية الهجينة

وقد صُمِّم المنهج، الذي يقوده كبار قادة الفكر لدى IBM، لمساعدة قادة الأعمال على اكتساب المعرفة اللازمة لتحديد أولويات استثمارات الذكاء الاصطناعي التي يمكن أن تدفع عجلة النمو.

فوائد الوظيفة كخدمة (FaaS)

الوظيفة كخدمة (FaaS) هي أداة قيّمة لترحيل التطبيقات بكفاءة وفعالية من حيث التكلفة إلى السحابة. وفيما يلي بعض الفوائد الإضافية:

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

  • الدفع فقط مقابل الموارد التي تستخدمها، عندما تستخدمها: مع FaaS، أنت تدفع فقط عند حدوث إجراء ما. عند الانتهاء من الإجراء، يتوقف كل شيء—لا يتم تشغيل التعليمات البرمجية، ولا يوجد خادم خاملاً، ولا يتم تكبد أي تكاليف. لذلك ، يُعد نظام FaaS فعالاً من حيث التكلفة، خاصةً بالنسبة لأعباء العمل الديناميكية أو المهام المجدولة. توفر FaaS أيضًا تكلفة إجمالية للملكية متفوقة في سيناريوهات الأحمال العالية.

  • التوسيع أو التقليص تلقائياً: باستخدام FaaS، يتم توسيع نطاق الوظائف تلقائياً وبشكل مستقل وفوري حسب الحاجة. عندما ينخفض الطلب، يتم تقليص FaaS تلقائيًا.

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

مبادئ الوظيفة كخدمة (FaaS) وأفضل الممارسات

هناك العديد من أفضل الممارسات التي يمكنك اتباعها لجعل استخدام FaaS أسهل في النشر وأكثر فعالية:

  • اجعل كل وظيفة تؤدي عملاً واحدًا فقط: يجب تصميم وظائف الوظيفة كخدمة (FaaS) للقيام بعمل واحد فقط استجابةً لحدث ما. اجعل نطاق تعليماتك البرمجية محدودًا وفعالًا وخفيف الوزن بحيث يتم تحميل الوظائف وتشغيلها بسرعة.

  • لا تجعل الوظائف تستدعي وظائف أخرى: تكمن قيمة FaaS في عزل الوظائف. تؤدي الوظائف العديدة إلى زيادة تكاليفك وإزالة قيمة عزل وظائفك.

  • استخدم أقل عدد ممكن من المكتبات في وظائفك: يمكن أن يؤدي استخدام الكثير من المكتبات إلى إبطاء الوظائف وجعلها أكثر صعوبة في توسيع النطاق.

حالات استخدام الوظيفة كخدمة (Faas)

ولأنها تتيح إمكانية عزل المعاملات وتوسيع نطاقها بسهولة، فإن الوظيفة كخدمة (Faas) مناسبة لأحمال التشغيل كبيرة الحجم والمتوازية بشكل كبير. يمكن استخدامها أيضًا لإنشاء أنظمة خلفية أو لأنشطة مثل معالجة البيانات أو تحويل التنسيق أو الترميز أو تجميع البيانات.

تعد الوظيفة كخدمة (Faas) أيضًا أداة جيدة لتطبيقات الويب أو الواجهات الخلفية أو معالجة البيانات أو البث، أو لإنشاء روبوت المحادثة عبر الإنترنت أو واجهات خلفية لإنترنت الأشياء (IOT). يمكن أن تساعدك FaaS في إدارة خدمات الجهات الخارجية واستخدامها. إذا كنت تفكر في تطوير تطبيقات Android، على سبيل المثال، يمكنك اعتماد نهج FaaS للحفاظ على تكاليفك تحت السيطرة. نظرًا لأنه يتم تحصيل الرسوم منك فقط عندما يتصل تطبيقك بالسحابة لوظيفة معينة مثل المعالجة المجمعة، فقد تكون التكاليف أقل بكثير مما كانت عليه عند استخدام الطريقة التقليدية.

يمكن للوظيفة كخدمة (Faas) أيضًا تعزيز أداء الحوسبة بشكل كبير. على سبيل المثال، عمل اثنان من الطلاب مؤخرًا مع مهندسي IBM لاستكشاف كيفية استخدام IBM Cloud Functions لمحاكاة مونت كارلو (وهي طرق رياضية تُستخدم لتقدير النتائج المستقبلية لبعض الأحداث التي يصعب التنبؤ بها) لتقدير أسعار الأسهم. محاكاة مونت كارلو تعتبر عبء حوسبة عالي الأداء مهم.

مكّن الجمع بين مونت كارلو و IBM Cloud Functions الفريق من تشغيل العمليات الحسابية على نطاق واسع وسمح لهم بالتركيز على منطق الأعمال. باستخدام FaaS، أكمل الفريق محاكاة مونت كارلو كاملة في حوالي 90 ثانية مع 1000 استدعاء متزامن. مقارنةً، استغرق تشغيل نفس التدفق على جهاز كمبيوتر محمول مزود بأربعة أنوية معالجة مركزية 247 دقيقة مع استغلال شبه كامل لوحدة المعالجة المركزية (حوالي 100%).

الوظيفة كخدمة (Faas) مقابل المنصة كخدمة (PaaS) والحاويات والأجهزة الافتراضية

تلعب الوظيفة كخدمة (Faas) والمنصة كخدمة (PaaS) والحاويات والأجهزة الافتراضية (VMs) دورًا هامًا في النظام البنائي. نظرًا لأن FaaS هي العنصر الأكثر مركزية والأكثر تعريفًا في المجموعة من دون خادم، فمن الجدير بالاستكشاف كيف تختلف FaaS عن نماذج الحوسبة الشائعة الأخرى في السوق اليوم عبر السمات الرئيسية:

  • وقت التزويد: يقاس بالمللي ثانية، مقارنة بالدقائق والساعات للنماذج الأخرى.

  • الإدارة المستمرة: لا يوجد، مقارنة بمقياس متدرج من السهل إلى الصعب بالنسبة للمنصة كخدمة (PaaS) والحاويات والأجهزة الافتراضية.

  • التوسع المرن: يتم توسيع نطاق كل إجراء بشكل فوري وتلقائي، مقارنة بالنماذج الأخرى التي توفر التوسع التلقائي—ولكن بطيئًا— والذي يتطلب ضبطًا دقيقًا لقواعد auto-scaling.

  • تخطيط السعة: لا يوجد ما هو مطلوب، مقارنة بالنماذج الأخرى التي تتطلب مزيجًا من بعض التوسع التلقائي وبعض تخطيط القدرة.

  • استمرار الاتصالات والحالة: يجب الاحتفاظ بالقدرة المحدودة على الاحتفاظ بالاتصالات المستمرة والحالة في خدمة أو مورد خارجي. النماذج الأخرى يمكن أن تستخدم HTTP، وتحتفظ بمقبس أو اتصال مفتوح لفترات طويلة ويمكنها تخزين الحالة في الذاكرة بين الاستدعاءات.

  • الصيانة: يدير موفرو الوظيفة كخدمة (FaaS) جميع عمليات الصيانة. هذا صحيح أيضًا بالنسبة للمنصة كخدمة (PaaS). تتطلب الحاويات والأجهزة الافتراضية صيانة كبيرة تشمل تحديث وإدارة أنظمة التشغيل وصور الحاويات والاتصالات وغيرها.

  • التوفر العالي (HA) التعافي من الكوارث (DR): مرة أخرى، يعد التوفر العالي متأصلاً في نموذج الوظيفة كخدمة (FaaS) دون أي جهد أو تكلفة إضافية. تتطلب النماذج الأخرى مزيدًا من التكلفة والجهد الإداري. في حالة كل من الأجهزة الافتراضية والحاويات، يمكن إعادة تشغيل البنية التحتية تلقائيًا.

  • استخدام الموارد: الموارد ليست خاملة—يتم استدعاؤها فقط عند الطلب. تتميز كل النماذج الأخرى بدرجة ما على الأقل من السعة غير المستغلة.

  • حدود الموارد: FaaS هو النموذج الوحيد الذي لديه حدود موارد لحجم الكود، والتنشيطات المتزامنة، والذاكرة، وطول التشغيل والمزيد.

  • دقة الشحن والفوترة: لكل كتلة من 100 مللي ثانية، مقارنة بالساعة (وأحيانًا بالدقيقة) في النماذج الأخرى.

Kubernetes / Knative و FaaS

إن Kubernetes و Knative هما أحد تطبيقات "السباكة" وراء FaaS. Kubernetes هي أداة مصدر مفتوح لتنظيم الحاويات وهي ضرورية لإدارة تطبيقات السحابة. يتيح لك Knative التشغيل بدون خادم داخل مجموعة Kubernetes.

إن الجمع بين Knative و Kubernetes يعني أنه يمكنك الاستفادة من وظائف Kubernetes مثل المراقبة والأمان والتسجيل والمصادقة ودمجها مع فوائد Knative مثل الاستفادة من بناء الحاويات التلقائي والقدرة على النقل الكامل والعمل عبر بيئات هجينة.

يعتقد مبتكرو هذه التقنية أنه لا ينبغي أن يضطر المطورون للاختيار بين الخوادم والحاويات عند إنشاء تطبيقات السحابة. كان الهدف هو زيادة توافر واتساق الحاويات م خلال التوسع القوي والوصول عند الطلب بدون خادم.

حلول ذات صلة
IBM Cloud Virtual Server for VPC

IBM Cloud Virtual Server for VPC هي مجموعة من الخوادم الافتراضية Intel x86 وIBM Z وIBM LinuxONE القائمة على السحابة الخاصة الافتراضية IBM Cloud Virtual Private Cloud.

استكشِف Cloud Virtual Server
استضافة السحابة على الويب 

توفر خوادم IBM السحابية المخصصة حلاً لاستضافة الويب قابل للتوسع مع حركة مرور للبيانات غير محدودة بدون تكلفة وخيارات تخصيص واسعة النطاق.

استكشف حلول استضافة الويب
خدمات الاستشارات السحابية 

أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال إستراتيجيات السحابة الهجينة والشراكات مع الخبراء.

الخدمات السحابية
اتخِذ الخطوة التالية

عزز وجودك على الإنترنت باستخدام حلول استضافة الويب الموثوقة والآمنة المتوفرة على سحابة IBM Cloud. بدءًا من مواقع الويب كثيرة الزيارات وحتى تطبيقات المؤسسات، توفر خوادم IBM Cloud Bare Metal Servers المرونة وإمكانية نقل كميات بيانات غير محدودة وزيادة الانتشار العالمي المصمم خصوصًا لتلبية احتياجات الاستضافة لديك.

استكشف حلول استضافة الويب على IBM Cloud إنشاء حسابك المجاني على IBM Cloud