Loading...

جایگزین Vercel

یک جایگزین Vercel برای اپ‌های full-stack Next.js

Vercel فرانت‌اند شما را روی توابع serverless اجرا می‌کند و هر منبع را با کنتور جدا صورت‌حساب می‌کند. ما اپ Next.js یا Node.js شما را به‌صورت یک کانتینر اجرا می‌کنیم، همراه با دیتابیس، ذخیره‌سازی، WAF و CDN آن در یک پلن ماهانه. این صفحه توضیح می‌دهد که این دو مدل چگونه قیمت‌گذاری می‌شوند، در سمت ما چه چیزی دریافت می‌کنید، و جابه‌جایی چگونه انجام می‌شود.

همه پلن‌ها با 15 روز دوره آزمایشی ارائه می‌شوند. هر زمان با یک کلیک لغو کنید — همان روز مبلغ بازگردانده می‌شود و استفاده از دوره آزمایشی ادامه می‌یابد.

یک جایگزین Vercel برای اپ‌های full-stack Next.js
Gitدیپلوی با Push
Postgres · Redisافزونه‌های مدیریت‌شده
WAFدر همهٔ پلن‌ها
$9شروع از، در ماه

نحوهٔ صورت‌حساب Vercel

قیمت‌های Vercel در زیر همان‌طور است که در صفحهٔ قیمت‌گذاری Vercel در تاریخ 14 اکتبر 2026 منتشر شده؛ برای ارقام فعلی همان‌جا را بررسی کنید.

پلن Hobby رایگان است و به استفادهٔ شخصی و غیرتجاری محدود می‌شود. Pro ماهی $20 است و $20 اعتبار مصرفی در آن گنجانده شده؛ هر صندلی توسعه‌دهندهٔ اضافه ماهی $20 دیگر است. روی پلن، مصرف به‌صورت جداگانه برای هر منبع اندازه‌گیری می‌شود: 1 ترابایت انتقال داده گنجانده شده، سپس از $0.15 به‌ازای هر گیگابایت؛ 10 میلیون درخواست CDN، سپس از $2 به‌ازای هر میلیون. توابع بر اساس Active CPU (4 ساعت گنجانده شده، سپس از $0.128 به‌ازای هر ساعت)، حافظهٔ تخصیص‌یافته (360 گیگابایت-ساعت گنجانده شده، سپس از $0.0106 به‌ازای هر گیگابایت-ساعت) و فراخوانی‌ها (1 میلیون گنجانده شده، سپس از $0.60 به‌ازای هر میلیون) صورت‌حساب می‌شوند. بهینه‌سازی تصویر از $0.05 به‌ازای هر 1,000 تبدیل شروع می‌شود.

هیچ‌کدام از این‌ها غیرمنطقی نیست، اما به این معناست که فاکتور جمع چند کنتور است، و بیشتر آن‌ها با ترافیک شما و با مدت اجرای توابعتان تغییر می‌کنند. یک اوج ترافیکی یا یک مسیر API کند، در بیش از یک خط روی فاکتور ظاهر می‌شود.

نحوهٔ قیمت‌گذاری ما

ما سه پلن می‌فروشیم: Small به $9، Medium به $19 و Large به $49 در ماه. هر کدام یک pool ماهانهٔ واحد به شما می‌دهد — 200 گیگابایت، 400 گیگابایت یا 1,000 گیگابایت — که هم ترافیک CDN شما و هم اوج ذخیره‌سازی آبجکت آن ماه، از همان pool کسر می‌شود.

اپ شما به‌صورت یک کانتینر که همیشه روشن است اجرا می‌شود. یک درخواست، یک فراخوانی تابع قابل‌صورت‌حساب نیست، و پشت هر کدام هیچ کنتور به‌ازای هر ساعت-CPU وجود ندارد: اپ همان CPU و حافظه‌ای را دارد که به آن داده‌اید، و اگر به بیشتر نیاز داشت، به‌جای تماشای یک نمودار مصرف، یک ارتقای ثابت از پنل اضافه می‌کنید. دیتابیس، کش، ذخیره‌سازی آبجکت، WAF و CDN روی همان حساب و همان فاکتور قرار دارند.

پلن‌ها به دلار آمریکا یا به لیر ترکیه صورت‌حساب می‌شوند، هرکدام که برای شرکت شما مناسب‌تر است.

Next.js به‌صورت یک سرور Node.js معمولی اجرا می‌شود

هیچ‌چیز در اینجا مخصوص ران‌تایم Vercel نیست، پس چیزی برای سازگار بودن با آن وجود ندارد. Next.js را با output: 'standalone' بیلد کنید، و نتیجه یک سرور Node.js کوچک است که یک Dockerfile کوتاه آن را در یک کانتینر بسته‌بندی می‌کند. رندر سمت سرور، مسیرهای API، میدل‌ور و server actions همگی داخل همان سرور اجرا می‌شوند، دقیقاً همان‌طور که وقتی next start را روی دستگاه خودتان اجرا می‌کنید اجرا می‌شوند.

چون پروسه بین درخواست‌ها زنده می‌ماند، pool اتصال دیتابیس و کش‌های درون‌حافظه‌اش گرم می‌مانند. همین موضوع برای هر چیز دیگری که کنار آن اجرا می‌کنید هم صادق است: یک API با Express یا NestJS، یک worker، یک مصرف‌کنندهٔ صف.

دیپلوی از Git، rollback در یک قدم

GitHub App ما را نصب کنید، ریپازیتوری و برنچ را انتخاب کنید، و هر push یک image جدید می‌سازد و آن را دیپلوی می‌کند. GitLab و سایر Git هاست‌ها روی HTTPS هم کار می‌کنند، با یک access token و یک webhook امضاشده. بیلد توسط Dockerfile شما تعریف می‌شود، که از یک فایل docker-compose ارجاع داده می‌شود، پس چند سرویس در یک ریپازیتوری — یک اپ وب، یک API، یک worker — با هم دیپلوی می‌شوند. بیلدها در یک sandbox ایزوله با layer caching اجرا می‌شوند، و یک بیلد که شکست می‌خورد هرگز نسخه‌ای که در حال اجراست را جایگزین نمی‌کند. اصلاً Git ندارید؟ cdnctl deploy پوشهٔ پروژه را آپلود می‌کند، آن را بیلد می‌کند و یک آدرس HTTPS به شما می‌دهد.

هر دیپلوی به‌عنوان یک revision نگه داشته می‌شود، و rollback یک عمل از پنل، CLI یا API است. اپ‌هایی که دیسک مخصوص خود را ندارند بدون downtime منتشر می‌شوند: کانتینر جدید، به‌محض اینکه پاسخ بدهد ترافیک را می‌گیرد، سپس کانتینر قدیمی متوقف می‌شود.

برای تغییراتی که می‌خواهید پیش از کاربرانتان ببینید، یک نسخهٔ staging از اپ با آدرس مخصوص خودش بسازید، آنجا تستش کنید، آن را به production ارتقا دهید، و اگر نظرتان را عوض کردید آن ارتقا را برگردانید.

دیتابیس، کش، ذخیره‌سازی و cron در همان پنل

اکثر اپ‌های Next.js به بیش از فرانت‌اند نیاز دارند. اینجا Postgres، MySQL یا Redis مدیریت‌شده را به‌عنوان افزونه فعال می‌کنید، و جزئیات اتصال آن‌ها به‌صورت environment variable در اپ تزریق می‌شود — بدون فروشندهٔ دوم، بدون کپی‌کردن دستی اعتبارنامه‌ها. ذخیره‌سازی آبجکت سازگار با S3، آپلودها و فایل‌های استاتیک را نگه می‌دارد، و یک اپ می‌تواند وقتی به دیسک نیاز دارد یک persistent volume مونت کند.

environment variableها و اسرار رمزنگاری‌شده به‌ازای هر اپ تنظیم می‌شوند. jobهای زمان‌بندی‌شده یک مسیر روی اپ شما را طبق یک برنامهٔ cron فراخوانی می‌کنند، و یک worker پس‌زمینه چیزی نیست جز یک اپ کانتینری بدون پورت HTTP.

صفحهٔ هاستینگ Node.js پلتفرم را با جزئیات بیشتری توضیح می‌دهد.

امنیت و کنترل در edge

دامنه‌های اپ شما پشت همان شبکهٔ edge قرار دارند که به مشتریان CDN ما سرویس می‌دهد. یک فایروال اپلیکیشن وب (ModSecurity همراه با OWASP Core Rule Set) در همهٔ پلن‌ها گنجانده شده، و وقتی یک درخواست مجاز را مسدود می‌کند، شما خودتان از پنل همان یک قانون را روی همان مسیر مستثنا می‌کنید. محدودسازی نرخ، محافظت در برابر بات با JavaScript challenge، و مسدودسازی کشور، ASN یا IP هم هست، همراه با هدرهای پاسخ سفارشی.

دامنه‌های سفارشی به‌طور خودکار گواهی می‌گیرند، و هر اپ هم، در زمان تست، یک آدرس رایگان زیر cdn.com.tr می‌گیرد. پاکسازی کش بر اساس URL، بر اساس پیشوند یا برای همه‌چیز، یک فراخوانی به REST API یا cdnctl purge است، پس یک پایپلاین دیپلوی می‌تواند هر چه را که تغییر داده پاک کند.

اعضای تیم دسترسی owner، editor یا viewer می‌گیرند، و دیپلوی‌ها می‌توانند در CI از توکن‌های API مخصوص دیپلوی خودشان استفاده کنند.

جابه‌جایی یک اپ Next.js از Vercel

1. در next.config.js، مقدار output: 'standalone' را تنظیم کنید. یک Dockerfile اضافه کنید که وابستگی‌ها را نصب می‌کند، next build را اجرا می‌کند و node server.js را استارت می‌کند، و یک فایل docker-compose کوتاه که به آن اشاره می‌کند. برای نمونه به دیپلوی یک اپ Next.js و دیپلوی با Docker Compose مراجعه کنید.

2. حساب کاربری خود را بسازید، ریپازیتوری GitHub را متصل کنید و برنچ را انتخاب کنید. اولین push اپ را می‌سازد و دیپلوی می‌کند.

3. environment variableها و اسرار خود را در پنل اضافه کنید. اگر اپ از Postgres، MySQL یا Redis استفاده می‌کند، همان engine را اینجا به‌عنوان افزونه فعال کنید و داده را منتقل کنید.

4. روی آدرس رایگان cdn.com.tr اپ تست کنید. وقتی نتیجه درست بود، دامنهٔ خودتان را اضافه کنید و با یک رکورد CNAME آن را به ما اشاره دهید؛ گواهی به‌طور خودکار صادر می‌شود.

سؤالات متداول جایگزین Vercel

آیا رندر سمت سرور و مسیرهای API در Next.js اینجا اجرا می‌شوند؟

بله. با output: 'standalone'، Next.js به یک سرور Node.js بیلد می‌شود، و آن سرور به‌صورت یک اپ کانتینری اجرا می‌شود. رندر سمت سرور، مسیرهای API، میدل‌ور و server actions داخل آن اجرا می‌شوند، همان‌طور که با next start اجرا می‌شوند.

آیا به‌ازای هر درخواست یا هر فراخوانی تابع پرداخت می‌کنم؟

نه. شما یک پلن ماهانه با یک pool برای ترافیک CDN و ذخیره‌سازی آبجکت پرداخت می‌کنید. اپ به‌صورت یک کانتینر همیشه‌روشن با CPU و حافظه‌ای که خودتان انتخاب می‌کنید اجرا می‌شود؛ درخواست‌ها به آن به‌عنوان فراخوانی تابع یا زمان CPU اندازه‌گیری نمی‌شوند.

از کدام ارائه‌دهنده‌های Git می‌توانم دیپلوی کنم؟

GitHub از طریق GitHub App ما، با دیپلوی خودکار روی هر push به برنچی که انتخاب می‌کنید. GitLab و سایر Git هاست‌ها روی HTTPS با یک access token و یک webhook امضاشده کار می‌کنند. بدون Git، cdnctl deploy پوشهٔ پروژهٔ شما را آپلود و بیلد می‌کند.

آیا می‌توانم یک دیپلوی خراب را برگردانم؟

بله. هر دیپلوی به‌عنوان یک revision نگه داشته می‌شود، و می‌توانید از پنل، CLI یا API به یک نسخهٔ قبلی برگردید. با یک نسخهٔ staging هم می‌توانید ابتدا یک نسخه را تست کنید، آن را ارتقا دهید، و در صورت نیاز آن ارتقا را برگردانید.

آیا API و CLI وجود دارد؟

بله. دیپلوی‌ها، rollbackها، scaling، لاگ‌ها، environment variableها، افزونه‌ها و پاکسازی کش از طریق REST API و ابزار خط فرمان cdnctl در دسترس‌اند؛ پایپلاین‌های CI می‌توانند از توکن‌های مخصوص دیپلوی استفاده کنند، و یک سرور MCP به agentهای هوش مصنوعی اجازه می‌دهد با حساب شما کار کنند.

اپ Next.js خود را همراه با دیتابیس و CDN آن اجرا کنید