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

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

قبل فترة، كنت شغال على مشروع جانبي، أداة ذكاء اصطناعي بسيطة بتحلل مشاعر المستخدمين في التعليقات على منصات التواصل. كنت متحمس جداً، سهرت ليالي وأنا أكتب الكود وأدرب النموذج. لما صار المشروع جاهز، قررت أرفعه على الإنترنت. وبكل ثقة، رحت استأجرت سيرفر افتراضي (VPS) من أحد المزودين المشهورين. سيرفر محترم، مواصفاته منيحة، وقلت لحالي “هيك الشغل الصح”.

في الأسابيع الأولى، كان كل شي تمام. الأداة شغالة، والناس بتستخدمها بشكل متقطع، خصوصاً في أوقات المساء وعطلة نهاية الأسبوع. كنت مبسوط وأنا أراقب الأرقام. لكن الفرحة ما اكتملت. آخر الشهر، وصلتني الفاتورة. فتحتها وأنا كلي ثقة، وتفاجأت! رقم كبير، أكبر بكثير من اللي كنت متوقعه. قعدت أحلل بالموضوع، واكتشفت المصيبة: أنا كنت بدفع على السيرفر 24 ساعة في اليوم، 7 أيام في الأسبوع، سواء كان عليه مستخدم واحد أو ألف مستخدم، أو حتى وهو “صافن” ما بعمل إشي بالمرة! السيرفر كان يلتهم ميزانيتي وهو خامل معظم الوقت. حسيت حالي زي اللي فاتح محل وبدفع إيجاره كامل، مع إنه الزباين ما بيجوا إلا ساعة وحدة في اليوم. هون بلش بحثي عن حل، وهون كانت بداية معرفتي بعالم الـ Serverless.

ما هي “الحوسبة بدون خوادم” (Serverless)؟ ولماذا هي “كذبة” جميلة؟

لما تسمع مصطلح “Serverless” أو “بدون خوادم”، أول إشي بيخطر ببالك إنه ما في سيرفرات بالموضوع. هاي يا جماعة “كذبة” بيضاء وجميلة. الخوادم موجودة طبعاً، ما في حوسبة بدون حديد وبرمجيات، لكن الجمال في الموضوع هو أنك أنت كمبرمج ما إلك علاقة فيها بالمرة.

تخيل معي هالمثال: بدك تاكل بيتزا.

  • الطريقة التقليدية (السيرفرات المدارة ذاتياً): لازم تبني مطبخ كامل، تشتري فرن، تجيب طحين ومكونات، وتوظف شيف، وتدفع راتبه سواء خبز بيتزا أو قعد طول اليوم صافن. هذا هو حال استئجار سيرفر (VPS/EC2).
  • طريقة الحوسبة بدون خوادم (Serverless): أنت ببساطة بتتصل على مطعم البيتزا، بتطلب البيتزا اللي بدك إياها، وبتدفع حقها بس. ما إلك علاقة بالفرن ولا بالشيف ولا بإيجار المحل.

هذا هو جوهر الـ Serverless. أنت بتكتب الكود تبعك (بنسميه “دالة” أو Function)، وبترفعه على منصة سحابية مثل AWS Lambda أو Google Cloud Functions أو Azure Functions. المنصة هاي هي اللي بتتولى كل شي: بتشغل الكود تبعك لما حدا يطلبه، وبتطفي كل شي لما الطلب ينتهي. وأنت؟ أنت بتدفع فقط على عدد أجزاء الثانية اللي اشتغل فيها الكود تبعك. ولا قرش زيادة!

كيف غيرت “الحوسبة بدون خوادم” قواعد اللعبة؟

بالنسبة لي، ولآلاف المطورين حول العالم، الـ Serverless ما كانت مجرد تقنية جديدة، بل كانت نقلة نوعية في طريقة تفكيرنا وبنائنا للتطبيقات. وهاي أهم الأسباب:

وداعاً للتكاليف الخاملة (Pay-per-use)

هاي هي الميزة القاتلة. بدل ما تدفع 50$ أو 100$ شهرياً على سيرفر شغال 24/7، صرت تدفع على قد الاستخدام الفعلي. معظم المنصات السحابية الكبرى بتعطيك “طبقة مجانية” (Free Tier) سخية جداً. مثلاً، AWS Lambda بتعطيك مليون طلب (request) مجاني كل شهر، و 400,000 جيجابايت-ثانية من وقت المعالجة. هذا يعني إنه مشروعي الجانبي، اللي كان يكلفني عشرات الدولارات، صار يكلفني فعلياً صفر! لأنه استخدامه ما تعدى الطبقة المجانية.

التوسع التلقائي (Automatic Scaling) بدون صداع

في عالم السيرفرات التقليدية، إذا فجأة زاد الضغط على موقعك، ممكن السيرفر “يوقع” ويتوقف عن العمل. عشان تحل هاي المشكلة، لازم تجهز نظام معقد من موازنات التحميل (Load Balancers) ومجموعات التوسع التلقائي (Auto-scaling Groups). شغلانة بتاخد وقت وجهد وفلوس.

مع الـ Serverless، كل هذا بصير بشكل تلقائي وسحري. لو وصلك طلب واحد، المنصة بتشغل نسخة وحدة من الكود تبعك. لو وصلك 10,000 طلب في نفس الثانية، المنصة تلقائياً بتشغل 10,000 نسخة متوازية من الكود تبعك عشان تخدم كل الطلبات بدون أي تأخير. وبعد ما يخلص الضغط، كل شي بيرجع للصفر. لا صداع ولا إدارة ولا إعدادات معقدة.

التركيز على الكود، وليس على البنية التحتية

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

قبل الـ Serverless، كنت أقضي ساعات طويلة في تحديث نظام التشغيل، تركيب التحديثات الأمنية (Patches)، ضبط إعدادات الجدار الناري (Firewall)، ومراقبة أداء السيرفر. مع الـ Serverless، كل هاي الهموم راحت. صرت أفتح محرر الأكواد، أكتب المنطق البرمجي اللي بدي إياه، وبكبسة زر أرفعه على السحابة. والباقي؟ “مش شغلتي”. هذا وفر علي وقت ذهبي استثمرته في تطوير ميزات جديدة في تطبيقي.

مثال عملي: بناء واجهة برمجية (API) بسيطة باستخدام AWS Lambda

عشان الصورة تكون أوضح، خلينا نبني API بسيط جداً باستخدام AWS Lambda و Python. هاد الـ API رح يستقبل اسم كـ parameter ويرجع رسالة ترحيب.

الخطوة 1: كتابة الدالة (The Lambda Function)

الكود بسيط ومباشر. كل اللي بنحتاجه هو دالة اسمها lambda_handler. هاي الدالة بتستقبل متغيرين: event (اللي فيه كل معلومات الطلب اللي وصل) و context (اللي فيه معلومات عن بيئة التشغيل).


import json

def lambda_handler(event, context):
    # بنستخرج الاسم من الـ query parameters في الرابط
    # لو ما لقينا اسم، بنستخدم قيمة افتراضية
    try:
        # event['queryStringParameters'] ممكن يكون None إذا ما في باراميترز
        name = event.get('queryStringParameters', {}).get('name', 'يا صديقي')
    except:
        name = 'يا صديقي'
        
    message = f"أهلاً وسهلاً فيك يا {name}، من سيرفر أبو عمر الـ Serverless!"
    
    # بنرجع استجابة بصيغة JSON متوافقة مع API Gateway
    return {
        'statusCode': 200,
        'headers': {
            'Content-Type': 'application/json; charset=utf-8'
        },
        'body': json.dumps({'message': message}, ensure_ascii=False)
    }

هذا الكود البسيط هو كل تطبيقك. لا إعدادات سيرفر، لا Nginx، لا Apache. مجرد منطق برمجي صافي.

الخطوة 2: ربط الدالة بـ Amazon API Gateway

بعد ما نرفع هذا الكود على AWS Lambda، بنحتاج طريقة عشان نخليه متاح على الإنترنت كرابط (URL) نقدر نطلبه. هون بيجي دور خدمة اسمها Amazon API Gateway. تخيلها زي السكرتير اللي بستقبل “المكالمات” (طلبات HTTP) وبحولها “للموظف” المناسب (دالة Lambda تبعتنا).

بخطوات بسيطة على واجهة AWS، بتقدر تنشئ نقطة نهاية (Endpoint) جديدة وتربطها بالدالة اللي عملناها. النتيجة رح تكون رابط زي هيك: https://xyz123.execute-api.us-east-1.amazonaws.com/prod/greet

النتيجة: API يعمل بتكلفة شبه صفرية!

الآن، لو طلبت الرابط وأضفت عليه ?name=أبو عمر، رح تجيك رسالة الترحيب. هذا الـ API جاهز يستقبل ملايين الطلبات شهرياً ضمن الطبقة المجانية، وقادر على التوسع بشكل تلقائي ليخدم آلاف المستخدمين في نفس اللحظة، وكل هذا بدون ما أمتلك أو أدير أي سيرفر.

نصائح من خبرة أبو عمر: متى تستخدم Serverless ومتى تبتعد عنها؟

زي أي تقنية، الـ Serverless مش حل سحري لكل المشاكل. مهم جداً تعرف متى تستخدمها ومتى تكون الخيارات التقليدية أفضل.

متى تكون Serverless خياراً ممتازاً؟ ✅

  • الواجهات البرمجية (APIs) والـ Microservices: مثالية جداً لبناء خدمات صغيرة ومستقلة.
  • المهام ذات الاستخدام المتقطع: مثل معالجة الصور عند رفعها، إرسال إيميلات ترحيبية، تحليل بيانات بشكل دوري. ليش تدفع لسيرفر كامل عشان مهمة بتشتغل 5 ثواني كل ساعة؟
  • المهام المجدولة (Cron Jobs): بديل رائع وموفر جداً للـ Cron Jobs التقليدية.
  • الواجهات الخلفية لتطبيقات الويب والموبايل (Backends): خصوصاً للمشاريع الناشئة اللي حجم استخدامها غير متوقع.
  • تطبيقات إنترنت الأشياء (IoT): ممتازة لمعالجة البيانات اللي بتوصل من عدد هائل من الأجهزة بشكل متقطع.

متى يجب التفكير مرتين؟ ⚠️

  • المهام طويلة الأمد (Long-running tasks): معظم منصات الـ FaaS عندها حد أقصى لوقت تشغيل الدالة (مثلاً 15 دقيقة في AWS Lambda). إذا عندك مهمة بتحتاج ساعات لتشتغل (مثل تدريب نماذج تعلم الآلة الكبيرة)، فالـ Serverless قد لا تكون الخيار الأنسب.
  • التطبيقات الحساسة جداً لزمن الاستجابة (Latency-sensitive): في إشي اسمه “البداية الباردة” (Cold Start). لما الدالة تكون خاملة لفترة ويجيها أول طلب، بتحتاج لوقت إضافي (من مئات أجزاء الثانية إلى ثوانٍ قليلة) عشان “تصحى” وتبدأ تشتغل. هذا التأخير ممكن يكون مشكلة في بعض التطبيقات مثل الألعاب الأونلاين عالية السرعة. (طبعاً في حلول لهالمشكلة مثل Provisioned Concurrency بس بتزيد التكلفة).
  • التطبيقات التي تحتاج اتصال دائم (Stateful / WebSockets): طبيعة الـ Serverless هي “عديمة الحالة” (Stateless). كل طلب هو كيان مستقل. إذا تطبيقك بيعتمد على اتصالات WebSocket مفتوحة أو بيحتاج يحافظ على حالة معينة في الذاكرة بين الطلبات، فالعمل مع Serverless رح يكون أصعب (وإن كان ممكناً باستخدام خدمات أخرى مثل قواعد البيانات).

الخلاصة: هل الحوسبة بدون خوادم هي المستقبل؟

بالنسبة لي، الجواب نعم، هي جزء كبير ومهم من المستقبل. هي مش بديل لكل شي، فالسيرفرات التقليدية رح يظل إلها مكانها. لكنها أداة قوية جداً غيرت طريقة تفكيرنا في بناء التطبيقات وتكاليفها.

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

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

أبو عمر

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

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

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

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

آخر المدونات

برمجة وقواعد بيانات

استعلاماتي كانت تزحف كالسلحفاة: كيف أنقذتني ‘فهارس قاعدة البيانات’ من جحيم البطء؟

أتذكر جيدًا ذلك المشروع الذي كاد أن يصيبني بالجنون بسبب بطء استعلامات قاعدة البيانات. في هذه المقالة، أشارككم قصة كيف أنقذتني الفهارس (Database Indexes) وأحولكم...

4 أبريل، 2026 قراءة المزيد
الشبكات والـ APIs

نقرات المستخدم المزدوجة كانت كارثية: كيف أنقذتني ‘الطلبات عديمة الأثر’ (Idempotency) من جحيم العمليات المكررة؟

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

4 أبريل، 2026 قراءة المزيد
التوظيف وبناء الهوية التقنية

ملفي الشخصي على GitHub كان مدينة أشباح: كيف أنقذني ‘المشروع الجانبي الهادف’ من جحيم التجاهل؟

أشارككم قصتي مع ملف GitHub المهجور وكيف حوّلته من مدينة أشباح إلى نقطة جذب لمسؤولي التوظيف. اكتشف معي استراتيجية "المشروع الجانبي الهادف" التي غيرت مسيرتي...

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

طلبات المستخدمين كانت تنتظر في طابور لا ينتهي: كيف أنقذتني ‘قوائم انتظار الرسائل’ (Message Queues) من جحيم تجربة المستخدم البطيئة؟

أشارككم قصة حقيقية عن مشروع كاد أن يفشل بسبب بطء الاستجابة، وكيف كانت "قوائم انتظار الرسائل" (Message Queues) هي طوق النجاة. سنتعمق في هذا المفهوم،...

3 أبريل، 2026 قراءة المزيد
التكنلوجيا المالية Fintech

حساباتي البنكية كانت جزرًا معزولة: كيف أنقذتني ‘الخدمات المصرفية المفتوحة’ من جحيم إدارة الأموال اليدوية؟

أنا أبو عمر، مطور برمجيات فلسطيني، وهذه قصتي مع إدارة الأموال اليدوية التي كانت كابوسًا شهريًا. سأشارككم كيف حولت "الخدمات المصرفية المفتوحة" (Open Banking) هذا...

3 أبريل، 2026 قراءة المزيد
البنية التحتية وإدارة السيرفرات

طلباتي كانت تختفي بين الخدمات: كيف أنقذني ‘التتبع الموزع’ (Distributed Tracing) من جحيم تحليل الأعطال؟

أشارككم قصة حقيقية عن طلبات كانت تضيع في أنظمتنا المعقدة، وكيف كان التتبع الموزع (Distributed Tracing) هو المنقذ. سنتعمق في هذا المفهوم، من هو ولماذا...

3 أبريل، 2026 قراءة المزيد
ادارة الفرق والتنمية البشرية

فريقي كان يخشى قول ‘لا أعرف’: كيف أنقذتني ‘السلامة النفسية’ من جحيم الأخطاء الصامتة؟

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

3 أبريل، 2026 قراءة المزيد
اختبارات الاداء والجودة

خدماتي كانت تتحدث لغات مختلفة: كيف أنقذني اختبار العقود (Contract Testing) من جحيم التكامل الهش؟

في عالم الخدمات المصغرة، يمكن أن يتحول التكامل بين الخدمات إلى كابوس. أشارككم قصة من تجربتي وكيف أنقذني "اختبار العقود" (Contract Testing) من هذا الجحيم،...

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