19

تجاربكم مع برمجة الـ Serverless

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

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

مهتم بمعرفة تجاربكم مع فكرة الـ Serverless وهل طبقها أحدكم في بيئة عمله؟ كيف كانت انعكاس هذا الشيء على الكلفة؟


Serverless ليست تقينة محصورة ل Lambda او الفكرة القائمة عليها lambda وانما هي في كون برنامجك لا يعمل على سيرفر محلي و يكون كله CLOUD BASED SOLUTION مبني على خدمات Software as service اي انك تستخدم خدمة امازون للتخزين و خدمة اخرى مثل Fire base لكي تقدم خدمة اشعارات لبرنامج او شيء من هذا القبيل.

حسنا الآن Lambda ما الذي تساعدك به حقا هي ان لديك service او خدمة جدا ثقيلة في برنامج او عليها Requests كثيرة فتعمل Lambda على high compute power, intensive load balancing with zero down time for cretin time.

تقدم خدمات ايضا مثل التواصل مع خدمات داخلية من امازون كالسماع ل ملفات جديدة على اس ثري او errorlogs على كلاود ووتش الخ... ولكن لا احبذ استعمالها لشيء مثل انك تريد ان تقوم بعمل جعل سيرفر نود يعمل عليها فهي ايضا مكلفة بعض الشيء :)

قمت ايضا بتجربتها من قبل في مشروع التخرج الخاص بي ل عمل ستريم ل فيديوهات اون لاين مثل هولو او نيتفلكس.

وكيف كان الأداء؟ ياترى ماهي الأدوات / أطر العمل التي استخدمتها لبناء خدمة الستريم؟

ar_syria أضف ردا

استخدم معمارية مشهورة اجعل Lambda تقوم بالسماع للفيديوهات الجديدة على S3 ومن ثم اقوم بارسالها الى AWS trancoder لانشاء اكثر من من نسخة للفيديوهات و من ثم اقوم بارسالها الى العميل عن طريق CDN.

كلها مبنية ب Node و AWS

شيء شبيه بهذا

هي ايضا جيدة للاستخدام الخفيف, لأنها ما تكلف شيء الا بعد مليون Request.