به محتوای اصلی

جایگزین Appwrite در ایران؛ چه وقت واقعاً لازم است؟

Appwrite در ایران فیلتر نیست و بند تحریمی هم ندارد؛ تست شهریور ۱۴۰۵ را آورده‌ایم. پس مسئله چیست: پرداخت دلاری، پلن رایگانی که می‌خوابد، و حداقل سخت‌افزار.

عاطفه امیری۶ دقیقه مطالعه
در این مطلب

بیشتر مقاله‌های فارسی «جایگزین X» با فرض تحریم شروع می‌شوند. برای Appwrite این فرض غلط است: در شهریور ۱۴۰۵ از یک سرور داخل ایران تست کردیم و هم سایت، هم سرویس ابری و هم مخزن ایمیج‌هایش پاسخ دادند — و در شرایط استفاده و سیاست حریم خصوصی‌شان هیچ بند کشور محدودشده‌ای وجود ندارد. پس اگر دنبال جایگزین Appwrite هستید، مسئله‌تان چیز دیگری است، و تا وقتی آن را دقیق نکنید هر جایگزینی انتخاب کنید همان مشکل را با خودتان می‌برید.

جایگزین Appwrite در ایران چیست؟

جایگزین Appwrite هر بک‌اندی است که همان چهار چیز را بدهد — دیتابیس، API خودکار، احراز هویت کاربر نهایی و ذخیره‌ی فایل — ولی یکی از سه هزینه‌ای را که Appwrite برای تیم ایرانی دارد نداشته باشد: اشتراک دلاری، پلن رایگانی که پروژه‌ی بی‌استفاده را می‌خواباند، و حداقل سخت‌افزاری که خودمیزبانی‌اش می‌طلبد. سه مسیر واقعی وجود دارد: یک ابزار خودمیزبان سبک‌تر مثل PocketBase، یک استک قوی‌تر مثل Supabase خودمیزبان، یا یک سرویس داخلی که پرداخت ریالی و نگه‌داری را با هم حل کرده باشد. کدامش درست است به یک سؤال برمی‌گردد: چرا دارید Appwrite را کنار می‌گذارید؟

اول یک تصحیح: Appwrite تحریم نیست

این را ادعا نمی‌کنیم، تست کردیم. در ۱۵ شهریور ۱۴۰۵ از یک سرور مجازی داخل ایران این نتایج گرفته شد:

چیزی که تست شدنتیجه از IP ایران
‎appwrite.io‎‏۲۰۰ — باز می‌شود
‎cloud.appwrite.io‎‏۳۰۱ — پاسخ می‌دهد
دریافت ایمیج نسخه‌ی ۲٫۰٫۰ از Docker Hub‏۲۰۰ — دانلود می‌شود

و در متن کامل شرایط استفاده و سیاست حریم خصوصی Appwrite، هیچ اشاره‌ای به تحریم، کنترل صادرات یا فهرست کشورهای محدودشده نیست. این با فایربیس و Supabase فرق دارد و باید صادقانه گفته شود.

یک نکته‌ی مهم برای هر ادعایی از این جنس: وضعیت شبکه در ایران در هر دو جهت عوض می‌شود. Docker Hub تابستان ۱۴۰۵ از همین سرور بسته بود و امروز باز است. پس تاریخ بالا بخشی از ادعاست، نه تزئین آن — قبل از تصمیم‌گیری خودتان یک بار تست کنید.

پس چرا دنبال جایگزین می‌گردید؟ سه دلیل واقعی

۱. پرداخت، نه دسترسی

پلن Pro سرویس ابری Appwrite از ماهی ۲۵ دلار شروع می‌شود و کارت بین‌المللی می‌خواهد. این همان مشکل همیشگی است و با فیلترشکن حل نمی‌شود. دسترسی باز است؛ صورتحساب مسئله است.

۲. پلن رایگان برای محصول واقعی ساخته نشده

سقف‌های پلن رایگان سخاوتمندانه‌اند، ولی یک بند دارد که همه‌چیز را عوض می‌کند: پروژه‌ای که یک هفته بی‌استفاده بماند متوقف می‌شود. برای یادگیری و نمونه‌ی اولیه عالی است. برای محصولی که ممکن است چند هفته کاربر کم داشته باشد، یعنی سرویس شما بی‌خبر می‌خوابد.

۳. خودمیزبانی رایگان است، ارزان نیست

Appwrite با مجوز BSD-3-Clause متن‌باز است و واقعاً می‌توانید کاملش را روی سرور خودتان بالا بیاورید:

docker run -it --rm \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
  --entrypoint="install" \
  appwrite/appwrite:2.0.0

اما حداقل سخت‌افزاری که خودشان مستند کرده‌اند ۲ هسته پردازنده، ۴ گیگابایت رم و ۲ گیگابایت swap است. این عدد را با سرور مجازی‌ای که بیشتر تیم‌های ایرانی می‌خرند مقایسه کنید: یک هسته و ۲ گیگابایت رم. یعنی ارزان‌ترین پلن رایج داخلی زیر حداقل مستندشده است و باید سرور بزرگ‌تری بگیرید.

و بعد از راه‌اندازی، نگه‌داری با شماست: بکاپ، ارتقای نسخه، وصله‌ی امنیتی و آن شبی که سرویس ساعت دو می‌خوابد. Appwrite در ۱۴ شهریور ۱۴۰۵ نسخه‌ی ۲٫۰٫۰ را منتشر کرد — ارتقای یک نسخه‌ی اصلی روی سروری که محصول زنده رویش است، کار یک بعدازظهر نیست. رایگان بودن مجوز یعنی هزینه از پول به وقت منتقل شده، نه حذف شده.

مقایسه‌ی گزینه‌ها

گزینهنگه‌داری با کیستپرداخت ریالیمناسب چه کسی
Appwrite خودمیزبانشمانداردتیمی با توان DevOps و سرور کافی
Appwrite Cloudسرویسنداردتیمی که کارت بین‌المللی دارد
PocketBaseشمانداردپروژه‌ی کوچک و تک‌نفره
Supabase خودمیزبانشمانداردتیمی که PostgreSQL واقعی می‌خواهد
فیکاروسرویسداردتیمی که نمی‌خواهد سرور نگه دارد

گزینه‌ها، یکی‌یکی

PocketBase کل بک‌اند را در یک فایل اجرایی می‌دهد: دیتابیس SQLite، احراز هویت، پنل ادمین و API. اگر Appwrite را به‌خاطر سنگینی‌اش کنار می‌گذارید، این دقیقاً همان جهت مخالف است و در یک بعدازظهر بالا می‌آید. محدودیتش هم همان SQLite است وقتی بار واقعی بیاید.

Supabase خودمیزبان جهت مخالفِ دیگر است: قوی‌تر از Appwrite، با PostgreSQL واقعی و Row Level Security. ولی اگر مسئله‌تان بار نگه‌داری بود، این مسیر بدترش می‌کند نه بهترش — جایگزین Supabase در ایران هزینه‌ی واقعی‌اش را باز کرده است.

اگر هنوز مطمئن نیستید سرور را خودتان نگه دارید یا نه، هاست بک‌اند اپلیکیشن همین سه لایه را جدا کرده است.

گزینه‌ی داخلی: فیکارو

این مقاله را فیکارو نوشته است، پس ذی‌نفعیم. به همین دلیل بالاتر نوشتیم Appwrite تحریم نیست — چیزی که به نفعمان نبود — و پایین‌تر هم می‌نویسیم کجا Appwrite برنده است و فیکارو را نباید انتخاب کنید.

فیکارو یک Backend as a Service ایرانی است: مدل داده را در پنل تعریف می‌کنید (یا کسب‌وکار را به فارسی توصیف می‌کنید) و همان لحظه API خودکار، دیتابیس PostgreSQL اختصاصی، احراز هویت کاربر نهایی و مستندات OpenAPI می‌گیرید. پرداخت ساعتی از کیف‌پول به تومان است و سرورها داخل ایران‌اند، پس نه کارت بین‌المللی لازم دارید نه سرور نگه می‌دارید.

کجا Appwrite برنده است و باید همان را انتخاب کنید:

  • بلادرنگ. Appwrite دارد، فیکارو ندارد. برای چت، بازی چندنفره یا مکان‌نمای زنده همین حالا Appwrite را بردارید.
  • توابع با هر زبانی. Appwrite چهارده زبان اجرا می‌کند؛ فانکشن‌های فیکارو جاوااسکریپت‌اند.
  • پیام‌رسانی و میزبانی سایت. Appwrite این‌ها را هم دارد.
  • کنترل کامل روی زیرساخت. اگر داده باید فیزیکاً روی سرور خودتان باشد، هیچ سرویسی جای خودمیزبانی را نمی‌گیرد.

کدام را انتخاب کنم؟

۱. Appwrite برایتان کار می‌کند و فقط کارت ندارید → اگر بلادرنگ لازم ندارید، سرویس داخلی؛ اگر دارید، خودمیزبانی Appwrite. ۲. سرور کافی و آدم DevOps دارید → همان Appwrite خودمیزبان. بهترین گزینه‌ی این فهرست است. ۳. پروژه‌ی کوچک یا MVP تک‌نفره → PocketBase. ۴. نمی‌خواهید سرور نگه دارید و ریال می‌پردازید → فیکارو یا یک سرویس ابری خارجی.

مهاجرت از Appwrite: چه چیزی می‌شکند

خبر خوب این است که Appwrite از ابتدا REST است، پس برخلاف مهاجرت از فایربیس، مدل ذهنی‌تان عوض نمی‌شود. سه چیز کار می‌برد:

کاربران. رمزها هش‌شده‌اند و قابل انتقال به هر مقصدی نیستند. مسیر عملی، ورود با کد پیامکی است تا کاربر بدون نیاز به رمز قدیمی وارد شود — احراز هویت با شماره موبایل کل جریانش را دارد.

فایل‌ها. ذخیره‌سازی Appwrite API خودش را دارد؛ انتقال یعنی یک اسکریپت که همه را می‌خواند و در مقصد آپلود می‌کند. کار سختی نیست، ولی وقت می‌برد.

توابع. اگر منطقی در Functions نوشته‌اید، باید بازنویسی شود. این معمولاً بزرگ‌ترین بخش کار است.

جمع‌بندی

Appwrite محصول خوبی است و مشکلش تحریم نیست. اگر کنارش می‌گذارید، به یکی از این سه دلیل است: کارت دلاری ندارید، پلن رایگانش پروژه‌تان را می‌خواباند، یا حاضر نیستید سرور نگه دارید. دو تای اول را یک سرویس داخلی حل می‌کند و سومی را هیچ گزینه‌ی خودمیزبانی. اگر می‌خواهید همین مقایسه را برای فایربیس ببینید، جایگزین فایربیس در ایران ده گزینه را با تاریخ بررسی کنار هم گذاشته است.

برای دیدن یک بک‌اند واقعی و کارکننده، قالب‌های آماده نقطه‌ی شروع بهتری از صفر است.

سوالات متداول

آیا Appwrite در ایران فیلتر است؟
در بررسی ۱۵ شهریور ۱۴۰۵ از یک سرور داخل ایران، نه: سایت رسمی با کد ۲۰۰ باز شد، سرویس ابری‌اش پاسخ داد و ایمیج نسخه‌ی ۲٫۰٫۰ هم از Docker Hub دانلود شد. در شرایط استفاده و سیاست حریم خصوصی‌اش هم هیچ بند کشور محدودشده‌ای نیست. ولی وضعیت شبکه در ایران تغییر می‌کند، پس قبل از تصمیم خودتان یک بار تست کنید.
برای اجرای Appwrite روی سرور خودم چه سخت‌افزاری لازم است؟
حداقلی که خودشان مستند کرده‌اند ۲ هسته پردازنده، ۴ گیگابایت رم و ۲ گیگابایت swap است، به‌علاوه‌ی Docker Compose نسخه‌ی ۲. سرور مجازی یک‌هسته‌ای با ۲ گیگابایت رم — که پلن رایج و ارزان بازار ایران است — زیر این حداقل است و باید سرور بزرگ‌تری بگیرید.
پلن رایگان Appwrite Cloud برای محصول واقعی کافی است؟
سقف‌هایش برای شروع کافی است، ولی یک بند دارد که برای محصول زنده مشکل‌ساز است: پروژه‌ای که یک هفته بی‌استفاده بماند متوقف می‌شود. برای یادگیری و نمونه‌ی اولیه گزینه‌ی خوبی است؛ برای چیزی که کاربر واقعی دارد نه.
فرق فیکارو با Appwrite در چیست؟
دو تفاوت اصلی. اول اینکه نگه‌داری سرور با فیکارو نیست و پرداختش ساعتی و به تومان است، در حالی که Appwrite یا خودمیزبان است یا اشتراک دلاری می‌خواهد. دوم اینکه Appwrite چیزهایی دارد که فیکارو ندارد — بلادرنگ، توابع چندزبانه، پیام‌رسانی — و اگر یکی از این‌ها هسته‌ی محصول شماست، Appwrite انتخاب درست است.

مطالب مرتبط