هر سؤالی که درباره «ساخت یک اپلیکیشن با هوش مصنوعی چقدر هزینه دارد» دریافت میکنم، در واقع دو سؤال است که یک کتوشلوار پوشیدهاند. یکی هزینه ساختهشدن خود آن است — که در بیشتر پلتفرمها، از جمله همین یکی، برای یک سایت ساده تقریباً صفر است. و دیگری هزینه زنده نگهداشتن آن است: میزبانی، یک پایگاه داده در صورت نیاز، هر API شخص ثالثی که اپلیکیشن شما فراخوانی میکند، یک دامنه، و ترافیکی که امیدوارید دریافت کنید. آن صورتحساب دوم همان چیزی است که مردم را غافلگیر میکند، چون کسی پیش از انتشار آن را فهرست نمیکند. پس در ادامه فهرست آن آمده است.
آیا میزبانی سایت من واقعاً برای همیشه رایگان است؟
اگر ایستا (static) باشد — صفحات بازاریابی، یک نمونهکار، یک صفحه فرود با فرم تماس، بیشتر چیزهایی که builder در اولین پرامپت تولید میکند — بله، آنقدر به «برای همیشه» نزدیک است که فرقی نمیکند. assetهای ایستا که از یک CDN ارائه میشوند، کسری از یک سنت برای هر بازدیدکننده هزینه دارند، و یک سطح رایگان این را در هر سطح ترافیکی که یک سایت جدید در سال اول خواهد دید، جذب میکند. مشکل اصلی میزبانی نیست، بلکه منظور مردم از «ایستا» است. یک وبلاگ با بخش نظرات ایستا نیست. یک داشبورد که کاربران را وارد سیستم میکند ایستا نیست. لحظهای که اپلیکیشن شما نیاز داشته باشد چیزی را بین بازدیدها به خاطر بسپارد، شما از دسته «رایگان برای همیشه» خارج شدهاید، حتی اگر خود صفحات هنوز شبیه HTML ساده به نظر برسند.
وقتی اپلیکیشن من به یک پایگاه داده نیاز داشته باشد، نه فقط صفحات، چه اتفاقی میافتد؟
این همان دوراهی واقعی است. یک پایگاه داده به معنای یک فرآیند در حال اجرا در جایی است، و فرآیندهای در حال اجرا هزینه دارند، چه کسی از آنها استفاده کند چه نکند — این همان تفاوت بین صورتحساب CDN و صورتحساب محاسباتی است. اینطور برایش بودجهبندی کنید:
| چه چیزی را اجرا میکنید | هزینه ماهانه معمول | چه زمانی صدق میکند |
|---|---|---|
| سایت ایستا، فقط CDN | $0 | صفحات بازاریابی، نمونهکارها، صفحات فرود، بیشتر ساختههای اولیه |
| پایگاه داده مدیریتشده کوچک (Postgres/SQLite روی دیسک) | $0–$15 | حسابهای کاربری، یک لیست انتظار، یک اپلیکیشن CRUD ساده با کمتر از ۱۰ هزار ردیف |
| پایگاه داده مدیریتشده در مقیاس واقعی | $25–$150+ | هزاران کاربر فعال، کارهای پسزمینه، هر چیزی با ترافیک نوشتاری سنگین |
| ذخیرهسازی فایل/آبجکت (تصاویر، آپلودها) | $0–$10 | هر اپلیکیشنی که به کاربران اجازه آپلود چیزی را میدهد |
دام تعرفه رایگان این است که ردیفهای ۰ دلاری واقعاً برای مدت طولانی رایگان هستند، پس افراد آن تختبودن را به آینده تعمیم میدهند و وقتی ردیف دوم از راه میرسد، غافلگیر میشوند. این هزینه بهتدریج زیاد نمیشود — یک تابع پلهای است. تا زمانی که احراز هویت یا فرمی که در یک جدول مینویسد اضافه نکردهاید، هزینه شما ۰ دلار است، و بعد از آن باید هزینه سروری را بپردازید که ۲۴ ساعته روشن است، فارغ از اینکه به یک بازدیدکننده سرویس میدهد یا هزار نفر.
آیا فراخوانیهای API هوش مصنوعی درون اپلیکیشن من هزینهی اضافی دارند؟
بله، و این چیزی است که سازندگان معمولاً در محاسبهی هزینه فراموش میکنند. اگر از سازندهی هوش مصنوعی بخواهید سایتی برایتان بسازد، این یک هزینهی ساخت است که با اعتبارها پرداخت میشود. اما اگر خود سایت در زمان اجرا مدلی از هوش مصنوعی را فراخوانی کند — یک چتبات پشتیبانی، یک تولیدکنندهی تصویر، یا دکمهی «این را خلاصه کن» — هر یک از این فراخوانیها یک درخواست API زنده است که به ازای هر استفاده هزینه دارد و به هر ارائهدهندهی مدلی که متصل کردهاید پرداخت میشود، هر بار که بازدیدکنندهای روی آن کلیک میکند. هزینهی زمان ساخت یکباره است. اما یک ویژگی هوش مصنوعی در زمان اجرا هزینهای تکرارشونده است که با ترافیک شما مقیاس میگیرد، و سریعترین راه برای تبدیل یک لحظهی ویروسی به قبضی است که انتظارش را نداشتید.
راهحل این نیست که از ویژگیهای هوش مصنوعی اجتناب کنید، بلکه باید بهشدت از کش استفاده کنید (خلاصهی یکسان را دوباره تولید نکنید)، سقف مصرف تعیین کنید، و پیش از فعالسازی ویژگی، هزینهی هر فراخوانی را بدانید تا اینکه آن را در یک فاکتور کشف کنید.
بزرگترین غافلگیری هزینهای که سازندگان در ماه دوم با آن مواجه میشوند چیست؟
همان تابع پلهای پایگاه داده که در بالا اشاره شد، با اختلاف زیاد. رتبهی دوم یک ویژگی هوش مصنوعی در زمان اجراست که هیچکس روی آن محدودیت نرخ نگذاشته. رتبهی سوم — که با نگاه به گذشته تقریباً خندهدار است — فراموش کردن تمدید دامنه است. شما ۱۲ دلار برای یک سال پرداخت کردید و احساس کردید کارتان با پول تمام شده، و یازده ماه بعد یک ایمیل از ثبتکنندهی دامنه به پوشهای میرود که چک نمیکنید. سایت بهآرامی از کار نمیافتد؛ یک سهشنبه ناگهان به صفحهی پارکینگ ریدایرکت میشود و شما این را از یک مشتری میفهمید، نه از داشبورد خودتان.
آیا باید برای دامنه بودجه در نظر بگیرم یا این هزینه شامل میشود؟
دامنهها جدا از پلتفرمی که سایتتان را میسازید خریداری میشوند — معمولاً سالانه ۱۰ تا ۲۰ دلار برای یک `.com`، و بیشتر برای دامنههای کوتاهتر یا پسوندهای جدیدتر، و این هزینهای است که صرف نظر از اینکه از چه ابزار ساخت یا میزبانی استفاده کنید باید بپردازید، چون به ثبتکننده دامنه پرداخت میشود، نه به پلتفرم. این را تنها هزینهای بدانید که واقعاً ثابت و بیدردسر است: یک ثبتکننده انتخاب کنید، تمدید خودکار را فعال کنید و عمداً فراموشش کنید.
وقتی ترافیک سایت ناگهان افزایش پیدا میکند چه اتفاقی میافتد — آیا با یک صورتحساب غیرمنتظره مواجه میشوم؟
کاملاً بستگی دارد به نوع این افزایش. یک صفحه استاتیک که ناگهان در Hacker News دیده شده باشد، روی یک CDN تقریباً هیچ اتفاقی محسوب نمیشود — این دقیقاً همان الگوی ترافیکی است که CDNها برای جذب آن ساخته شدهاند، و هزینه هر بازدیدکننده اضافه ناچیز است. اما افزایشی که به پایگاهداده یا یک قابلیت هوش مصنوعی در زمان اجرا برسد، داستان کاملاً متفاوتی است، چون حالا هر بازدیدکننده اضافه یعنی یک کوئری یا یک فراخوانی مدل بیشتر، و اینها با افزایش حجم ارزانتر نمیشوند، برخلاف پهنای باند CDN. اگر اپلیکیشنتان هم یک صفحه معرفی استاتیک دارد و هم یک محصول مبتنی بر پایگاهداده پشت ورود کاربر، صفحه معرفی میتواند بهرایگان وایرال شود در حالی که صفحه محصول زیر آن بهآرامی هزینه پردازش به ازای هر ثبتنام را بالا میبرد. قبل از اینکه فرض کنید «وایرال شدن» رایگان است، بررسی کنید کدام بخشهای اپلیکیشنتان استاتیک هستند و کدام نیستند.
واقعاً کِی منطقی است که از پلن رایگان خارج شویم؟
تقریباً: همان لحظهای که اپلیکیشنتان باید کاربر را بین دو بازدید به خاطر بیاورد. نه زودتر. دیدهام افرادی که برای یک پورتفولیوی استاتیک که هرگز به بیش از سطح رایگان نیاز نخواهد داشت، پیشاپیش و «برای احتیاط» ارتقا دادهاند، و از طرف دیگر افرادی که هفتهها روی پلن رایگان ماندهاند درحالیکه اپلیکیشنشان واضحاً به ذخیرهسازی دائمی نیاز داشته و با اسکریپتها و راهحلهای موقت سرپا نگهش داشتهاند، که در نهایت از نظر زمان مهندسی هزینهاش بیشتر از ارتقا شده. پلن رایگان برای کاری که برایش ساخته شده بسیار سخاوتمند است — صفحات، نه وضعیت (state). همین که چیزی را ذخیره میکنید، هزینه کوچکترین پلن پولی را واقعبینانه محاسبه کنید بهجای اینکه ارتقا را نوعی شکست تلقی کنید.
بنیانگذاری که با او صحبت کردم ماه اول خودش را اینطور توصیف کرد: «ساخت رایگان بود، میزبانی رایگان بود، و بعد یک صفحه ورود اضافه کردم و ناگهان یک صورتحساب داشتم. من کار پرهزینهای انجام نداده بودم. فقط یک پایگاهداده اضافه کرده بودم.» این یک اشکال در نحوه قیمتگذاری این موارد نیست — فقط همان جایی است که بخش رایگان اینترنت واقعاً به پایان میرسد.
پس هزینه کل واقعبینانه برای یک اپلیکیشن کوچک و واقعی چقدر است؟
برای یک سایت استاتیک: ۰ دلار برای میزبانی، حدود ۱۲ دلار در سال برای دامنه، تمام. برای یک محصول کوچک با ورود کاربر و پایگاهداده، با ترافیک کم اما واقعی: حدود ۰ تا ۱۵ دلار در ماه برای پایگاهداده، ۰ تا ۱۰ دلار برای ذخیرهسازی اگر فایلهای آپلودی دارید، بهعلاوه هر هزینهای برای فراخوانیهای هوش مصنوعی در زمان اجرا که پیادهسازی کردهاید — اگر دارید اغلب بزرگترین و متغیرترین ردیف هزینه، اگر ندارید اغلب صفر. دامنه را هم اضافه کنید. میتوانید یک SaaS کوچک واقعی را برای مدت طولانی با کمتر از ۳۰ دلار در ماه اجرا کنید، پیش از آنکه رشد شما را به سطح بعدی ببرد. عددی که باید نگرانتان کند کل هزینه نیست — بلکه این است که کدام یک از این ردیفها با میزان استفاده مقیاس مییابد و کدام یک نمییابد، چون همین است که تعیین میکند روزی که چیزی که ساختهاید واقعاً کار کند، چه بر سر صورتحسابتان میآید.



