GitHub Actions или GitLab CI: 10.000 минути можат да чинат 250 долари повеќе

|Автор: Уредувачки тим на QUASA|6 мин. читање
GitHub Actions или GitLab CI: 10.000 минути можат да чинат 250 долари повеќе

За тим од десет членови, GitHub Team по 4 долари по член месечно во првите 12 месеци чини 40 долари за седишта, додека GitLab Premium по 29 долари по член има месечен еквивалент од 290 долари при годишна наплата и вклучува 10.000 compute минути; разликата во претплатите е 250 долари месечно.

За интензивни Linux builds, повисоката квота не мора да значи пониска вкупна сметка. Во моделот на CostOps со 8.800 минути, GitHub Team додава 34,80 долари над квотата: десетчлениот тим би платил 74,80 долари вкупно, наспроти 290 долари за GitLab Premium, разлика од 215,20 долари. Ова е пресметковно сценарио за мали Linux runner-и, а не измерен тест на брзината на двете платформи.

Зошто цената по минута не е доволна

Кај приватен проект, споредбата почнува од претплатата за членови, па од вклучената квота и потрошувачката над неа. GitHub Team вклучува 3.000 Actions минути месечно за стандардни хостирани runner-и. GitLab Premium вклучува 10.000 compute минути месечно за групата; таа квота не се множи со бројот на платени членови. Затоа повеќе седишта ја зголемуваат разликата во претплатите, но сами по себе не носат дополнителни минути за истиот GitLab план.

За стандардна Linux конфигурација со две јадра, по исцрпувањето на квотата GitHub наплаќа 0,006 долари по минута. GitLab продава дополнителни compute минути во пакети, па сметката може да порасне за цел пакет и кога недостигаат помалку минути. Во двата случаја се собира времето на извршените jobs: паралелните работи, неуспешните обиди и повторните пуштања можат да ја зголемат потрошувачката без да го променат бројот на завршени builds.

Јавен проект: истите builds, различна наплата

За јавен репозиториум на стандардни GitHub-hosted runner-и, GitHub Actions не наплаќа минути за извршување. На GitLab.com, квотата важи и за јавни проекти: правилата на GitLab за compute минути наведуваат пакети од 1.000 дополнителни минути за 10 долари, со важност од 12 месеци од купувањето. Јавниот статус, значи, не создава иста ценовна основа на двете платформи.

Земете условен јавен проект со 8.800 пресметани минути месечно на стандардни мали Linux runner-и. За извршувањето на GitHub сметката е нула; на GitLab Free, по вклучените 400 минути недостигаат 8.400. Потребни се девет пакети, односно набавка од 90 долари, а преостанатите 600 купени минути можат да се искористат подоцна додека важат. Тоа е трошок за купување пакети во примерот, а не тврдење дека GitLab автоматски ќе фактурира точно 90 долари секој нареден месец.

Оваа разлика важи за наведениот профил на runner и обичен јавен проект. Кога job бара поголем GitHub-hosted runner, GitHub го наплаќа и во јавен репозиториум. Оттука, бесплатните стандардни минути не ја решаваат споредбата за проект што мора да користи посилна машина.

Мал приватен тим: платените планови не се почетната точка

Условен тим од четворица со приватен проект и 2.000 стандардни Linux минути месечно останува во квотите на двата платени плана. Ако му се потребни нивните функции, GitHub Team чини 16 долари месечно за седишта, а GitLab Premium има месечен еквивалент од 116 долари со годишна наплата. Неискористените дополнителни минути на Premium не ја намалуваат таа разлика од 100 долари.

Без потреба од платените функции, истата споредба изгледа поинаку. GitHub Free вклучува 2.000 минути за приватни репозиториуми, па наведениот обем се вклопува во квотата. GitLab Free вклучува 400 compute минути и до пет членови во главната група; за преостанатите 1.600 минути би требало да се купат два пакета за вкупно 20 долари. Од купените пакети би останале 400 минути. Така, за овој мал тим GitHub Free е поевтин за хостираното извршување, а споредбата Team–Premium има смисла само ако тимот ги бара можностите на тие претплати.

Monorepo: кога седиштата ја поништуваат предноста на квотата

Во моделот со 50 builds дневно, по осум минути во текот на 22 работни дена, се собираат 8.800 Linux минути. GitHub Team покрива 3.000, па за преостанатите 5.800 се добиваат 34,80 долари дополнителна потрошувачка. GitLab Premium го собира целиот обем во квотата од 10.000 минути, под услов jobs да работат на мали Linux runner-и со основниот фактор на потрошувачка.

Бројот на седишта го менува исходот без да се смени ниту еден build. Со еден платен член, условната сметка е 38,80 долари за GitHub Team и 29 долари месечен еквивалент за GitLab Premium. Со двајца станува 42,80 наспроти 58 долари. Прагот во овој конкретен модел лежи меѓу еден и два члена: за десетмина, заштедата од вклучените GitLab минути е помала од дополнителната цена на претплатата.

Оваа аритметика ги опфаќа седиштата и наведените CI минути. Не вклучува складирање на артефакти, даноци или вредност на други функции што тимот можеби навистина ги користи. Особено за monorepo, месечната потрошувачка треба да го собере траењето на сите jobs, а не само времето од почетокот до крајот на еден pipeline; паралелното извршување ја скратува таа должина, но не ги брише потрошените runner-минути.

Оперативниот систем и runner-от можат да го сменат исходот

Linux пресметката не важи автоматски за друг runner. Според наплатата на GitHub Actions, стандардниот Linux runner со две јадра чини 0,006 долари за платлива минута, Windows runner со две јадра 0,010 долари, а наведениот macOS runner 0,062 долари. Поголемите GitHub-hosted runner-и се наплаќаат и кога на планот му останува квота, па нивните минути не треба да се стават во истата формула со стандардните Linux jobs.

Кај GitLab, мал Linux runner ја троши квотата со основен фактор, додека среден Linux runner троши два compute минута за една минута извршување. Ако условно истите jobs од моделот и понатаму траат 8.800 минути на среден runner, би потрошиле 17.600 compute минути: 7.600 над квотата на Premium, што бара купување осум пакети. Побрз runner може да го скрати вистинското траење, па ова е споредба при непроменето време на jobs, а не предвидување на конечна сметка.

За тим со мешани Linux, Windows и macOS jobs, корисната пресметка има одделен ред за секој вид runner и неговото траење, плус седиштата. Сопствените runner-и го отстрануваат овој вид хостирана потрошувачка од квотите на платформите, но тимот тогаш ја носи цената за својата инфраструктура и одржување. Дури откако тие ставки ќе се соберат, поголемата вклучена квота може чесно да се спореди со пониската цена за член.

Прочитајте и:

Сподели:

Претплатете се на нашиот билтен

Добивајте ги најновите вести за Web3, AI и крипто директно во вашето сандаче.

0