الـ Serverless Architecture طلعت كـ design pattern يخلي الـ Developers ينجموا يحقّقو الأمنية اللي ديما يحلمو بيها: يطرّقوا الـ Software من غير ما يوجّعوا روسهم بالبنية التحتية وكيفاش تتدار.
من زمان والناس تحب تعطي فرصة للـ Developers باش يركّزو على الـ Development، ويبنيو Services قويّة ويبدعو فيها من غير ما يعطّلنهم وجيعة الرأس متاع الـ Infrastructure.
يعني يركّزو على الـ Core Product اللي يخدمو عليه، من غير ما يتقلّقو: “كيفاش باش ندير الـ infrastructure؟ شنوّة السيرفرات؟ شكون يبدّل الـ hardware؟”…
على خاطر هذا، ظهر الـ Serverless Architecture باش يعطي حلّ، ويخلّي الـ Developers يبنيو الـ Software وهوما مرتاحين بلا وجيعة الـ servers وإدارتهم.

احنا نعرفو اللي أي application باش يتواصل مع الـ Users لازم يكون عندو servers مجهّزين وحاضرين. وهذيك تتطلب موارد:
أمّا مع الـ Serverless Architecture، الحكاية تتبدّل:
إحنا نشيلو الحمل هذا الكل من فوق ظهر الـ Developer، ونخليّو مسؤولية السيرفرات على الـ Cloud Provider (بحذاك AWS، Google Cloud، Microsoft Azure…).
الـ Developer ما يهتمّ كان بالـ Business Logic ويكتب الـ Application Code، والباقي الكل يتكفّل بيه الـ provider.
أشهر مثال على الـ Serverless هو الـ FaaS – Function as a Service.
الفكرة بسيطة: الـ Developer يكتب الـ application متاعو كأنها Functions تتنفّذ وقت يصير Event معيّن:
بالتالي إنت كـ Developer لازمك:
بالشكل هذا، الـ Developer ماعادش يشوف البنية التحتية أصلاً، يركّز كان على الـ Function Logic.
أول ما بدات الحكاية كانت مع AWS Lambda اللي تستعمل اليوم بشكل كبير برشا.
وزيد عندك:
لازم أي Developer يكون يعرف شوية مصطلحات:
ما تخلّص كان على Invocation.
ما ثماش Server واقف يشفط في فلوسك وهو ما يخدمش.
التوسع تلقائي:
Instances تتخلق وتتقصّ عالأخر حسب الـ traffic، بلا ما تحتاج Kubernetes ولا orchestrator آخر.
الفريق يخدم أسرع، المشروع يكمّل بدري، على خاطر العملية:
نكتب الكود → نعمل Deploy → خلاص.
ما عندك حتى تحكّم في الـ infrastructure.
لو يصير Hardware Fault ولا Data Center outage، ما تنجم تعمل شيء.
الأمان مسؤولية الـ Provider.
لو الـ Function تخدم على Server vulnerable تنجم البيانات تتعرّض للخطر.
وقت يصير Cold Start، الشيرة تاخو وقت وتعمل Delay واضح في الأداء.
مهام مربوطة بـ Event معيّن:
مثلاً: User يعمل Sign Up → يتبعها:
الـ API Gateway مع Functions حلّ ممتاز للـ GET/POST Requests بطريقة خفيفة وسريعة.
عمليات Async، كيف:
برشا شركات تحب تبني حاجات خفيفة، scalable، وتدخل للسوق بسرعة.
الـ Serverless Architecture حل ممتاز ليهم.
أمّا:
لو عندك تطبيق فيه عمليات Long-running ومتتابعة، الـ Virtual Machines ولا الـ Containers باش يكونو أفضل بكثير.