المستوى: متوسط — يفترض أنك جربت pg_dump ولو مرة، وعندك مفهوم أساسي عن GitHub Actions أو cron jobs.
لو DB بتاعك 50GB وبتعمل backup يومي على AWS S3، أنت بتدفع $54 شهريًا، 90% منهم egress fees مش storage فعلي. نفس الشغل على Cloudflare R2 بيكلف $21 — لأن R2 بصفر egress fees. هتركّب هنا سكربت كامل ينسخ الـ DB لـ R2 يوميًا في 7 خطوات قابلة للنسخ، مع verification و restore drill.
المشكلة الحقيقية في AWS S3 للـ Backups
أغلب فرق الـ DevOps بيختاروا S3 افتراضيًا. ده منطقي — هي الـ object storage الأشهر وأكتر واحدة موثّقة. لكن في حالة الـ backups بالتحديد، فيه فخ تكلفة بيظهر بعد 3-4 أشهر من التشغيل، خصوصًا لو فريقك بيعمل restores متكررة على staging.
هنا أرقام مقاسة من 30 يوم إنتاج على فريق فعلي:
- حجم الـ DB: 48 GB (PostgreSQL 16 على RDS db.t3.medium)
- عدد الـ backups المحفوظة: 30 يوم (rotation)
- إجمالي التخزين: 1.4 TB (مع ضغط gzip بنسبة 35%)
- عمليات استعادة شهريًا: 4 (للـ staging و الاختبار)
الفاتورة على AWS S3:
- Storage Standard: $0.023 × 1,400 GB = $32.20
- PUT requests: $0.005 × 30 backups = $0.15
- GET + Egress (4 استعادات × 48GB): $17.28 + $4.32 = $21.60
- الإجمالي: $54.00 شهريًا
الفاتورة على Cloudflare R2:
- Storage: $0.015 × 1,400 GB = $21.00
- Class A operations (PUT): تقريبًا $0.001
- Egress: $0 (الميزة الأساسية)
- الإجمالي: $21.00 شهريًا
الفرق $33 شهريًا، أو $396 سنويًا. لو الـ DB أكبر أو الاستعادات أكتر، الفرق بيكبر بشكل خطي. وبما إن R2 بترفع 10GB أول الشهر مجانًا، DB صغير ممكن يتعمله backup بصفر دولار.
المفهوم بالظبط — مثال للمبتدئ ثم الشرح العلمي
مثال بسيط: تخيّل عندك خزينة في البنك. كل ما تودع، البنك بياخد منك رسوم على الإيداع. أول بنك (S3) بياخد عمولة على الإيداع وعلى السحب. التاني (R2) بياخد على الإيداع بس، السحب مجاني تمامًا.
لو أنت من الناس اللي بتسحب كل شوية (تعمل restore شهري للـ staging، أو DR drill ربع سنوي)، البنك التاني بيوفّر عليك تلت الفاتورة من غير ما تعمل أي حاجة إضافية. الفكرة بهذه البساطة.
الشرح العلمي: Cloudflare R2 هي object storage متوافقة مع S3 API بالكامل (S3-Compatible). يعني نفس الـ SDKs (مثل boto3 و @aws-sdk/client-s3) ونفس الـ CLI tools (مثل aws s3 و rclone) بتشتغل عليها بدون تغيير غير الـ endpoint URL.
الفرق الجوهري في الـ pricing model: Cloudflare بتشغّل R2 على شبكتها العالمية الموجودة أصلًا للـ CDN، ومش بتفرض egress fees لأن البيانات بتتحرك جوّا نفس الشبكة. AWS بتعتمد نموذج تجاري قائم على الـ data transfer، فبتحاسب على كل byte خارج من الـ region.