تخبرنا أقسام التسويق في مزودي الخدمات السحابية بنفس الحكاية منذ سنوات: «انسَ البنية التحتية، وركز فقط على الكود الخاص بك، وادفع فقط مقابل ما تستخدمه». يبدو رائعًا، أليس كذلك؟ من الناحية النظرية، نعم. ولكن من الناحية العملية، يمكن أن تصبح Serverless أحيانًا ثقبًا ماليًا أسود غير مرئي
.لنكن صادقين؛ يتطور نموذج «الدفع أولاً بأول» بسرعة كبيرة إلى نموذج «الدفع حسب الذعر» إذا كنت لا تعرف بالضبط ما تفعله. دعونا ننظر بعين متشككة إلى التكاليف الخفية وراء تلك العروض الرائعة وكيفية النجاة من هذه الفوضى
.1. لا يوجد شيء مثل «مجاني»: القتلة غير المرئيين
عندما يتعلق الأمر بـ Serverless، فإن كل ما يفكر فيه الناس هو وقت التنفيذ. أنت تمثل «وظيفتي عملت 100 مللي ثانية، ودفعت هذا العدد الكبير من البنسات». أنت مخطئ. عادةً ما تكون العناصر الرئيسية التي تضخم الفاتورة هي:
- نقل البيانات (الخروج): غالبًا ما يكون الخروج من البيانات خارج السحابة مكلفًا من الوظيفة نفسها.
- بوابة API: هذه «البوابة» التي تفتح فيها أبواب Lambda أو Azure Functions للعالم، تولد أحيانًا تكاليف أكثر من قوة المعالجة التي تقف وراءها.
- التسجيل وقابلية المراقبة: في اللحظة التي قلت فيها، «دعونا نسجل كل شيء، نحتاج إلى ذلك»، استنفدت طاقتك. يمكن أن تجعلك رسوم تسجيل الدخول لـ CloudWatch أو الخدمات المماثلة تقول «أتمنى لو لم أكن أعرف الكثير» في نهاية الشهر
2. البداية الباردة: ليس فقط الأداء، إنها مضيعة للمال
يتحدث الجميع عن مشكلة وقت الاستجابة في Cold Start. لكن خبيرًا متشككًا يسأل: «كم من المال أخسره خلال هذا التأخير؟» إذا كان التطبيق الخاص بك يواجه المستخدم ويترك عربة المستخدم بسبب هذا التأخير لمدة ثانيتين، فإن تكلفة هذه الوظيفة تزيد بكثير عن 0.00001 دولار في
الوثائق الفنية.التحجيم جيد، ولكن الخط الفاصل بين تكلفة التزامن الموفر الخامل وتكلفة الجهاز الافتراضي التقليدي أرق مما تعتقد
القرار المعماري 3: متى تهرب؟
في مرحلة ما عليك أن تتوقف وتسأل: «لماذا لا نستخدم Kubernetes أو خادمًا معدنيًا؟» إذا كانت حركة المرور الخاصة بك مستقرة ويمكن التنبؤ بها وعالية على مدار الساعة طوال أيام الأسبوع، فإن Serverless هو الخيار الأكثر تكلفة
بالنسبة لك.Serverless هي هبة من السماء لحركة المرور الشائكة (غير المؤكدة والمرتفعة). لكن استخدام Serverless على نظام يعمل باستمرار يشبه ركوب سيارة أجرة للعمل كل يوم. من المنطقي جدًا شراء (أو استئجار) سيارة بعد نقطة معينة
.4. الوصفة «الحقيقية» للتحسين
إذن، كيف نحمي المحفظة؟
- ثقافة FinOps: تتبع التكاليف ليس فقط وظيفة المحاسب، ولكن أيضًا للمطور. لا يمكنك أن تكون «كبيرًا» دون معرفة تكلفة الكود الذي تكتبه .
- مصيدة التفاصيل: يؤدي تقسيم التطبيق إلى آلاف الوظائف الصغيرة (خدمات النانو) إلى زيادة تكلفة الإدارة والاتصال. قم بعمل مجموعات منطقية.
- إعدادات المهلة: تعتبر المهلات المتبقية لمدة 5 دقائق افتراضيًا خطيرة. لا تريد دفع فاتورة الوظيفة التي تدخل حلقة خاطئة .