CircleCI Startup Program به شما چه میدهد
CircleCI به ارزش ۳۰۰۰ دلار اعتبار برای پلتفرم CI/CD میزبانی خود ارائه میدهد که تنها یک مورد را اندازه میگیرد: زمان پردازش در پایپلاینهای شما، که بر اساس دقایق ضربدر اندازه ماشین و تعداد کانتینرهایی که همزمان اجرا میشوند، قیمتگذاری میشود.
AI Perks این را در کنار ۷.۷ میلیون دلار اعتبار در ۱۹۴ شرکت دنبال میکند.
محدودیت را زود مشخص کنید، زیرا تصمیم میگیرد که ۳۰۰۰ دلار چقدر دوام میآورد. CircleCI هزینه ماشینهایی را که کد شما را میسازند و تست میکنند، نه ابری که به آن مستقر میشوید، رجیستری که ایمیج در آن قرار میگیرد، یا مانیتورینگ که آن را در تولید نظارت میکند، صورتحساب میکند. شرایط فعلی در getaiperks.com موجود است.

در واقع شما برای چه چیزی به یک فروشنده CI پول میدهید
شما برای ماشینی که مجموعه تست شما را اجرا میکند، به علاوه ابتداییاتی که آن را سریع میکنند: کش کردن (caching)، تقسیم تست (test splitting)، پیکربندی قابل استفاده مجدد، و سختافزاری که میزبان کد شما به صورت رایگان شامل نمیشود، پول پرداخت میکنید.
تصمیم واقعی بین CircleCI و یک فروشنده CI دیگر نیست. این یک پلتفرم اختصاصی در مقابل CI است که در حال حاضر با میزبان کد شما همراه است، که برای یک تیم سه نفره به تنهایی بر اساس اینرسی برنده میشود. چهار مورد تیمها را از آن دور میکند:
- سختافزاری که نمیتوانید با قیمتی منطقی همراه دریافت کنید. ماشینهای با حافظه بالا برای کامپایل سنگین، Arm برای بیلدهای نیتیو، macOS برای هر چیزی که با iOS سر و کار دارد. اندازه باکس یک تنظیم است، نه یک راهحل موقتی.
- کش کردن و تقسیم تست به عنوان ابتداییات. تقسیم یک مجموعه در بین کانتینرها بر اساس دادههای زمانبندی، به جای فهرستی که به صورت دستی نگهداری میشود که کدام تستها کجا اجرا میشوند.
- استفاده مجدد از پیکربندی در بین مخازن. بستههای قابل استفاده مجدد از پیکربندی پایپلاین، بنابراین دوازده سرویس به جای دوازده کپی که از هم دور میشوند، یک وظیفه استقرار را به اشتراک میگذارند.
- دادههای پایپلاین. کدام تستها ناپایدار هستند، کدام وظیفه کندتر شد، کدام مرحله گلوگاه واقعی است. اکثر تیمها نمیتوانند به این سوالات پاسخ دهند و به ازای زمان مرده پول پرداخت میکنند.
قانون سرانگشتی صادقانه: اگر پایپلاین شما سریع است و کسی شکایت نمیکند، CI همراه خوب است و اعتبار بهتر است در جای دیگری خرج شود. اگر مهندسان منتظر سبز شدن (green) هستند، یا بیلد شما به سختافزاری نیاز دارد که میزبان کد شما با قیمت بدی آن را ارائه میدهد، یک پلتفرم اختصاصی ارزانتر است قبل از اینکه اعتبار اصلاً اعمال شود.
رفتار هزینههای CircleCI با افزایش میزان انتشار شما
هزینه CI حاصل چهار مورد است: چند وقت یکبار پوش (push) میکنید، پایپلاین چقدر طول میکشد، ماشین چقدر بزرگ است، و چند کانتینر به صورت موازی اجرا میشوند. بنیانگذاران مورد اول را مدل میکنند و بقیه را نادیده میگیرند، به همین دلیل صورتحساب آنها را شگفتزده میکند.
| عامل هزینه | چه چیزی آن را هدایت میکند | چه چیزی باعث جهش آن میشود |
|---|---|---|
| اجرای پایپلاین | پوشها، درخواستهای کشش (pull requests)، وظایف زمانبندی شده | پایپلاین کامل در هر پوش به هر شاخه |
| مدت زمان وظیفه | زمان دیواره (wall time) کامپایل، نصب، تست | کلیدهای کش که هرگز برخورد نمیکنند، بنابراین وابستگیها هر بار دانلود میشوند |
| کلاس منابع | اندازه ماشین برای هر وظیفه | اندازهگیری بازتابی برای رفع یک مرحله کند و محدود به I/O |
| موازیسازی | کانتینرها در هر وظیفه | راهاندازی تکراری در هر کانتینر، بنابراین ۴ برابر بیش از ۴ برابر هزینه است |
| پلتفرم | لینوکس، Arm، macOS، GPU | یک وظیفه iOS در یک کلاس macOS در کنار یک وظیفه ارزان لینوکس |
| اجرای مجدد | تستهای ناپایدار، استقرارهای ناموفق | همان مجموعه دو بار برای یک ادغام صورتحساب میشود |
| ذخیرهسازی | مصنوعات (artifacts)، کشها، نتایج تست | نگهداری هر مصنوع برای همیشه |
نرخها، سهمیهها و ساختار طرح تغییر میکنند. قبل از مدلسازی هر چیزی، ارقام فعلی را در مقابل صفحه قیمتگذاری CircleCI تأیید کنید.
حسابداری که صورتحساب شما را تعیین میکند، فرکانس کامیت ضربدر فناوت (fan-out) است و سریعتر از تعداد کارکنان ترکیب میشود:
| تیم | اجرای پایپلاین / ماه | دقایق پردازش در هر اجرا | دقایق پردازش ماهانه |
|---|---|---|---|
| ۵ مهندس، ۴ پوش در روز | ۴۰۰ | ۱۶ (۸ دقیقه × ۲ کانتینر) | ۶۴۰۰ |
| ۱۰ مهندس، ۶ پوش در روز | ۱۲۰۰ | ۴۰ (۱۰ دقیقه × ۴ کانتینر) | ۴۸۰۰۰ |
| ۲۰ مهندس، ۶ پوش در روز | ۲۴۰۰ | ۷۲ (۱۲ دقیقه × ۶ کانتینر) | ۱۷۲۸۰۰ |
اینها ارقام نمایشی هستند، نه قیمتهای CircleCI. نکته نسبت است: ۴ برابر تعداد کارکنان، ۲۷ برابر پردازش تولید میکند. هزینه CI با سرعت انتشار شما مقیاسپذیر است تا با تعداد افرادی که استخدام میکنید، بنابراین دقیقاً زمانی رشد میکند که کمترین توجه را به آن دارید.
یک تله دیگر. موازیسازی زمان دیواره را کاهش میدهد، نه کل پردازش، و معمولاً آن را افزایش میدهد، زیرا هر کانتینر چکاوت، بازیابی وابستگی و کشیدن ایمیج را تکرار میکند. اغلب معاملهای با ارزش است، هرگز صرفهجویی نیست.
بنابراین ۳۰۰۰ دلار یک خواندن متر (meter reading) میخرد، نه تعداد بیلدها. همان تیم همان کار را منتشر میکند و بسته به میزان تنظیم پایپلاین، آن را با نرخهای بسیار متفاوتی تخلیه میکند. AI Perks مقدار اعتبار را لیست میکند، ضریب کنترل شماست.

اعتبارات CircleCI با چه چیزهایی جمع میشوند
اعتبارات CI به دلیل داشتن لبههای تیز، تمیز جمع میشوند. CircleCI برای ماشینهایی که بیلد و تست میکنند صورتحساب میگیرد، و هر چیزی در دو طرف آن توسط شخص دیگری که برنامه استارتاپ را اجرا میکند، صورتحساب میگیرد.
یک پایپلاین استقرار کارآمد با پنج فروشنده در تماس است و برای هر کدام کمکهای مالی وجود دارد:
- اعتبارات ابری محیطی را که مصنوع به آن مستقر میشود و رجیستری که ایمیج را نگه میدارد، پوشش میدهد.
- اعتبارات مشاهدهپذیری (Observability) آنچه را که پس از استقرار اتفاق میافتد، پوشش میدهد، نیمی از CI/CD که CI هرگز نمیبیند.
- اعتبارات زیرساخت تست شبکههای مرورگر و دستگاه را پوشش میدهد، بنابراین لایه سرتاسری (end-to-end) به عنوان پردازش CI صورتحساب نمیگیرد.
- اعتبارات پرچم ویژگی (Feature flag) پوشش میدهد که سیاه (dark) را منتشر میکند، که به شما امکان میدهد اغلب به اصلی (main) ادغام شوید.
- اعتبارات میزبان کد مخزن، ذخیرهسازی مصنوعات و اسکن امنیتی را پوشش میدهد.
یک تیم که سه مورد از این پنج مورد را دارد، بیشتر پشته تحویل را تأمین کرده است. کدام کمکهای مالی با هم ترکیب میشوند و کدام به طور خاموش از هم جدا میشوند، دلیل نگهداری AI Perks به عنوان یک لیست به جای پوشهای از نشانکها است.
بنیانگذاران درباره اعتبارات CI اشتباه میکنند
گرانترین اشتباه، رفتار با CI به عنوان یک هزینه ثابت است. این یک متر استفاده است که به نرخ کامیت شما متصل است، و اعتبارات رایگان سیگنالی را که به شما میگوید پایپلاین ناکارآمد است، حذف میکنند. شش الگوی شکست، به ترتیب تقریبی هزینه:
خرید موازیسازی برای رفع مشکل کش. افزودن کانتینرها سریعترین راهحل احساسی برای یک پایپلاین کند و گرانترین آنهاست. ابتدا نرخ برخورد کش را بررسی کنید: کلیدی که از یک مقدار ناپایدار ساخته شده هرگز برخورد نمیکند، بنابراین هر اجرا وابستگیها را دوباره دانلود میکند.
اجرای همه چیز در هر پوش. یک ماتریس کامل در هر شاخه، در یک مونورپو (monorepo) که یک سرویس تغییر کرده است، تعداد اجرای شما را در تعداد سرویسهای متعلق به شما ضرب میکند. فیلتر کردن مسیر (Path filtering) پیکربندی است، نه یک پروژه.
اندازهگیری بازتابی. یک کلاس منابع بزرگتر در هر دقیقه هزینه بیشتری دارد و تنها زمانی که کار به طور متناسب سریعتر میشود، ارزش خود را میپردازد. برای کامپایل موازی درست است، برای هر چیزی که محدود به I/O است، غلط است، جایی که یک جعبه بزرگتر با همان سرعت منتظر میماند.
تحمل تستهای ناپایدار. مجموعهای با نرخ ۱۰٪ ناپایداری، تقریباً ۱.۱ برابر هزینه دارد، به علاوه مهندسی که آن را دوباره اجرا کرده است. قرنطینه کردن ناپایداریها کنترل هزینه است.
نوشتن منطق بیلد در پیکربندی CI. تعریف پایپلاین بخش خاص فروشنده است. کار واقعی را در اسکریپتهایی که پیکربندی شما فراخوانی میکند، نگه دارید، و پیکربندی یک فراخواننده نازک باقی میماند که میتوانید آن را ارزان منتقل کنید.
برنامهریزی خروج خیلی دیر. در ۷۰٪ اعتبار مصرف شده تصمیم بگیرید که پایپلاین بدون یارانه شما چگونه به نظر میرسد، در حالی که کوتاه کردن ماشهها و رفع کشها همچنان یک تصمیم آرام است تا یک مته آتش.

هنگام زنده بودن اعتبار چه چیزی را تماشا کنیم
CI رایگان متر را پنهان میکند، و یک متر پنهان راهی است که یک پایپلاین تنظیم شده به آرامی به یک پایپلاین تنظیم نشده تبدیل میشود. چهار عدد آن را قابل مشاهده نگه میدارند.
| متریک | چرا مهم است | نشانه بد |
|---|---|---|
| نرخ برخورد کش | یک کش از دست رفته هر بار وابستگیها را دوباره دانلود میکند | در سنگینترین وظیفه شما از دست میرود |
| دقایق پردازش در هر درخواست کشش ادغام شده | هزینه واحد انتشار یک تغییر | در حالی که اندازه تیم ثابت است، در حال افزایش است |
| نرخ ناپایداری | هر اجرای مجدد همان ادغام را دو بار صورتحساب میگیرد | مجموعهای که مردم به صورت بازتابی آن را اجرا میکنند |
| اعتبار مصرف شده در مقابل کامیتهای منتشر شده | یک تعادل را به یک نرخ سوخت تبدیل میکند | مصرف با منحنی کامیت جلوتر است |
آخرین ردیف موردی است که ارزش یادآوری تقویم را دارد. سه مورد دیگر سیگنالهای مهندسی هستند که به هر حال میخواهید، اما مصرف در مقابل خروجی تنها موردی است که میگوید آیا یارانه خرید سرعت است یا پنهان کردن زباله.
CircleCI در کنار برنامههای میزبان کد، مشاهدهپذیری و تست در AI Perks قرار دارد که هر کدام مقدار فعلی خود را دارند.
سوالات متداول
ارزش برنامه استارتاپ CircleCI چقدر است؟
۳۰۰۰ دلار اعتبار برای CI/CD میزبانی CircleCI، که بر روی پردازش مصرفی پایپلاینهای شما اعمال میشود. این هزینه ماشینهای بیلد و تست را پوشش میدهد، نه ابری که به آن مستقر میشوید. شرایط فعلی در getaiperks.com پیگیری میشود.
آیا وقتی میزبان کد من شامل CI است، به یک فروشنده CI اختصاصی نیاز دارم؟
اولش نه. CI همراه تا زمانی که پایپلاینها کوتاه هستند و کسی منتظر سبز شدن نیست، خوب است. یک پلتفرم اختصاصی زمانی جایگاه خود را پیدا میکند که به سختافزاری نیاز دارید که میزبان کد شما با قیمت بدی آن را ارائه میدهد، تقسیم خودکار تست، یا پیکربندی مشترک در بین مخازن.
چرا صورتحساب CI من سریعتر از تیم من رشد میکند؟
زیرا هزینه CI فرکانس کامیت ضربدر مدت زمان پایپلاین، اندازه ماشین و موازیسازی است. دو برابر کردن تیم تقریباً تعداد پوشها را دو برابر میکند، اما مجموعههای طولانیتر، ماشینهای بزرگتر و کانتینرهای بیشتر در بالا ضرب میشوند. در ارقام نمایشی بالا، ۴ برابر تعداد کارکنان ۲۷ برابر دقایق پردازش تولید کرد.
آیا موازیسازی بیشتر CI را ارزانتر میکند؟
خیر. موازیسازی زمان دیواره را کاهش میدهد و معمولاً کل پردازش را افزایش میدهد، زیرا هر کانتینر چکاوت، بازیابی وابستگی و کشیدن ایمیج را تکرار میکند. چهار کانتینر میتواند پنج برابر یک کانتینر برای یک چهارم زمان انتظار هزینه داشته باشد. این یک معامله سرعت است، نه یک صرفهجویی. ابتدا کش را رفع کنید.
آیا میتوانم اعتبارات CircleCI را با سایر اعتبارات استارتاپ ترکیب کنم؟
بله، و اعتبارات CI به دلیل اینکه صورتحسابها همپوشانی ندارند، تمیز جمع میشوند. اعتبارات ابری هزینه هدف استقرار و رجیستری را پوشش میدهد، اعتبارات مشاهدهپذیری هزینه آنچه را که پس از استقرار اتفاق میافتد، پوشش میدهد، اعتبارات تست هزینه شبکههای مرورگر را پوشش میدهد. AI Perks ۷.۷ میلیون دلار را در ۱۹۴ شرکت در getaiperks.com پیگیری میکند.
وقتی اعتبارات CircleCI تمام شد چه اتفاقی میافتد؟
شما صورتحابی را به ارث میبرید که با تصمیمات کش، دامنه ماشه (trigger scope) و موازیسازی که در حالی که رایگان بود گرفته شده، شکل گرفته است. منطق بیلد را در اسکریپتهایی که پیکربندی شما فراخوانی میکند نگه دارید تا پایپلاین قابل انتقال باقی بماند، تستهای ناپایدار را قرنطینه کنید، و در ۷۰٪ اعتبار مصرف شده تصمیم بگیرید که چه چیزی را تغییر خواهید داد نه پس از اولین صورتحساب.
در getaiperks.com مشترک شوید →
کد را منتشر کنید. بگذارید شخص دیگری هزینه ماشینهایی را که آن را تست میکنند، بپردازد.