Your step to Serverless Technology
تعتبر ال Serverless Technology من التكنولوجيات الحديثه جدا ولم يمر عليها الا بضع اعوام
لكنها تتطورت بسرعه واثبتت جدارتها وفوائدها وقوتها للجميع لذلك اصبح عليها طلب كبير وتطوير كبير والعديد من الشركات قامت بعمل software خاص بها واصبحوا يدعموها بقوه
لذلك سوف نحاول فى هذا المقال وضع بعد الخطوات البسيطه لكى تستطيع ان تدخل وتتعلم وتستعمل هذة التكنولوجيا الجديدة
كما نعرف لان التكنولوجيا حديثه فالتغيرات كبيرة وسريعه ولذلك يجب ان تقراء من اكتر من مصدر عن هذة التكنولوجيا لمواكبه التغير السريع فيها وتغير المعلومات والشركات
نبدا بفكرة ال Serverless Technology
فكره ال Serverless Technology (هناك مقال سابق فى الموقع يشرح ما هى Serverless Technology )
فكرة هذة التكنولوجيا تعتمد فى الاساس على ال Microservice and Container Technology وتعتبر هذة التكنولوجيا تعمل بنفس مبدائهم وتعمل حتى فوق ال Container Environment
الفكرة تعتمد على ان اى تطبيق او برنامج يتكون من اكواد او مجموعه من الاوامر نسميها Function باستخدام Serverless Technology يمكن ان نقوم بتشتغيل اجزاء من هذة التطبيق وليس كامل التطبيق او معنى اوضح يمكن ان نشغل وننقذ Function معينه مباشرتا بدون الاحتياج الى تشغيل البرنامج بشكل كامل مثل فى حالات ال Container or virtual machine
فنحن وصلنا لاعلى مستويات ال Microservice باستخدام هذة التكنولوجيا وقسمنا التطبيق الواحد الى اجزاء من الاكواد
بالطبع هذه الطريقه للعمل لها فؤائد ضخمه على مستوى عمل المبرمجين او ال System Admin او حتى على استخدام ال H/W Resource وايضا على التكلفه والسرعه فى التنفيذ
لو تعمقنا اكتر سوف نجد انك عندما تشغل Function معينه من برنامج فهذة ال Function مصممه تنفذ شياء ما ولتشتغيل هذة الكود فى ال Backend يتم عمل Container ويتم تشغيل هذة ال Function بداخله ويتم تنفيذ الدور الذى يؤديه هذا ال Function ومن ثم يتوقف ال Container ويتم حذفه
هذة العمليه لا تستغرض بضع ثوانى لانشاء وتنفيذ الكود والمسح وتستهلك حجم بسيط جدا من ال resources لانك بتشغل Function واحدة فقط وليس برنامج كامل فهنا التوفير فى الوقت وال resource واضحه جدا للجميع
لو اخذنا مثال انك عندك برنامج ERP System ومن احد وظائفه انه يقوم برفع صور المشتركين او تسجيل مشتركين جدد فهذة ال Function يمكن تشتغيلها على حسب الحاجه فقط ويتم تنفيذها بعيد عن ال ERP System نفسها ويتم تشتغيها وقت الاحتياج وتتوقف بعدها مباشرتا
هذة التكنولوجيا كانت بدايتها على Cloud Computing لانها تقدم حل بسيط وسريع للعملاء مع توفير رهيب فى التكلفه – لانه كما فهمنا العميل لن يتحتاج الا لتشغيل الكود فقط ويتم حساب التكلفه على مدة تشغيل هذا الجزء من الكود وهى بضع ثوانى فقط
لذلك لو فتحت موقع AWS على سبيل المثال وشاهد تكلفه تشتغيل هذة التكنولوجيا هتجد انك ممكن تشغيل عشرات الالاف من هذة العمليات بمبلغ لا يتعدى الدولار الواحد فقط
بعد ما قمنا بالتعريف بهذة التكنولوجيا وكيف تعمل وفائدتها هنبداء الخطوة التاليه وهى كيفيه استخدامها او كيف اقوم ببنائها ايضا داخل الشركه لدى
- الخطوة الاولى ان يكون عندك فكرة جيدة بخدمات Cloud Computing لان اكبر تطبيق لهذة التكنولوجيا بكل فؤائدها وبدعم كبير وعدد مستخدمين كبار يستخدمون هذة التكنولوجيا من خلال شركات ال Cloud
لذلك يمكن تجربتها من خلال شركات مثل امازن وهذة التكنولوجيا لها اسم خاص عندهم وهو Lambda وايضا لدى جوجل ومايكروسوفت Azure
الهدف من هذة الخطوه انك تتعلم كيف تستخدمها وتشاهد امثله وتنفذها بنفسك ولانهم يدعمون لغات برمجه كبيرة
- الخطوة الثانيه : بعد ما تعلمت كيف تعمل واستخدمتها بنفسك امامك خيارين يمكن ان تستمر فى العمل على الكلاود لتشغيل هذة التكنولوجيا وهذا ما يفعله اغلب المبرمجين او انك تقوم ببناء Platform شبيه بالموجود لدى شركات الكلاود وهذا ما يفعله فى الاغلب ال System admin
طبعا الموضوع يعتمد على حجم الشركه والتكلفه والامكانينات فى كل نوع لكى ناخذ نحدد الطريق الذى سوف نسلكه
ملحوظة: تكلفه استخدام ال Serverless Technology على الكلاود زهيدة للغايه مقارتنا ببناءها داخل الداتا سنتر الخاصه بك لذلك نجد الغالبيه تستخدمه من خلال ال Cloud
- الخطوة الثالثه: يجب ان يكون عندك خبرة ولو ضيئله بالبرمجه لكى تعرف بدايه ونهايه الكود واى لغه مكتوب بها لكى تقوم بتنفيذة
- الخطوة الرابعه: يجب ان يكون عندك خبرة متوسطه فى مجال ال Container Technology لان كما وضحنا فى السابق ان ال Serverless Technology تعمل فى الاساس داخل Container – هتحتاج هذة المعرفه فى حاله بناء ال Serverless platformبنفسك فقط-
- الخطوة الخامسه: ان يكون عندك خبرة متوسطه فى مجال ال Infrastructure هذا فى حاله انك سوف تقوم ببناءها داخل الداتا سنتر – هتحتاج هذة المعرفه فى حاله بناء ال Serverless platformبنفسك فقط-
- الخطوة السادسه: أختيار برنامج لبناء هذة التكنولوحيا وهناك العشرات من التطبيقات الان لبناء Serverless Platform واغلبنا مجانى لكن التعامل معها مازل غير سهل ومحتاج بعض الخبرة
- الخطوة السابعه: متابعه موقع ال io الذى لديه قائمه محدثه بكل التطبيقات التى سوف تساعدكم Serverless Portfolio
حاليا ظهرت شركات جديدة تقدم برنامج Security and Monitoring لهذة التكنولوجيا
لو توكلت على الله وسيرت على هذة الخطوات ان شاء الله خلال فترة قصيرة للغايه تكون مؤهل للاستفادة وتشتغيل وبناء هذة التكنولوجيا
هناك مصادر كثيرة جدا سواء فى صورة كورسات فيديو او كتب تشرح هذة التكنولوجيا باستفاضه لكن للاسف يعتبر اغلبها او كلها تشترح هذة التكنولوجيا فى حاله انك استخدمتها على احدى شركات ال Cloud فقط
فالتركيز والشرح على ال Serverless platform على الكلاود وتحديده علىAWS, Azure, Google Cloud
بعض المشاريع الادوات التى يمكن استخدامها فى بناء ال Serverless on Promise
https://github.com/kubeless/kubeless
وهذة بعض شركات الكلاود التى يمكن ان تستخدمها مباشرتا لكن ليست مجانيه بالطبع
https://aws.amazon.com/lambda/
https://cloud.google.com/functions/
https://azure.microsoft.com/en-us/services/functions/
ان شاء الله سوف يكون هناك كورس منشور على موقعنا هنا يشرح اساسيات هذة التكنولوجيا وكيفيه استخدامها وبناءها
ملحوظه : حتى الان لا يوجد كتب معتمدة او كورسات او امتحانات من شركات معينه (وأظن اننا لا نحتاج شهادات فى هذا المجال من الاساس) هذة توضيح للاشخاص المهتمين بالشهادات
وبالتوفيق للجميع