Serverless
( FaaS) Serverless Technology
تعرف على( FaaS) Serverless Technology
يمكن سمعت هذا الاسم او قراءته فى احدى المواقع او الفيديو او المؤتمرات من خلال حديثهم عن تكنولوجيا اخرى مثل ال Microservice or Container Technologies
لكن كم منا يعرف ما هى هذة التكنولوجيا وفكرتها وكيفية الاستفادة منها
- ما هى Serverless Technology
هى تكنولوجيا جديدة فكرتها تنبع من اننا لا نسنخدم سيرفرات خاصه بنا لتشغيل التطبيقات الخاصة بنا وانما نستخدم shared resource من اى مكان سواء على ال Private or Public Cloud لكن هذا ليس نفطه قوة هذا التكنولوجيا وانما فائدتها الاهم هى انك تقوم بتشغيل برنامجك فى صورة اجزاء او بلغه المبرمجين Function وهذة الاجزء هى عبارة عن Code محتاج بيئه من لغه برمجه معينه ليعمل من خلالها هنا يظهر قوة هذة التكنولوجيا لانك هتقوم بشتغل هذا الجزء من الكود او ال Function مباشرتا من خلال لغه برمجة جاهزة ويقوم هذا الكود بتفيذ العمليه المطلوبه منه وينتهى عمله وينتهى كل شئ بعدها
من هنا جاءت تسميه هذا التكولوجيا باسم ال Serverless لانها تقلل اعتمادنا على سيرفرات معينه او خاصة بنا واننا نحتاج فقط الى بيئة نشغل من خلالها الكود فقط لينفذ العمليه المطلوبةوينتهى كل شئ بعدها
هذا بالطبع لا يلغى السيرفرات كما سوف يظن البعض
يمكن البعض هنا هيتسال عن اختلافه هذة التكنولوجيا عن تكنولوجيا اقدم موجودة على الكلاود وهى ال PaaS . ارد عليه بان هذة تكنولوجيا منفصلة تماما لان ال PaaS هو بيئه للتطوير والبرمجه وتكون محجوزة لك باستمرار حتى لو شغلت منها الكود الخاص بك فانه يبقى باستمرار للعمل على هذة السيرفرات ام ال Serverless هى عبارة عن Function يجرى تنفيذها وبعدها ينتهى كل شئ وحتى انت تدفع قيمه الوقت التى استغرقته عمل هذة ال Function فقط للعمل والتنفيذ وفى الغالب هذة العمليات تاخذ ثوانى فقط للتنفيذ
- كيف تعمل ال Serverless
لو تعمقنا فى كيفية عمل ال Serverless سوف نكتشف انها تعمل فى النهاية فى صورة ال Container وهى جزء من هذة التكنولوجيا لكننا لا نرى ذلك امام اعيننا لكن فى ال backend نجد ان ما يحدث هو انك تقوم بوضع الكود الخاص بك داخل بيئه معينه للغه البرمجه وتقوم بتشغليها هنا يحدث فى الخلفيه على السيرفرات انه يعمل بتشغيل هذا الكود داخل Container ويقوم الكود ينفذ ما موجود بداخله وبعدها يتوقف هذا الكود وبالتالى يتوقف ال container ويقوم بمسح ال container بالكود الذى بداخله – لذلك هناك ارتباط كبير بين ال Serverless and Docker k8s لانه يعتمد عليهم فى النهايه
- كيفية الاستفادة من هذة التكنولوجيا
يمكن اكتر ناس ممكن تستفاد من هذة التكنولوجيا بشكل مباشر هم المبرمجين لانه سوف يقوم بتشتغيل الكود او جزء من الكود بسهولة على اى لغه برمجة ويقوم الكورد بتنفيذ ما هو مكتوب بداخله وينتهى كل شئ بعدها بدون الاهتمام باى سيرفرات او هاردوير او اى شئ اخر
لكن من ناحيه ال infrastructure يمكن للجميع ان يستفيد لانها يمكن ان يقوم ببناء بيئه مشتركة لكل المبرمجين لديه فى الشركة والكل يستخدمها فى نفس الوقت وبذلك يوفر resource كبيرة جدا لانه فى النهايه الكود سوف يعمل لمدة ثوانى وينتهى ولا يوجد مكان محجوز لاحد من السيرفر فهذا يوفر الكثير من الهاردوير والعمل
- FaaS – Function As A Service
البعض يسمع هذا المسمى FaaS عند بعض شركات ال Cloud وهو فى النهايه الاسم التجارى لهذة التكنولوجيا والاسم ينبع من اجزاء التطبيق وهو ال Function فهنا لدينا نوع جديد من الكلود لتشغيل ال Function فقط وليس تطبيق كامل
- هل هناك شركات تقدم هذة التكنولوجيا
بالطبع هناك شركات Cloud تقدم هذه التكنولوجيا وهتتفاجئ انها موجودة من 4 سنوات من خلال خدمه Amazon Lambda التى تقدم هذة التكنولوجيا وبعدها ظهرت مايكروسوفت وجوجل عندهم نفس التكنولوجيا لكن على الكلاود الخاصة بهم
لكن بالطبع يمكنك ان تقوم بتشغيل هذة الخدمات عندك فى الداتا سنتر الخاصة بك وعلى سيرفراتك وهناك العديد من المشاريع المفتوحه والمجانيه يمكن ان تستخدمها لعمل هذة التكنولوجيا لديك
هذة التكنولوجيا تعتبر جزء من اسم اكبر وهو ال Microservice
لا تحتاج هذة التكنولوجيا حجم معين للشركه لكى تسفيد منها بل يمكن ان يستخدمها اى شخص او مبرمج وحدة بدون اى خبرة فهى تصلح للفرد او للشركة بكل احجامها
لا تحتاج خبرة فى مجال ال Container technology لكى تستخد هذة التكنولوجيا لانها تعمل فى ال backend وانت لا تراها فعليا
فى النهايه هذة بعض المشاريع المتاحه للجميع لاى شئ يتخدها ويبنى هذة التكنولوجيا لديه
https://github.com/kubeless/kubeless
وهذة بعض شركات الكلاود التى يمكن ان تستخدمها مباشرتا لكن ليست مجانيه بالطبع
https://aws.amazon.com/lambda/
https://cloud.google.com/functions/
https://azure.microsoft.com/en-us/services/functions/
وبالتوفيق للجميع