Serverless: انطلق بتطبيقاتك إلى آفاق جديدة دون عناء إدارة الخوادم 🚀

استمع للبودكاست حوار شيق بين لمى وأبو عمر
0:00 / 0:00

مقدمة: قصة معاناتي مع الخوادم

بتذكر زمان، لما كنت لسه في بداية مسيرتي كمبرمج، كان أكبر همّي مش بس كتابة الكود، لأ، كان الهم الأكبر هو إني أضلني متطمن على الخوادم. بتذكر مرة، كان عندي مشروع تخرج وكنت كتير متحمس عليه، بس قبل يوم التسليم، الخادم وقع! يا لطيف شو صار فيي! من يومها، صرت أدور على حلول تخفف عني هالمسؤولية. وهيك اكتشفت عالم الـ Serverless Computing، اللي غير حياتي المهنية 180 درجة.

ما هو Serverless Computing؟

الـ Serverless Computing (الحوسبة بدون خادم) هو نموذج حوسبة سحابية يسمح لك بتشغيل التعليمات البرمجية الخاصة بك دون الحاجة إلى إدارة الخوادم. ببساطة، أنت تكتب الكود، وتقوم منصة الـ Serverless بتشغيله تلقائيًا عند الحاجة، وتدفع فقط مقابل وقت التشغيل الفعلي. فكر فيها كأنك بتأجر كهربا بس لما تشغل الضو، مش تدفع فاتورة شهرية ثابتة بغض النظر استخدمت الكهربا ولا لأ.

فوائد استخدام Serverless

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

أشهر منصات Serverless

هناك العديد من منصات الـ Serverless المتاحة، ولكن أشهرها:

  • AWS Lambda: خدمة الـ Serverless من Amazon Web Services.
  • Azure Functions: خدمة الـ Serverless من Microsoft Azure.
  • Google Cloud Functions: خدمة الـ Serverless من Google Cloud Platform.

مثال عملي: بناء API بسيط باستخدام AWS Lambda و Python

خلينا نشوف كيف ممكن نبني API بسيط باستخدام AWS Lambda و Python. هاد الـ API راح يرجع رسالة ترحيب للمستخدم.

الخطوة الأولى: كتابة الكود

نكتب الكود بلغة Python:


import json

def lambda_handler(event, context):
    name = event['queryStringParameters']['name'] if 'queryStringParameters' in event and 'name' in event['queryStringParameters'] else 'Guest'
    message = f"أهلاً وسهلاً يا {name} في عالم Serverless!"
    return {
        'statusCode': 200,
        'body': json.dumps({
            'message': message
        })
    }

هذا الكود ببساطة بياخد اسم المستخدم من الـ query parameters، وإذا ما كان موجود، بيفترض إنه “Guest”، وبرجع رسالة ترحيب.

الخطوة الثانية: إنشاء Lambda Function

  1. روح على AWS Management Console.
  2. ابحث عن “Lambda” واضغط عليها.
  3. اضغط على “Create function”.
  4. اختار “Author from scratch”.
  5. أعطي اسم للـ function (مثلاً “hello-serverless”).
  6. اختار “Python 3.9” أو أي إصدار Python مدعوم.
  7. اضغط على “Create function”.

الخطوة الثالثة: رفع الكود

  1. انسخ الكود اللي كتبناه والصقه في الـ code editor في AWS Lambda console.
  2. اضغط على “Deploy”.

الخطوة الرابعة: إنشاء API Gateway

  1. روح على AWS Management Console.
  2. ابحث عن “API Gateway” واضغط عليها.
  3. اضغط على “Create API”.
  4. اختار “REST API”.
  5. اضغط على “Build”.
  6. اختار “New API”.
  7. أعطي اسم للـ API (مثلاً “hello-api”).
  8. اضغط على “Create API”.
  9. اضغط على “Actions” ثم “Create Method”.
  10. اختار “GET”.
  11. اختار “Lambda Function” كـ integration type.
  12. اختار الـ region اللي موجود فيها الـ Lambda function.
  13. اختار الـ Lambda function اللي أنشأناها (“hello-serverless”).
  14. اضغط على “Save”.
  15. اضغط على “Actions” ثم “Deploy API”.
  16. اختار “New Stage”.
  17. أعطي اسم للـ stage (مثلاً “dev”).
  18. اضغط على “Deploy”.

الخطوة الخامسة: تجربة الـ API

بعد ما نعمل deploy للـ API، راح يعطينا URL. جرب نضيف query parameter زي هيك:


https://YOUR_API_GATEWAY_URL/dev?name=Ahmad

المفروض تشوف رسالة الترحيب:


{
    "message": "أهلاً وسهلاً يا Ahmad في عالم Serverless!"
}

نصائح من تجربتي

  • ابدأ صغيرًا: لا تحاول بناء تطبيق معقد في البداية. ابدأ بمثال بسيط مثل المثال اللي شرحناه.
  • استخدم Frameworks: في frameworks بتسهل عملية تطوير الـ Serverless applications زي Serverless Framework و AWS SAM.
  • راقب الأداء: استخدم أدوات المراقبة عشان تتبع أداء الـ functions وتحسنها.
  • الأمان أولاً: تأكد من تأمين الـ functions والـ APIs بشكل صحيح.

الخلاصة

الـ Serverless Computing هو مستقبل تطوير التطبيقات. بيوفرلك وقت وجهد ومال، وبيسمحلك تركز على كتابة الكود وتقديم قيمة للمستخدمين. صحيح إنه في تحديات، بس الفوائد بتفوق التحديات بكثير. 💪

نصيحة أخيرة: لا تخاف تجرب! ابدأ اليوم واستكشف عالم الـ Serverless، ورح تشوف كيف رح يغير طريقة تفكيرك في تطوير التطبيقات. 🚀

أبو عمر

سجل دخولك لعمل نقاش تفاعلي

كافة المحادثات خاصة ولا يتم عرضها على الموقع نهائياً

آراء من النقاشات

لا توجد آراء منشورة بعد. كن أول من يشارك رأيه!

آخر المدونات

التكنلوجيا المالية Fintech

كنا نخزن بطاقات الائتمان مباشرة… قصة تسريب بيانات وكيف أنقذني الترميز (Tokenization)

أشارككم قصة حقيقية من بداياتي في عالم التكنولوجيا المالية، حين كاد خطأ بسيط في تخزين بيانات بطاقات الائتمان أن يدمر شركتنا. اكتشفوا كيف كانت تقنية...

15 مارس، 2026 قراءة المزيد
أتمتة العمليات

استيقظتُ في الثالثة فجراً لإعادة تشغيل سيرفر: كيف علّمتُ نظامي أن يشفي نفسه بنفسه عبر الأتمتة؟

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

14 مارس، 2026 قراءة المزيد
تسويق رقمي

إعلاناتي كانت تستهدف الجميع… وبالتالي لم تصل لأحد: كيف استخدمتُ نماذج التجزئة (Clustering) لاكتشاف شرائح عملاء لم أكن أعرف بوجودها؟

في هذه المقالة، أشارككم تجربتي الشخصية كـ "أبو عمر"، مبرمج فلسطيني، وكيف انتقلت من إعلانات عشوائية فاشلة إلى حملات تسويقية ناجحة. اكتشفوا معي كيف استخدمت...

13 مارس، 2026 قراءة المزيد
التوسع والأداء العالي والأحمال

قاعدة بياناتي كانت تتوسل للرحمة: كيف أنقذتني استراتيجية التخزين المؤقت (Caching) من الانهيار؟

أتذكر ذلك اليوم جيدًا، قاعدة البيانات تكاد تنهار تحت ضغط الطلبات المتزايدة. في هذه المقالة، أشارككم قصة حقيقية وكيف كانت استراتيجية التخزين المؤقت، وتحديداً Redis،...

11 مارس، 2026 قراءة المزيد
البودكاست