الساعة الأكثر ازدحاماً لا تكذب. هي اللحظة التي تنكشف فيها كل القرارات التي اتخذتها في الأشهر السابقة دفعة واحدة: عدد المستخدمين الذين يفتحون التطبيق معاً، والطلبات التي تتزاحم على قاعدة البيانات، والصفحات التي تبطؤ حتى يغادرها أصحابها. في تلك الدقائق تعرف إن كان الفريق قد فكر في الحمل أم اكتفى بأن يأمل.
في الفريق الأول، يقف الفريق على خادم ثابت، أي جهاز أو مجموعة أجهزة لها سعة محددة لا تتغير. يراقب أحدهم لوحة المؤشرات، وترتفع نسبة استخدام المعالج تدريجياً، ثم يبدأ الانتظار. قد يصمد الخادم، وقد لا يصمد. وعندما لا يصمد، تكون الخيارات أمامهم محدودة: إعادة التشغيل، أو تقليل الخدمة، أو الاعتذار للمستخدمين.
في الفريق الثاني، تتسع البنية السحابية تلقائياً. تُضاف مثيلات جديدة من الخدمة عندما يرتفع الطلب، وتُسحب عندما ينخفض. لا أحد يقف أمام الشاشة يدعو. لكن هذا لا يعني أن الأمر مجاني أو بسيط، فالتوسع التلقائي يحتاج إلى تصميم دقيق: خدمات لا تحمل حالة داخلية تضيع عند إغلاقها، وطبقة تخزين مؤقت تخفف الضغط عن قاعدة البيانات، وحدود واضحة للتكلفة حتى لا تتحول موجة مفاجئة إلى فاتورة مفاجئة.
لا يُحسم القرار بالتقنية وحدها، بل بسؤال أبسط: كم يتغيّر حملك بين يوم وآخر؟
إذا كان عدد مستخدميك ثابتاً تقريباً، ويتحرك في نطاق متوقع طوال الأسبوع، فالخادم الثابت قد يكون الخيار الأوفر والأسهل في الفهم والصيانة. أما إذا كان حملك يقفز بشكل كبير في أوقات معينة، كحملة تسويقية ناجحة أو موسم بيع أو ساعة صباحية يفتح فيها الجميع التطبيق معاً، فإن الخادم الذي يُصمَّم لأعلى ذروة متوقعة سيبقى خاملاً معظم الوقت، وهذا إنفاق على سعة لا تُستخدم.
الاختبار العملي بسيط: خذ بيانات الاستخدام لثلاثين يوماً، وارسم منحنى الطلب بالساعة. إن كان الفرق بين أدنى نقطة وأعلاها صغيراً، فالخادم الثابت منطقي. وإن كان الفرق كبيراً ومتكرراً، فأنت أمام حمل يحتاج إلى مرونة، وهنا تصبح البنية السحابية ضرورة لا ترفاً.
من الخطأ الشائع أن يُعتقد أن الانتقال إلى السحابة يحل مشكلة الأداء تلقائياً. التوسع الأفقي يساعد فقط إذا كان التطبيق مصمماً ليُشغَّل على عدة نسخ في وقت واحد. إن كانت قاعدة البيانات هي عنق الزجاجة، فإن إضافة عشرين خادماً للتطبيق لن تفعل شيئاً سوى نقل الازدحام إلى نقطة أخرى. كذلك لن تصلح السحابة استعلامات بطيئة أو تصميماً يُحمّل الواجهة بيانات لا تحتاجها.
لذلك، قبل أن تسأل عن النوع المناسب للبنية، اسأل عما يحدث داخل التطبيق عند الذروة: أي الطلبات تثقل النظام، وأيها يمكن تأجيله، وأيها يمكن تخزينه مؤقتاً. كثير من مشكلات الازدحام تُحل بقرارات في تصميم الكود والبيانات قبل أن تُحل بالعتاد.
اختر الخادم الثابت حين يكون حملك مستقراً ويمكن التنبؤ به، واجعل سعتك مريحة فوق المتوسط لا فوق أعلى نقطة نادرة. اختر البنية المرنة حين يتقلب حملك بقوة، لكن استثمر أولاً في تصميم الخدمات بحيث تتوسع بشكل صحيح. وفي الحالتين، راقب الأرقام بانتظام، فالساعة الأكثر ازدحاماً ستأتي حتماً، والسؤال هو هل ستجدك مستعداً لها أم تقف أمام الشاشة تدعو أن تصمد.
