
GitHub Actions ali GitLab CI: brezplačne minute skrivajo drugačen strošek

Za manjšo ekipo z zasebnim projektom je GitHub Actions pri primerjanih obsegih gostovanega izvajanja cenejša izbira. GitLab CI/CD lahko upraviči svojo ceno s funkcijami plačljivega načrta, vendar sama kvota minut tega ne pokaže. Pri obeh storitvah se računica spremeni, če ekipa uporablja lasten izvajalnik.
Odločitev zato zahteva ločen pogled na sedeže, dodatno porabo, shrambo in čas do rezultata. Minuta, odšteta od kvote, ni nujno minuta enako zmogljivega stroja; krajši račun za izvajanje pa še ne pomeni hitrejšega cevovoda.
Vključene minute imajo različne meje
GitHubova pravila obračunavanja Actions za zasebne repozitorije določajo 2.000 mesečnih minut pri Free in 3.000 pri Team. Vključena shramba za artefakte znaša 500 MB oziroma 2 GB in si kvoto deli z GitHub Packages. Po porabi vključenih minut standardni gostovani izvajalnik Linux z dvema jedroma stane 0,006 USD na minuto. Za javne repozitorije je uporaba standardnih gostovanih izvajalnikov brezplačna, večji izvajalniki pa se obračunajo tudi tam.
Cenik GitLab.com za Free navaja 400 računskih minut mesečno in največ pet uporabnikov v vrhnji skupini. Premium vključuje 10.000 minut in stane 29 USD na uporabnika mesečno ob letnem obračunu. Dodatek 1.000 minut je enkraten nakup za 10 USD. Večja kvota Premium je torej vezana na naročnino za sedeže, medtem ko lahko ekipa na Free kupi dodatno izvajanje brez prehoda na plačljivi načrt.
Trije obsegi porabe za zasebni projekt
Vzemimo pogojni primer petčlanske ekipe z enim zasebnim projektom. Primerjamo mesečno porabo 300, 1.500 in 6.000 obračunskih minut. Na GitHubu predpostavimo standardni gostovani Linux z dvema jedroma, na GitLabu pa privzeti mali gostovani Linux. Poraba shrambe ostane znotraj vključenih omejitev; ekipa nima vnaprej kupljenih dodatnih minut. Gre za enako število obračunskih minut, ne za dokaz, da bi oba izvajalnika enako hitro opravila isto delo.
Cena GitHub Team je 4 USD na uporabnika mesečno. Pet sedežev tako v pogojnem primeru stane 20 USD na mesec; pet sedežev GitLab Premium pri objavljeni ceni pomeni 145 USD na mesec v okviru letnega obračuna. Primerjava zajame ceno načrta in minut, ne davkov ali vrednosti dodatnih funkcij.
- Pri 300 minutah ostaneta GitHub Free in GitLab Free znotraj kvote, zato za gostovano izvajanje ni doplačila. GitHub Team stane 20 USD, GitLab Premium pa 145 USD zaradi sedežev.
- Pri 1.500 minutah GitHub Free še vedno ne potrebuje doplačila, GitHub Team pa ostane pri 20 USD. GitLab Free preseže kvoto za 1.100 minut in brez predhodnega dobroimetja potrebuje dva paketa po 1.000 minut: nakup stane 20 USD, 900 kupljenih minut ostane neporabljenih. GitLab Premium ostane pri 145 USD.
- Pri 6.000 minutah GitHub Free plača 4.000 dodatnih minut oziroma 24 USD. GitHub Team plača 20 USD za sedeže in 18 USD za 3.000 dodatnih minut, skupaj 38 USD. GitLab Free potrebuje šest paketov za 5.600 minut nad kvoto: nakup stane 60 USD, 400 kupljenih minut ostane neporabljenih. GitLab Premium ostane pri 145 USD.
Zneska za dodatne minute GitLab Free pomenita nakup paketov v prikazanem mesecu, ne stalne mesečne naročnine. Če ima ekipa neporabljeno kupljeno dobroimetje iz prejšnjega meseca, bo nov nakup manjši ali nepotreben. Pri enakomerni visoki porabi je zato za letni proračun pomembna skupna poraba dobroimetja, ne zgolj vrednost posameznega nakupa.
Obračunska minuta in lasten izvajalnik
GitLabova pravila za računske minute porabo posameznega opravila izračunajo iz njegovega trajanja in faktorja izvajalnika. Privzeti mali gostovani Linux ima faktor ena, večji Linuxovi izvajalniki pa višjega. Poraba cevovoda je vsota njegovih opravil: vzporedna opravila lahko skupaj porabijo več minut, kot jih kaže čas od začetka do konca cevovoda. Kupljene minute se uporabijo po mesečni kvoti in se, če ostanejo neporabljene, prenesejo v naslednji mesec.
Lasten izvajalnik pri GitHub Actions ne porablja plačljivih gostovanih minut, pri GitLab.com pa projektni ali skupinski izvajalnik ni odvisen od kvote izvajalnikov, ki jih upravlja GitLab. Strošek se preseli na stroj, elektriko ali najem oblaka ter na delo ekipe. Nekdo mora posodabljati okolje, ločevati opravila, skrbeti za razpoložljivost in ob sočasnih zagonih obvladovati čakalno vrsto. Že razpoložljiv stroj s prostimi zmogljivostmi zato daje drugačno računico kot namensko najet izvajalnik.
Shramba ni enaka postavka na obeh straneh
GitHubova kvota za artefakte se deli z GitHub Packages, predpomnilnik Actions pa ima ločeno vključeno omejitev. Presežna hramba artefaktov se obračunava glede na zaseden prostor in čas hrambe, zato izbris ustavi prihodnje kopičenje stroška, že nastale porabe pa ne odpravi. Ob velikih rezultatih gradenj lahko ta postavka spremeni primerjavo, čeprav število minut ostane enako.
GitLabovih 10 GiB pri Free se nanaša na repozitorij in Git LFS posameznega projekta. Tega zneska ni smiselno postaviti neposredno ob GitHubov prostor za artefakte, saj ne meri iste vrste podatkov. Ekipa, ki hrani velike izhodne datoteke, mora zato posebej oceniti velikost artefaktov, obdobje hrambe in potrebe po predpomnilniku. Krajša hramba zmanjša zasedenost, lahko pa odstrani rezultat gradnje, ki bi ga ekipa potrebovala za ponovno izdajo ali odpravljanje napake.
Kaj pove meritev hitrosti?
V primerjalni študiji mobilnih cevovodov so raziskovalci opravili 120 zagonov dveh aplikacij Flutter. Mediani celotnega cevovoda sta bili pri GitLab CI/CD 259 in 291 sekund, pri GitHub Actions pa 423 in 436 sekund. GitLab CI/CD je imel v tej postavitvi tudi manjše nihanje časa; GitHub Actions je med primerjanimi orodji porabil najmanj pomnilnika. Rezultati veljajo za opisani mobilni cevovod, ki je poleg gradnje vključeval preverjanje kode, varnostni pregled in dostavo.
Vsi preizkusi so tekli na istem Mac miniju: GitLab Runner je bil nameščen lokalno, GitHub Actions pa je uporabljal lasten izvajalnik na tem stroju. Razlika zato ni meritev hitrosti gostovanih izvajalnikov iz cenovnega izračuna. Študija počasnejše zagone GitHub Actions deloma pripisuje oblačnemu okolju in čakanju nanj, vendar opis uporabljene postavitve tega vzroka ne omogoča zanesljivo ločiti od zasnove opravil, prenosa artefaktov ali predpomnilnika.
Če je za ekipo pomembna hitrost povratne informacije, naj na obeh storitvah meri isti cevovod z enakimi različicami orodij in primerljivimi pravili predpomnjenja. Ločene meritve čakanja, trajanja opravil, skupnega časa in obračunskih minut pokažejo, ali nižji račun spremlja tudi dovolj hiter rezultat. Pri odločitvi za lasten izvajalnik je treba temu dodati še delo, ki ga zahteva njegovo upravljanje.
Preberite tudi:
Sorodni članki


Cursor ali GitHub Copilot: vrsta naloge spremeni zmagovalca

WordPress ali Webflow: lažji začetek lahko pomeni težji odhod

Zapier ali Power Automate: cena je odvisna od nalog, uporabnikov in robotov

n8n ali Make: četrti korak lahko obrne strošek avtomatizacije

Trello ali Jira: preprost Kanban odpove, ko projekt potrebuje odvisnosti
Naročite se na naše e-novice
Najnovejše novice o Web3, UI in kriptovalutah neposredno v vaš e-poštni predal.