بالنسبة لمنتج SaaS يضم 200 مستأجر يرفع كل منهم إيصالات وفواتير وصور منتجات، تصبح تكاليف نقل بيانات S3 بنداً مهماً في الميزانية خلال السنة الأولى. Cloudflare R2 يُلغي رسوم نقل البيانات كلياً، وWorkers يُعطيك منطق عزل المستأجرين على الحافة دون خدمة منفصلة للصيانة.
بالنسبة لمنتج SaaS يضم 200 مستأجر يرفع كل منهم إيصالات وفواتير وصور منتجات، تصبح تكاليف نقل بيانات AWS S3 بنداً مهماً في ميزانية البنية التحتية خلال السنة الأولى. Cloudflare R2 يُلغي رسوم نقل البيانات كلياً، وWorkers يُعطيك منطق عزل المستأجرين على الحافة دون الحاجة إلى خدمة منفصلة.
لماذا تتراكم تكاليف S3 لمنتجات SaaS متعددة المستأجرين؟
تفرض AWS رسوم نقل البيانات على الإنترنت بمعدل 0.09 دولار لكل GB في معظم المناطق. لمنتج SaaS يصل فيه المستأجرون إلى ملفاتهم المرفوعة بشكل منتظم، تتراكم هذه التكاليف بسرعة.
خذ مثلاً منتج SaaS للمطاعم يضم 2,000 مطعم يرفع كل منهم بيانات بمعدل 500 MB شهرياً. إذا وصل المستأجرون إلى 30% من بياناتهم في شهر معين، يصبح حجم نقل البيانات 300 GB شهرياً. هذا ما يعادل تقريباً 27 دولاراً شهرياً فقط في رسوم خروج البيانات.
عند 10,000 مستأجر، تصل الأرقام إلى 135 دولاراً شهرياً. والمشكلة الحقيقية هي صعوبة التنبؤ بهذه التكاليف عند إطلاق المنتج.
كيف تعمل تسعيرة Cloudflare R2 فعلياً؟
تفرض R2 رسوماً على التخزين والعمليات، لكن لا رسوم على نقل البيانات للخارج. البيانات المُقدَّمة من R2 إلى الإنترنت لا تُولِّد أي رسوم نقل.
هيكل التسعيرة:
- التخزين: 0.015 دولار لكل GB شهرياً
- عمليات الكتابة: 4.50 دولار لكل مليون عملية
- عمليات القراءة: 0.36 دولار لكل مليون عملية
- نقل البيانات للخارج: صفر
عند التوسع، النموذج بدون رسوم الخروج يصبح الميزة التنافسية الرئيسية لمنتجات SaaS ذات الاستخدام الكثيف للملفات.
Workers لعزل المستأجرين في رفع وتنزيل الملفات
دور Cloudflare Workers المعماري في هذا الإعداد هو فرض عزل المستأجرين. الـ Worker يتحقق من الـ JWT في رأس التفويض ويقارن مطالبة tenant_id مقابل tenant_id في مسار الملف. الطلبات على ملفات مستأجر آخر تُرفض على الحافة قبل حتى الاستعلام عن R2.
تدفق رفع الملف:
- العميل يُرسل طلب رفع إلى خلفية Go API
- خلفية Go تُتحقق من الطلب وتُولِّد رابط رفع موقّعاً بنطاق محدد:
tenant/{tenant_id}/uploads/{filename} - العميل يرفع مباشرةً إلى R2 عبر الرابط الموقّع
- الـ Worker يتقاطع مع الرفع ويتحقق من التوقيع
نمط الروابط الموقّعة للوصول الآمن للملفات
للمنتجات حيث يجب أن تكون الملفات متاحة دون مصادقة بالجلسة على كل طلب (الصور المضمّنة، تقارير PDF مفتوحة في المتصفح)، يتجنب نمط الروابط الموقّعة تدفق مصادقة الـ Worker.
تُولِّد خلفية Go رابطاً موقّعاً محدود الوقت يتضمن tenant_id وطابع انتهاء الصلاحية في معامل استعلام موقّع بـ HMAC. الرابط ينتهي تلقائياً ولا يمكن مشاركته عبر حدود المستأجرين لأن tenant_id مضمّن في الحمولة الموقّعة.
لمنتجات SaaS للمطاعم والتجزئة في لبنان والخليج، يتعامل هذا النمط مع حالة الاستخدام الشائعة لمشاركة فاتورة PDF مع عميل عبر رابط محدود الوقت.
مقارنة التكاليف عند التوسع الحقيقي
لمنتج SaaS للمطاعم يضم 1,000 مستأجر، كل منهم يخزّن 500 MB ويُولِّد 150 MB من نقل البيانات الشهري:
S3 + CloudFront: حوالي 24 دولاراً شهرياً R2 + Workers: حوالي 8 دولارات شهرياً
عند 10,000 مستأجر، التوفير جوهري. والأهم من ذلك أن تكاليف R2 تتوسع بشكل متوقع مع التخزين، وليس مع أنماط الوصول. ميزة منتج تزيد فجأة من الوصول للملفات لا تُنشئ فاتورة مفاجئة.
اعتبارات إقامة البيانات لمنتجات الشرق الأوسط
لمنتجات SaaS المخصصة أساساً للشركات الصغيرة والمتوسطة في لبنان والأسواق المجاورة، يُعدّ نهج R2 الحالي في التعامل مع البيانات ملائماً من الناحية التشغيلية. لعملاء المؤسسات الخليجية ذوي متطلبات إقامة بيانات صريحة للسعودية أو الإمارات، يتطلب قرار البنية المعمارية تقييماً أكثر دقة.
دروس من الإنتاج
نموذج تسعيرة R2 بدون رسوم الخروج يُلغي متغيراً في التكلفة يصعب التنبؤ به عند إطلاق المنتج.
Workers لمنطق عزل المستأجرين على الحافة تُلغي نوعاً من البنية التحتية الذي كنت ستحتاجه: خدمة وصول ملفات مخصصة.
الروابط الموقّعة بتوقيعات HMAC تتعامل مع الحالة الشائعة لمشاركة الملفات مع المستخدمين النهائيين دون تعقيد طلبات المصادقة المعتمدة على الجلسات.



