برنامج AWS Lambda التعليمي: دليلك إلى Amazon Serverless Computing



يصف برنامج AWS Lambda التعليمي هذا النظام الأساسي للحوسبة بدون خادم لـ AWS والذي يغطي تفاصيل حول وظيفة Lambda ومصدر الحدث وتسعير Lambda مع حالة الاستخدام.

برنامج AWS Lambda التعليمي

سنتحدث اليوم عن AWS Lambda. AWS Lambda هي خدمة حوسبة تقدمها أمازون. يجب أن تكون فضوليًا نظرًا لوجود العديد من خدمات الحوسبة الأخرى من AWS ، مثل AWS EC2 و AWS Elastic Beanstalk و AWS Opsworks وما إلى ذلك ، فلماذا إذن خدمة حوسبة أخرى؟ في هذا البرنامج التعليمي من AWS Lambda ، سوف تكتشف ما هو AWS Lambda ، ولماذا يتم استخدامه وحالات الاستخدام التي يجب أن تفكر فيها.

دعونا نرى كيف تحدد أمازون AWS Lambda وبعد ذلك سنلقي نظرة عميقة على المفاهيم الأساسية ، وفهم حالة الاستخدام من خلال التدريب العملي في النهاية.





الحوسبة Lambda Serverless - برنامج AWS Lambda التعليمي

ما هو AWS Lambda؟

توضح أمازون ، AWS Lambda (& lambda) باعتبارها خدمة حوسبة 'بدون خادم' ، مما يعني أن المطورين ليسوا مضطرين للقلق بشأن موارد AWS التي سيتم إطلاقها ، أو كيف سيديرونها ، لقد وضعوا الكود على lambda وتشغيله ، بكل بساطة! يساعدك على التركيز على الكفاءة الأساسية ، مثل إنشاء التطبيقات أو الكود.



أين سأستخدم AWS Lambda؟

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

فكيف يعمل؟

يُعرف الرمز الذي تريد تشغيل Lambda به بامتداد دالة لامدا . الآن ، كما نعلم ، تعمل الوظيفة فقط عندما يتم استدعاؤها ، أليس كذلك؟ هنا، مصدر الحدث هو الكيان الذي يقوم بتشغيل وظيفة Lambda ، ثم يتم تنفيذ المهمة.

لنأخذ مثالاً لفهمه بشكل أكثر وضوحًا.



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

لذلك ، يمكن تعريف مهمة تحميل الصورة على أنها ملف مصدر الحدث أو 'المشغل' الذي سيستدعي وظيفة Lambda ، ومن ثم يمكن تنفيذ كل هذه المهام عبر وظيفة Lambda.

في هذا المثال ، يتعين على المطور فقط تحديد مصدر الحدث وتحميل الكود.

دعنا نفهم هذا المثال باستخدام موارد AWS الحقيقية الآن ،

التين. حالة استخدام لامدا مع S3

هنا سنقوم بتحميل الصور في شكل كائنات إلى دلو S3. سيصبح تحميل صورة إلى حاوية S3 مصدر حدث أو 'مشغل'.

العملية برمتها ، كما ترى في الرسم البياني ، مقسمة إلى 5 خطوات ، دعونا نفهم كل واحدة منها.

أنماط التصميم في php مع المثال
  1. يقوم المستخدم بتحميل صورة (كائن) إلى حاوية المصدر في S3 التي تحتوي على إشعار مرفق بها ، لـ Lambda.
  2. تتم قراءة الإشعار بواسطة S3 ويقرر مكان إرسال هذا الإشعار.
  3. يرسل S3 الإخطار إلى Lambda ، ويعمل هذا الإخطار بمثابة استدعاء استدعاء لوظيفة lambda.
  4. يمكن تحديد دور التنفيذ في Lambda باستخدام IAM (إدارة الهوية والوصول) لمنح إذن الوصول لموارد AWS ، على سبيل المثال هنا سيكون S3.
  5. أخيرًا ، تستدعي وظيفة lambda المرغوبة التي تعمل على الكائن الذي تم تحميله إلى حاوية S3.

إذا كنت ستحل هذا السيناريو بشكل تقليدي ، إلى جانب التطوير ، فستكون قد وظفت أشخاصًا لإدارة المهام التالية:

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

قد تكون هذه مهمة باهظة الثمن ومملة ومرهقة ، وبالتالي فإن الحاجة إلى AWS Lambda لها ما يبررها.AWS Lambda متوافق مع Node.JS و Python و Java ، لذا يمكنك تحميل ملفك في شكل مضغوط ، وتحديد مصدر الحدث وأنت جاهز!

يمكنك قراءة المزيد عن S3 AWS هنا من أجل فهم أعمق.

نحن نعلم الآن -كيف يعمل Lambda وما تفعله لامدا س .

نآه ، دعونا نفهم-

  • أين تستخدم لامدا؟
  • ما الغرض من خدمة Lambda ، هذاخدمات AWS Compute الأخرى لا؟

إذا كنت بصدد تصميم حل لمشكلة ما ، فيجب أن تكون قادرًا على تحديد مكان استخدام Lambda ، أليس كذلك؟

لذلك ، كمهندس معماري ، لديك الخيارات التالية لتنفيذ مهمة ما:

  • AWS EC2
  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • AWS Lambda

لنأخذ حالة الاستخدام المذكورة أعلاه كمثال ونفهم سبب اختيار Lambda لحلها.

تُستخدم AWS OpsWorks و AWS ElasticBeanstalk لنشر تطبيق ، لذا فإن حالة الاستخدام لدينا هي ليس لإنشاء تطبيق و ولكن لتنفيذ التعليمات البرمجية الخلفية.

ثم لماذا لا EC2؟

إذا كنت ستستخدم EC2 ، فسيتعين عليك تصميم كل شيء ، مثل موازن التحميل ، وأحجام EBS ، ومكدسات البرامج وما إلى ذلك. في lambda ، لا داعي للقلق بشأن أي شيء ، فقط أدخل الكود الخاص بك ، وستقوم AWS بإدارة الباقي!

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

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

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

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

يمكنك قراءة المزيد عن EC2 AWS هنا من أجل فهم أعمق.

حدود AWS Lambda

بعض القيود خاصة بالأجهزة وبعضها ملزم بالبنية ، دعنا نناقشها جميعًا.

قيود الأجهزة تشمل حجم القرص الذي يقتصر على 512 ميجا بايت ، ويمكن أن تتراوح الذاكرة بين 128 ميجا بايت و 1536 ميجا بايت. ثم هناك بعض الأشياء الأخرى ، مثل زيادة مهلة التنفيذ إلى 5 دقائق فقط ، ولا يمكن أن تزيد حمولة نص الطلب الخاصة بك عن 6 ميغابايت ويكون نص الطلب 128 كيلوبايت. تشبه حمولة نص الطلب البيانات التي ترسلها مع طلب 'GET' أو 'PUT' في HTTP ، حيث يكون نص الطلب هو نوع الطلب والرؤوس وما إلى ذلك.

ما هو تصور البيانات في اللوحة

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

ناقشنا في برنامج AWS Lambda التعليمي هذا كيف أن أداء المهام في Lambda 'ليس' مملاً ومرهقًا. دعنا الآن نغطي جزء النفقات أيضًا.

التسعير في AWS Lambda

مثل معظم خدمات AWS ، فإن AWS Lambda هي أيضًا خدمة الدفع لكل استخدام ، مما يعني أنك تدفع فقط ما تستخدمه ، وبالتالي يتم محاسبتك على المعلمات التالية

  • عدد ال الطلبات التي تقوم بها لوظيفة لامدا الخاصة بك
  • ال المدة الزمنية التي يتم تنفيذ التعليمات البرمجية الخاصة بك لها.

الطلبات

  • تتم محاسبتك على عدد الطلبات التي تجريها عبر جميع وظائف lambda.
  • تحسب AWS Lambda طلبًا في كل مرة يبدأ في التنفيذ استجابةً لمصدر حدث أو استدعاء استدعاء ، بما في ذلك استدعاء الاختبار من وحدة التحكم. دعونا نلقي نظرة على الأسعار الآن:
    • أول مليون طلب ، كل شهر مجانية.
    • 0.20 دولار لكل مليون طلب بعد ذلك.

المدة الزمنية

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

* المصدر: موقع AWS الرسمي

إذا وصلت إلى هنا ، فأنت جاهز تمامًا للتدريب العملي في Lambda. دعنا نمرح!

التدريب العملي: AWS Lambda DIY

دعنا ننشئ وظيفة Lambda التي ستسجل 'تمت إضافة كائن' بمجرد إضافة كائن إلى حاوية معينة في S3.

الخطوة 1: من AWS Management Console ضمن قسم الحوسبة ، حدد AWS Lambda.

الخطوة 2: في وحدة تحكم AWS Lambda ، انقر فوق 'إنشاء وظيفة Lambda'.

الخطوه 3: في الصفحة التالية ، عليك تحديد مخطط. على سبيل المثال ، سنختار الوظيفة الفارغة لحالة الاستخدام الخاصة بنا.

الخطوة 4: في الصفحة التالية ، ستقوم (1) بتعيين مشغل ، لأننا سنعمل على S3 ، (2) حدد مشغل S3 ثم (3) انقر فوق التالي.

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

الخطوة 6: في الصفحة التالية ، راجع جميع المعلومات ، وانقر على 'إنشاء وظيفة'.

الخطوة 7: الآن ، نظرًا لأننا أنشأنا الوظيفة لحاوية S3 ، في اللحظة التي تضيف فيها ملفًا إلى دلو S3 الخاص بك ، يجب أن تحصل على سجل لنفسه في CloudWatch ، وهي خدمة مراقبة من AWS.

تهانينا!لقد قمت بتنفيذ وظيفة Lambda بنجاح.

الفرق بين جدول التجزئة وخريطة التجزئة

أتمنى أن تكون قد استمتعت بالغوص العميق في برنامج AWS Lambda التعليمي. إنها واحدة من أكثر المجالات المعرفية المرغوبة في نظام AWS البيئي للمناصب الوظيفية مثل مهندس الحلول ، مهندس السحابة ، مهندس DevOps. إليك مجموعة من لمساعدتك في التحضير لمقابلة العمل التالية في AWS.

إذا وجدت أن برنامج AWS Lambda التعليمي هذا وثيق الصلة ، فيمكنك الاطلاع على دورة Edureka المباشرة والتي يقودها المعلم على ، شارك في إنشائه ممارسو الصناعة.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات وسنعاود الاتصال بك.