تحديد ما إذا كانت الحوسبة بدون خادم مناسبة لاحتياجات عملك

مكتمل

للمساعدة في تحديد ما إذا كانت الحوسبة بدون خادم مناسبة لك، دعنا أولاً نتعرف على كل ما هو بدون خادم.

ما هي الحوسبة بدون خادم؟

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

ما هو "Azure Functions"؟

Azure Functions هو نظام أساسي لتطبيق بلا خادم. فهو يسمح للمطورين باستضافة منطق تسلسل العمل الذي يمكن تنفيذه دون توفير بنية أساسية. توفر Azure Functions قابلية توسع جوهرية ويتم تحصيل رسوم منك فقط مقابل الموارد المستخدمة. يمكنك كتابة التعليمات البرمجية للدالة باللغة التي تختارها، بما في ذلك C# وJava وJavaScript وPython وPowerShell. يتم أيضا تضمين دعم مديري الحزم مثل NuGet وnpm، حتى تتمكن من استخدام المكتبات الشائعة في منطق عملك.

فوائد حل الحوسبة بدون خادم

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

يتجنب الإفراط في تخصيص البنية الأساسية

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

منطق عديم الحالة

تُعد الوظائف عديمة الحالة مرشحة رائعة للحوسبة بدون خادم، ويتم إنشاء مثيلات الوظيفة وإتلافها عند الطلب. إذا كانت الحالة مطلوبة، يمكن تخزينها في خدمة تخزين مقترنة.

يستند إلى حدث

تُعد الوظائف مستندة إلى حدث. يتم تشغيلها فقط استجابة لحدث (يسمى "المشغل")، مثل تلقي طلب HTTP أو رسالة تتم إضافتها إلى قائمة انتظار. يمكنك تكوين مشغل كجزء من تعريف الوظيفة. هذا الأسلوب يبسط التعليمات البرمجية الخاصة بك عن طريق السماح لك بتعريف من أين تأتي البيانات (ربط المشغل/الإدخال) وأين تذهب (ربط الإخراج). لا داعي لأن تكتب تعليمات برمجية للاطلاع على قوائم الانتظار، وblobs، وhubs، وغيرهم. يمكنك التركيز فقط على منطق الأعمال.

يمكن استخدام الدوال في بيئات الحوسبة التقليدية

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

عيوب حل الحوسبة بدون خادم

الحوسبة بلا خادم، كما هو مقدم من Azure Functions في خطة الاستهلاك، ليست دائما الحل المناسب لاستضافة منطق عملك. فيما يلي بعض خصائص الوظائف التي قد تؤثر على قرارك باستضافة خدماتك في حوسبة بدون خادم.

وقت التنفيذ

افتراضيًا، تكون للوظائف مهلة مدتها 5 دقائق. هذه المهلة قابلة للتكوين لتصل إلى 10 دقائق كحد أقصى. إذا كانت دالتك تتطلب أكثر من 10 دقائق لتنفيذها، يمكنك استضافتها علي جهاز افتراضي. بالإضافة إلى ذلك، إذا تم بدء خدمتك من خلال طلب HTTP وتتوقع تلك القيمة كاستجابة HTTP، يتم تقييد المهلة إلى 2.5 دقيقة. وأخيراً، هناك أيضاً خيار يسمى Durable Functions يسمح لك بتنسيق عمليات تنفيذ وظائف متعددة دون أي مهلة.

تكرار التنفيذ

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

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