الوظيفة كخدمة (FaaS): كل ما تحتاج إلى معرفته

نشرت: 2022-06-09

من المحتمل أنك سمعت عن SaaS ، وربما سمعت عن PaaS و IaaS ، لكن هل سمعت عن الوظيفة كخدمة (FaaS)؟

ينمو سوق FaaS بسرعة. وفقًا لأبحاث السوق المتحالفة ، بلغت قيمة السوق 3.01 مليار دولار في عام 2018. ومن المتوقع أن ينمو هذا الرقم إلى 24 مليار دولار بحلول عام 2026 - مما يعني أن الصناعة ستنمو بمعدل نمو سنوي مركب (CAGR) يبلغ 29.7٪ من 2020 إلى 2026.

بالنظر إلى هذا النمو ، من الآمن القول أن FaaS هي صفقة كبيرة جدًا.

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

لنذهب.

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

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

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

صورة توضح كيفية عمل الحوسبة بدون خادم
كيف تعمل الحوسبة بدون خادم ( المصدر: iviewlabs)

على الرغم من أن هذه قد تكون المرة الأولى التي تقرأ فيها عن FaaS ، فمن المحتمل أنك واجهتها في البرية. تستخدم العديد من البرامج والتطبيقات الشائعة FaaS - مثل Alexa من Amazon.

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

تدير أمازون جميع مهارات Alexa من خلال AWS Lambda. عندما تقوم ببناء مهارة جديدة ، فإنك تنشئها كوظيفة تقوم بنشرها من خلال AWS Lambda. تقوم AWS Lambda بعد ذلك بتشغيل الوظيفة نيابة عنك وتعالج مخاوف البنية التحتية مثل الأمان وإدارة قواعد البيانات.

إذن ، كيف تعمل خدمة FaaS خطوة بخطوة؟ دعونا نغطي ذلك بعد ذلك.

ما هو FaaS؟ يفصل هذا الدليل كل ما تحتاج إلى معرفته انقر للتغريد

كيف تعمل خدمة FaaS؟

لفهم FaaS ، تحتاج إلى معرفة مصطلحين رئيسيين:

  1. "بنية متجانسة" = تطبيق قائم بذاته يعمل بشكل مستقل عن التطبيقات الأخرى. تدير هذه التطبيقات واجهة المستخدم ووظائف الأعمال وواجهة البيانات داخل الشركة. يعتمد كود العمارة المتجانسة على أجزاء أخرى من الكود.
  2. "بنية الخدمات المصغرة" = جزء من التعليمات البرمجية التي تتعامل مع بعض المهام الصغيرة. هذه الخدمات المصغرة منفصلة (على الرغم من أنها تشكل تطبيقًا كاملاً معًا).

فيما يلي رسم تخطيطي يوضح كيف تختلف الهندسة المعمارية المتجانسة وبنية الخدمات المصغرة:

الهندسة المعمارية المتجانسة مقابل هندسة الخدمات المصغرة
الهندسة المعمارية المتجانسة مقابل بنية الخدمات المصغرة ( المصدر: BMC)

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

FaaS هو الشيء الذي يساعد في عمل معماريات الخدمات المصغرة.

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

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

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

إذن ، ما الذي يمكن أن تفعله FaaS أيضًا؟

ما هي الخدمات التي تشملها FaaS؟

على الرغم من اختلاف جميع مقدمي الخدمة ، فإن موفري خدمة FaaS يقدمون بشكل عام هذه الخدمات:

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

بشكل عام ، تساعد هذه الخدمات المطورين على العمل بشكل أكثر ذكاءً. دعونا نغطي إيجابيات FaaS بعد ذلك.

إيجابيات نموذج FaaS

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

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

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

بالإضافة إلى ذلك ، لا داعي للقلق بشأن الصيانة أو التعافي من الكوارث (DR) أو الأمان.

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

إذن ، هل FaaS جميع المحترفين؟ ليس تماما.

سلبيات نموذج FaaS

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

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

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

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

إيجابيات مقابل سلبيات

الايجابيات سلبيات
نشر التعليمات البرمجية بشكل أسرع

التوفير يستغرق مللي ثانية

كود بأي لغة

التعافي الآلي من الكوارث (DR)

فعالة من حيث التكلفة

القابلة للتطوير

تفقد السيطرة على الخادم

التصحيح أصعب

يستغرق الاختبار وقتًا أطول

أنت مغلق أمام البائع الخاص بك

يجب عليك كتابة رمز مناسب FaaS

FaaS مقابل SaaS و PaaS و IaaS

الآن بعد أن عرفت المزيد عن FaaS ، قد تتساءل عن مدى ارتباطها بخيارات أي شيء كخدمة (XaaS) مثل IaaS و SaaS و PaaS.

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

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

يسمح لك النظام الأساسي كخدمة (PaaS) باستئجار أدوات الأجهزة والبرامج لبناء تطبيقك. مثال شائع هو AWS Elastic Beanstalk.

بخلاف IaaS و PaaS ، يسمح لك FaaS باستئجار مساحة لتشغيل الوظائف بشكل مستقل. هذه الميزة تجعلها أكثر قابلية للتوسع.

فيما يلي ملخص قصير لكيفية عمل الثلاثة بشكل مختلف:

صورة توضح كيفية اختلاف FaaS عن IaaS و PaaS
كيف تختلف FaaS عن IaaS و PaaS ( المصدر: thenewstack.io)

البرامج كخدمة (SaaS) ليست موجهة نحو إنشاء التطبيقات أو البرامج. بدلاً من ذلك ، يسمح لك باستئجار التطبيقات بحيث لا تحتاج إلى بنائها داخليًا. هناك الآلاف من خيارات SaaS المتاحة - من أدوات تحليل البيانات إلى إضافات WordPress SEO.

حجم السوق والحصة والموردين الرائدين

يعكس نمو FaaS تحولاً شاملاً في الطريقة التي تطور بها المنظمات برامج جديدة.

في العقود السابقة ، أنشأ المطورون أنظمة كبيرة كمشاريع متعددة السنوات. اليوم ، تفضل العديد من المنظمات نهج عمليات التنمية (DevOps) للتنمية. تعطي DevOps الأولوية لتطوير البرامج وتحسينها بشكل مستمر شيئًا فشيئًا.

صورة توضح كيفية عمل DevOps
كيف تعمل DevOps ( المصدر: Atlassian)

وبالمثل ، تستخدم المؤسسات بشكل متزايد الخدمات السحابية لجعل الأمور أكثر أمانًا وفعالية. وفقًا لـ Oracle ، ستخزن المؤسسات قريبًا بيانات أكثر حساسية 600 مرة في السحابة.

يمكنك أن ترى هذا الاتجاه في البيانات التي تم جمعها من 7164 من المديرين التنفيذيين في C Suite من Statista. من عام 2019 إلى عام 2021 ، انخفض استخدام خدمة سحابية عامة أو خاصة واحدة ، واعتمدت معظم المؤسسات حلولًا سحابية متعددة.

رسم تخطيطي يوضح استخدام تقنية السحابة
استخدام التكنولوجيا السحابية ( المصدر: Statista)

الاستثمارات في الحوسبة السحابية آخذة في النمو أيضًا. أظهرت دراسة أخرى من Statista على مئات الشركات الكبيرة في جميع أنحاء العالم أن 83٪ من الشركات التي شملها الاستطلاع استثمرت أكثر من 1.2 مليون دولار في الحوسبة السحابية العامة سنويًا. هذا الرقم أعلى من 50٪ في عام 2019.

يلجأ الناس إلى FaaS لأنه قابل للتطوير وقابل للتطوير في المستقبل. وبالمثل ، فإنه يوفر إنتاجية وأداء أفضل ، ووقتًا أسرع للتطبيقات في السوق ، وطريقة أكثر فعالية من حيث التكلفة لإنتاج برامج جديدة.

تجذب هذه المزايا العديد من الصناعات ، بما في ذلك المؤسسات العاملة في البنوك (أو مؤسسات "BFSI") ، والسلع الاستهلاكية والتجزئة ، والترفيه ، والاتصالات ، والخدمات التي تدعم المعلومات والتكنولوجيا (ITES) ، والرعاية الصحية ، والتصنيع. إليك مقدار مساهمة كل صناعة في سوق FaaS:

صورة توضح الصناعات التي تستخدم Faas
ما هي الصناعات التي تستخدم FaaS ( المصدر: MarketsandMarkets)

على عكس SaaS ، لا يوجد الآلاف من بائعي FaaS للمؤسسات للاختيار من بينها. تستخدم الغالبية العظمى من FaaS الحلول التي يقدمها اللاعبون الرئيسيون ، بما في ذلك AWS Lambda و Azure Functions و IBM Cloud Functions و Google Cloud Functions و Alibaba Cloud و Cloudflare Workers.

سنغطي كل من هؤلاء المزودين الآن.

AWS Lambda

تم إطلاق AWS Lambda بواسطة Amazon في نوفمبر 2014 ، وهي أداة FaaS شائعة للغاية. اعتبارًا من الربع الرابع من عام 2021 ، استخدم 33٪ من مستخدمي السحابة خدمة AWS.

صفحة AWS Lambda الرئيسية
AWS Lambda

تقدم AWS Lambda دعمًا أصليًا للعديد من لغات البرمجة ، بما في ذلك Node.js و C # و Python و Ruby و Go و Java و Powershell. كما ذكرنا في "ما هي الوظيفة كخدمة (FaaS)؟" تستخدم Alexa AWS Lambda للحصول على المهارات.

الخصائص والوظائف:

  • يتصل بأدوات AWS الأخرى
  • يراقب أداء برنامجك باستخدام Amazon CloudWatch
  • أكثر من 200 تكامل مع أدوات SaaS
  • يمكنك نشر حاويات Docker (قدمت AWS هذه الميزة في ديسمبر 2020)

الايجابيات:

  • يمكنك إنشاء الواجهة الخلفية الخاصة بك باستخدام Lambda API أو بوابة Amazon API
  • يمكنك نشر الوظائف كصور حاوية
  • يمكنك الاتصال بقواعد البيانات العلائقية باستخدام Amazon RDS Proxy
  • يمكنك اختيار مقدار الذاكرة المراد تخصيصها لكل وظيفة

سلبيات:

  • إذا لم تكن تستخدم AWS بالفعل ، فسيستغرق إعداده الكثير من الوقت والجهد

وظائف Microsoft Azure

وظائف Microsoft Azure هي إحدى إمكانيات Microsoft Azure ، التي أطلقتها Microsoft لأول مرة باسم "Windows Azure" في فبراير 2010. تسمح لك وظائف Azure بتنفيذ التعليمات البرمجية المستندة إلى الأحداث عبر FaaS. اعتبارًا من الربع الرابع من عام 2021 ، استخدم 21٪ من مستخدمي السحابة Azure.

الصفحة الرئيسية لـ Microsoft Azure Functions
وظائف Microsoft Azure

الخصائص والوظائف:

  • يمكنك توصيل وظائفك بأكثر من 250 موصلًا في تطبيقات Azure Logic
  • يدعم JavaScript و C # و F # و Powershell و PHP و Python و Java
  • يوفر العديد من البرامج التعليمية للمستخدمين الجدد
  • يساعدك على تحليل برنامجك من خلال Azure Application Insights

الايجابيات:

  • تستخدم وظائف Azure نموذج برمجة متكامل
  • مناسب تمامًا للفرق التي تستخدم DevOps
  • خطط متعددة متاحة

سلبيات:

  • لا تدعم وظائف Azure Node.js أو Ruby

وظائف جوجل كلاود

Google Cloud هو الحل الثالث الأكثر شيوعًا للحوسبة السحابية بعد AWS و Azure. لديها حاليا حصة سوقية تبلغ 10٪. وظائف Google Cloud هي ميزة FaaS في Google Cloud - وهي خدمة تقدم أكثر من 100 منتج لمجموعة واسعة من الاستخدامات.

وظائف جوجل كلاود
جوجل كلاود

الخصائص والوظائف:

  • تم دمج التصحيح والتسجيل في وظائف Google Cloud (عبر CloudTrace و CloudDebugger)
  • أنت تستخدم مشغلات من مساعد Google أو Google Cloud أو Firebase أو أي تطبيق يستخدم HTTP
  • تتكامل وظائف Google Cloud مع العديد من شركاء Google

الايجابيات:

  • يمكن لأولئك الذين يريدون إمكانات متعددة السحابة أو مختلطة استخدامها
  • إنه مفتوح المصدر ، لذا يمكنك الانتقال بسهولة إلى منصة FaaS أخرى إذا كنت تفضل ذلك
  • انه سهل الاستخدام
  • توفر Google العديد من الموارد المجانية للمستخدمين الجدد

سلبيات:

  • تعد الخدمات المستندة إلى حاوية Google Cloud Function أقل تقدمًا من موفري خدمة FaaS الآخرين

آي بي إم كلاود

جاءت IBM Cloud من SoftLayer ، وهي منصة سحابية عامة اشترتها شركة IBM في يونيو 2013. وحولت IBM المنصة إلى Bluemix وأطلقتها كأداة PaaS في يوليو 2014. ومنذ ذلك الحين ، أعادت شركة IBM تسمية الخدمة باسم IBM Cloud ووسعت ميزاتها إلى FaaS.

هل تعاني من مشاكل التوقف و WordPress؟ Kinsta هو حل الاستضافة المصمم لتوفير الوقت! تحقق من ميزاتنا
صفحة IBM Cloud الرئيسية
آي بي إم كلاود

اعتبارًا من الربع الرابع من عام 2021 ، استخدم 4٪ من مستخدمي السحابة IBM Cloud. يتم تشغيله على نظام Apache OpenWhisk البيئي.

الخصائص والوظائف:

  • يمكنك البحث عن محتوى الفيديو
  • يمكنك توصيل برنامجك ببرامج أخرى من خلال IBM Watson APIs
  • تقدم شركة IBM وظائف مسبقة الصنع لبعض المهام الشائعة
  • يدعم Node.js و Python و Swift و PHP و Go و Ruby و Java و .NET Core

الايجابيات:

  • عظيم لبناء تطبيقات الهاتف المحمول
  • سهل التعلم للاستخدام
  • يراقب تطبيقك من خلال IBM Cloud Monitoring

سلبيات:

  • تحدد وقت ذاكرة وظيفتك بعشر دقائق أو 2048 ميجابايت

سحابة علي بابا

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

صفحة Alibaba Cloud الرئيسية
سحابة علي بابا

FaaS هو أحد عروض Alibaba Cloud ، جنبًا إلى جنب مع شبكة توصيل المحتوى (CDN) ، وتخزين البيانات ، ومعالجة البيانات الضخمة.

الخصائص والوظائف:

  • يتكامل مع خدمات الحوسبة الأخرى علي بابا
  • دليل على الكوارث ، حيث يعمل مضيفو علي بابا على مجموعات في مناطق متعددة
  • تحويل ترميز الفيديو
  • منطق الذكاء الاصطناعي
  • يدعم Node.js و Python و Java و PHP و C #

الايجابيات:

  • يوفر خيارًا مجانيًا لأولئك الذين لا يحتاجون إلى تشغيل الكثير من التعليمات البرمجية
  • قابلة للتطوير بدرجة كبيرة
  • يمكنك استخدام أنواع عديدة من المشغلات

سلبيات:

  • قد يكون من الصعب نقل الوظائف من Alibaba إلى مزود خدمة FaaS آخر

عمال Cloudflare

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

الصفحة الرئيسية لعمال Cloudflare
عمال Cloudflare

الخصائص والوظائف:

  • يدعم JavaScript و C ++ و Rust و C
  • يمكنك تخزين الصور وملفات PDF والملفات الأخرى على Cloudflare Workers لنشرها كأصول ثابتة
  • إثبات الكوارث ، حيث يستخدم عمال Cloudflare شبكة عالمية من الخوادم
  • يتكامل مع منتجات Cloudflare الأخرى

الايجابيات:

  • إنه أرخص من العديد من خيارات FaaS الأخرى
  • من السهل على المطورين الجدد تعلم كيفية الاستخدام
  • يمكنك البدء بسرعة كبيرة
  • تقدم Cloudflare دروسًا تفصيلية وموارد يمكن أن تساعدك في بناء تطبيقك

سلبيات:

  • يعتبر عمال Cloudflare أقل قوة من الخيارات الأخرى وأكثر ملاءمة لمن لديهم مشاريع صغيرة الحجم

أفضل ممارسات Faas

نعم ، FaaS هي تقنية ، لكنها أيضًا طريقة تفكير يحتاج مطورو البرامج إلى اعتمادها في تطوير البرامج والتطبيقات.

لتحقيق أقصى استفادة من FaaS ، اتبع أفضل الممارسات التالية:

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

هل تحتاج FaaS؟

FaaS هي تقنية مبتكرة وتغير قواعد اللعبة بالنسبة للبعض ، ولكنها لن تعمل مع الجميع.

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

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

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

بدلاً من ذلك ، إذا لم تكن بحاجة إلى إنشاء برنامج يقوم بشيء متخصص أو متخصص للغاية ، ففكر في الاستثمار في أداة SaaS. حتى أن بعض أدوات SaaS مفتوحة المصدر ، لذا قد تتمكن من تكييف أداة موجودة لتناسب احتياجاتك.

من المتوقع أن ينمو سوق FaaS إلى 24 مليار دولار بحلول عام 2026 ... لذلك لم يكن هناك وقت أفضل للتعرف على هذا السوق انقر للتغريد

ملخص

FaaS ليس قابلاً للتكنولوجيا أو اتجاهًا جديدًا. إنها تقنية قابلة للتطوير يجب أن تتوقع رؤية المزيد منها في العقد القادم.

قد يبدو شرح FaaS أمرًا صعبًا في بعض الأحيان ، ولكن FaaS هي مجرد خدمة تتيح للمطورين كتابة التعليمات البرمجية وتشغيلها باستخدام البنية التحتية التي يحتفظ بها شخص آخر. تستخدم العديد من الخدمات التي تستخدمها بانتظام ، مثل Alexa ، خدمة FaaS. تشمل موردي خدمة FaaS الشائعة وظائف سحابة IBM و AWS Lambda و Alibaba Cloud و Google Cloud Functions و Microsoft Azure Functions.

في حين أن FaaS فعالة للغاية بالنسبة لبعض الشركات ، فإنها لن تناسب الجميع. تعمل خدمة FaaS بشكل أفضل مع تشغيل التعليمات البرمجية المعزولة عديمة الحالة والتي تؤدي وظيفة واحدة.

نود تحويل الميكروفون (أو لوحة المفاتيح) إليك. كيف تستخدم FaaS في عملك ، وهل لديك أي نصيحة للآخرين الذين يستكشفون التكنولوجيا لأول مرة؟ من فضلك قل لنا في التعليقات أدناه.