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

هاست بک‌اند اپلیکیشن؛ سرور، پلتفرم اجرای کد یا بک‌اند آماده؟

بک‌اند را کجا اجرا کنیم؟ سه لایه — سرور مجازی، پلتفرم اجرای کد مثل لیارا، و بک‌اند آماده — با جدول مقایسه و مرز دقیق هرکدام.

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

وقتی اپ یا سایتتان آماده‌ی کاربر واقعی می‌شود، یک سؤال می‌ماند که جوابش را کسی صریح ننوشته: بک‌اند را کجا اجرا کنیم؟ سه لایه‌ی متفاوت جواب می‌دهند — سرور خالی، پلتفرم اجرای کد، و بک‌اند آماده — و هر سه به اسم «هاست» فروخته می‌شوند، در حالی که کار کاملاً متفاوتی می‌کنند. مهم‌ترین تفاوت هم فنی نیست: دو تای اول فرض می‌کنند بک‌اند را نوشته‌اید و سومی فرض می‌کند ننوشته‌اید. این راهنما هر سه را با نام و مرز مشخص می‌کند تا بدانید کدام مال شماست.

سه لایه‌ای که همه‌شان «هاست» صدا زده می‌شوند

۱. سرور مجازی (IaaS). یک ماشین خالی با دسترسی root. سیستم‌عامل، دیتابیس، Nginx، گواهی SSL، فایروال و بکاپ را خودتان نصب و نگه‌داری می‌کنید. بیشترین آزادی و بیشترین کار. ارائه‌دهنده‌های داخلی زیادی دارد و جزئیات هزینه‌ی پنهانش را در VPS رایگان برای بک‌اند؟ باز کرده‌ایم.

۲. پلتفرم اجرای کد (PaaS). شما کدی که نوشته‌اید را می‌فرستید و پلتفرم اجرایش می‌کند؛ سرور و به‌روزرسانی و مقیاس با آن‌هاست. در ایران لیارا شناخته‌شده‌ترین‌شان است و توصیف خودشان دقیقاً همین است: کارهای پیچیده‌ی راه‌اندازی و پیکربندی سرور انجام شده تا شما فقط سورس کدتان را بفرستید و اجرا کنید. برای Node.js، Django، Laravel، Go و بقیه محیط اجرا دارند، کنارش دیتابیس مدیریت‌شده (PostgreSQL، MySQL، MongoDB، Redis) و فضای ذخیره‌سازی، با پرداخت ساعتی و ریالی. چابکان و هم‌روش هم در همین لایه‌اند.

۳. بک‌اند آماده (BaaS). اینجا کدی نمی‌فرستید، چون کدی نوشته نشده. مدل داده را تعریف می‌کنید و API و دیتابیس و احراز هویت همان لحظه بالا می‌آیند. فیکارو در این لایه است.

در نوشته‌های ابری فارسی معمولاً سه حرف را می‌بینید — IaaS، PaaS، SaaS. حرف چهارم، BaaS، تقریباً هیچ‌جا نیست؛ نه اینکه وجود نداشته باشد، بلکه دسته‌ای است که در ایران دیرتر آمده. جای خالی‌اش همان جایی است که این مقاله را لازم کرده.

تفاوت اصلی: کد را چه کسی نوشته است؟

این تنها سؤالی است که واقعاً انتخاب را تعیین می‌کند. PaaS یک محیط اجراست: اگر بک‌اند نوشته‌شده‌ای نداشته باشید، چیزی که تحویل می‌گیرید یک محیط خالی است و باید اول برنامه‌نویس بک‌اند پیدا کنید یا خودتان بنویسید. BaaS برعکس است: خودِ بک‌اند را می‌دهد، ولی به قیمت اینکه در چارچوب آن کار کنید.

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

معیارسرور مجازیپلتفرم اجرای کدبک‌اند آماده
فرض اولیهکد + مهارت سروری داریدکد داریدکد ندارید
چه چیزی تحویل می‌گیریدماشین خالیمحیط اجرای کد شماAPI و دیتابیس آماده
زمان تا اولین APIروزها تا هفته‌هابه‌اندازه‌ی نوشتن بک‌اندهمان نشست کاری
دیتابیسخودتان نصب می‌کنیدمدیریت‌شده، جدا سفارش می‌دهیدهمراه پروژه
احراز هویت کاربرمی‌نویسیدمی‌نویسیدآماده
مستندات APIمی‌نویسیدمی‌نویسیدخودکار و به‌روز
زبان و فریم‌ورک دلخواهکاملاز فهرست پشتیبانی‌شدهموضوعیت ندارد
دسترسی root و SQL خامداریدمحدودندارید

کجا پلتفرم اجرای کد انتخاب درست است و فیکارو نیست

این فهرست را جدی بگیرید، چون چهار موردش را فیکارو واقعاً نمی‌دهد:

  • بک‌اند نوشته‌شده دارید. پروژه‌ی Django یا Laravel موجودی که کار می‌کند، بازنویسی نمی‌خواهد؛ می‌خواهد جایی اجرا شود. اینجا PaaS دقیقاً ابزار درست است.
  • زبان یا فریم‌ورک خاص. اگر معماری‌تان روی چیزی سوار است که باید خودتان اجرا کنید، به محیط اجرای کد نیاز دارید.
  • پردازش سنگین و کار پس‌زمینه. رندر ویدیو، پردازش تصویر، مدل یادگیری ماشین، صف طولانی.
  • SQL خام و دسترسی مستقیم به دیتابیس. در فیکارو کار با داده از راه API و پنل است؛ اگر گزارش‌گیری‌تان به کوئری مستقیم نیاز دارد، دیتابیس مدیریت‌شده‌ی یک PaaS جواب می‌دهد.
  • میزبانی فایل‌های فرانت‌اند. امروز فیکارو بک‌اند را اجرا می‌کند و فایل‌های سایت یا پنل وب‌تان جای دیگری میزبانی می‌شوند.

کجا بک‌اند آماده جلو می‌زند

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

در این حالت با PaaS هنوز باید همان CRUD و لاگین و صفحه‌بندی و مستندات را بنویسید و تا آخر عمر پروژه نگه دارید. با بک‌اند آماده این مرحله حذف می‌شود: مدل داده را تعریف می‌کنید و API واقعی روی PostgreSQL اختصاصی همان لحظه بالاست، با احراز هویت کاربران، دسترسی سطح رکورد، و مستندات Swagger و کالکشن Postman که خودکار به‌روز می‌مانند.

curl "https://api.fikaro.ir/my-shop/v1/order?filter[status]=paid&sort=-created_at&limit=20" \
  -H "Authorization: Bearer apck_..."

فیلتر و مرتب‌سازی و صفحه‌بندی از همان اولین درخواست هست و چیزی برایشان ننوشته‌اید. مسیر کاملش در ساخت API بدون کدنویسی آمده و اگر از سمت اپ موبایل می‌آیید، بک‌اند فلاتر و ری‌اکت‌نیتیو کد اتصال را دارد.

این‌ها رقیب هم نیستند — کنار هم می‌نشینند

ترکیبی که امروز برای خیلی از تیم‌ها منطقی‌ترین است: فایل‌های فرانت‌اند روی یک پلتفرم اجرای کد، بک‌اند روی فیکارو. اپ یا سایتتان از یک جا سرو می‌شود و داده و احراز هویتش از جای دیگر می‌آید؛ هیچ‌کدام جای دیگری را تنگ نمی‌کند.

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

هزینه را چطور مقایسه کنیم

مقایسه‌ی «قیمت ماهانه در برابر قیمت ماهانه» گمراه‌کننده است، چون دو طرف چیزهای متفاوتی می‌فروشند. مقایسه‌ی هم‌جنس این است:

  • سرور مجازی: اجاره + زمان راه‌اندازی و نگه‌داری + هزینه‌ی نوشتن خودِ بک‌اند
  • پلتفرم اجرای کد: هزینه‌ی پلتفرم + هزینه‌ی دیتابیس + هزینه‌ی نوشتن و نگه‌داری بک‌اند
  • بک‌اند آماده: هزینه‌ی سرویس، بدون قلم سوم

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

اگر هنوز در حال انتخاب دسته‌اید، API آماده چهار نوع «آماده» را از هم جدا می‌کند، دیتابیس آنلاین همین بحث را از سمت داده باز می‌کند و Backend as a Service ایرانی مقایسه با Firebase و Supabase را دارد.

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

فرق لیارا و فیکارو چیست؟
لیارا پلتفرم اجرای کد است: بک‌اندی که خودتان نوشته‌اید را می‌فرستید و اجرا می‌شود، کنارش دیتابیس مدیریت‌شده و فضای ذخیره‌سازی هم می‌دهد. فیکارو بک‌اند آماده است: کدی نمی‌فرستید، چون مدل داده را تعریف می‌کنید و API و دیتابیس و احراز هویت ساخته می‌شوند. اگر بک‌اند نوشته‌شده دارید یا زبان و پردازش خاصی لازم دارید، پلتفرم اجرای کد درست‌تر است؛ اگر هنوز بک‌اند ندارید و نمی‌خواهید بنویسید، بک‌اند آماده.
می‌شود هم‌زمان از هر دو استفاده کرد؟
بله و برای خیلی از تیم‌ها منطقی‌ترین حالت همین است: فایل‌های فرانت‌اند روی یک پلتفرم اجرای کد میزبانی شوند و داده و احراز هویت از فیکارو بیاید. اگر بخشی از کار هم واقعاً کد اختصاصی می‌خواهد، همان یک تکه جدا اجرا می‌شود و از راه وبهوک به بقیه وصل می‌شود.
هاست بک‌اند ارزان‌تر است یا بک‌اند آماده؟
اگر فقط اجاره‌ی ماهانه را مقایسه کنید، هاست معمولاً عدد کوچک‌تری دارد. ولی هاست خالی هنوز بک‌اند ندارد؛ هزینه‌ی نوشتن و نگه‌داری آن باید به همان عدد اضافه شود و معمولاً بزرگ‌ترین قلم است. با احتساب آن، مقایسه اغلب برعکس می‌شود.
اگر بعداً خواستم از بک‌اند آماده به کد اختصاصی مهاجرت کنم چه؟
مدل داده، رکوردها و قوانین هر زمان به‌صورت کامل قابل خروجی گرفتن‌اند، پس داده‌تان گروگان نیست و تیم بعدی روی هر زیرساختی — از جمله یک پلتفرم اجرای کد — ادامه می‌دهد.

مطالب مرتبط