Serverless

خلال رحلتك في عالم البرمجة ممكن سمعت أو هتسمع عن مصطلح الـ "Serverless"، تعال نفهم الحكاية ببساطة...

📦 الـ Serverless مش معناه إن مفيش سيرفرات، بل بالعكس، السيرفرات موجودة لكن مش أنت اللي بتديرها.

يعني بدل ما تبقى قاعد ماسك السيرفرات بتاعتك، بتضيف رامات هنا، تشيل داتا هناك، تشغل حاجات معينة، الكلام ده كله بيتعمل أوتوماتيك عن طريق شركة كبيرة زي أمازون (AWS)، جوجل (Google Cloud)، أو مايكروسوفت (Azure).


طب ليه نستخدم الـ Serverless؟ 🤔

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

وده بيوفر عليك وقت ومجهود كبيير.


⏳ طب لو السيرفر هو اللي بيهندل كله، ده معناه إن كل حاجة بتحصل وقت ما ييجي طلب للتطبيق (Request)؟

بالضبط، أنت لما تكتب كود وتعمله Deploy على منصة Serverless، الكود ده مش هيشتغل إلا لما يجي طلب من المستخدم، زي لما حد يدخل على اللينك بتاع التطبيق أو يستخدم API معينة.

فبالتالي أنت بتدفع بس على الاستخدام الفعلي، يعني مفيش فلوس رايحة على سيرفر شغال 24/7 من غير فايدة.


💡 أمثلة على خدمات الـ Serverless:

📍 الـ AWS Lambda: واحدة من أشهر الخدمات في العالم اللي تخص ال، Serverless. بتكتب Function صغيرة، ترفعها على AWS Lambda، وخلص الموضوع. هي بقى اللي بتدير الباقي.

📍 الـ Google Cloud Functions: برضو شبيه لـ AWS Lambda، بتكتب الـ Function بتاعتك وهي تشغلها لما يكون في طلب.

📍 الـ Azure Functions: نفس الفكرة مع Microsoft.


🔄 من ضمن عيوب الـ Serverless؟

⚡️ التحكم أقل: أنت مش ماسك السيرفر في إيدك، فلو أنت من الناس اللي بتحب تعرف كل صغيرة وكبيرة عن البنية التحتية، ممكن تحس إن ده مش الخيار المثالي ليك.

⚡️ الـ Latency: أحيانًا بيبقى في تأخير بسيط لما الطلب بيوصل لأول مرة لأنه بيبقى فيه وقت بسيط بيضيع في تشغيل الـ Function لأول مرة.


بالتوفيق يا بطل 🔥