
GitHub Actions või GitLab CI: tasuta minutid ei näita meeskonna kogukulu

GitHub Actionsi ja GitLab CI vahel valides ei piisa tasuta minutite võrdlusest. Erah oidla puhul sõltub meeskonna kogukulu sellest, kui palju aega kulub kõigil töödel kokku, milliseid käitajaid need kasutavad, millist paketti on vaja ning kui kaua võtab töövoogude hooldamine. Olemasoleva hoidla asukoht võib lisada ühenduse haldamise ja muuta vajaliku paketi hinda.
Võrreldav tulemus tekib siis, kui mõlemale teenusele arvestada sama kuu ehitus- ja testimistööd ning näidata eraldi paketitasu, hostitud arvutuse, salvestuse ja hooldusaja kulu. Allpool toodud kolm stsenaariumi on tinglikud: tööde kestused ja hooldustunnid saab asendada meeskonna enda andmetega. Näited käsitlevad GitHubi ja GitLab.com-i erahoidlaid, mis asuvad vastaval platvormil, kuni hoidla asukohta käsitleva jaotiseni.
Toru kestus ja arvestatud tööaeg on erinevad suurused
GitHub Actionsi arveldusjuhendi järgi sisaldab organisatsiooni Free pakett 2000 ja Team pakett 3000 standardkäitaja minutit kuus; üle tasuta mahu maksab kahe tuumaga Linuxi käitaja 0,006 ja tavaline macOS-i käitaja 0,062 USA dollarit minuti kohta. Suuremad GitHubi käitajad on tasulised ka siis, kui paketis on standardkäitaja minuteid alles. Avaliku hoidla standardkäitajate kasutus on tasuta, mistõttu ei sobi see erahoidla hinnanäidete lähtepunktiks.
GitLabi arvutusminutite juhend määrab iga töö kasutuseks kestuse sekundites jagatuna 60-ga ja korrutatuna käitaja kuluteguriga; GitLab.com-i väikese Linuxi käitaja tegur on 1, keskmise 2 ja suure 3. GitLab liidab toru kõigi tööde kasutuse. Kui kaks väikese käitajaga kümneminutilist tööd jooksevad korraga, kulub ligikaudu kümme minutit möödunud aega, kuid arvestusse läheb kokku 20 arvutusminutit. Enne töö käivitumist ootel veedetud aeg selle kestusse ei kuulu.
GitHubis tuleb samuti liita iga töö käitaja kasutusaeg, selle asemel et võtta aluseks ainult toru alguse ja lõpu vahe. GitLabis tuleb kestusele lisaks rakendada kulutegurit. Suurem masin võib töö varem lõpetada, ent hinnakirjast ei saa selle kiirenemist tuletada: usaldusväärne arvutus vajab sellel masinal mõõdetud kestust. Eri operatsioonisüsteemide tööd tuleb hoida eraldi, sest GitHubi minutihinnad erinevad.
Paketitasu ja salvestus tuleb arvutusele juurde liita
Lihtne kuumudel on paketitasu + tasuline hostitud arvutus + tasuline salvestus + hooldustunnid × tööjõu tunnikulu. Tasuta maht lahutatakse maha alles pärast tööde arvestamist vastava teenuse reeglite järgi. Hooldus hõlmab näiteks töövoo muutmist, nurjunud käivituste uurimist ning vahemälu või käitajate seadistamist; selle ajakulu sõltub meeskonnast ega ole teenuse avalikus minutihinnas.
GitHub Teami hinnakirjas on kasutajatasu 4 USA dollarit kuus, paketis 3000 Actionsi minutit ja 2 GB salvestust. GitHubi arveldusreeglite järgi jagavad Actionsi artefaktid ja GitHub Packages seda salvestusmahtu; vahemälul on eraldi maht. Ülemäärase salvestuse kulu sõltub kasutusest kogu kuu jooksul, nii et kuu viimasel päeval alles olevate failide suurus ei kirjelda üksi arvet.
GitLabi hinnakirjas sisaldab GitLab.com-i Free pakett kuni viit kasutajat privaatses ülemise taseme rühmas ja 400 arvutusminutit kuus; Premium maksab aastase arvelduse korral 29 USA dollarit kasutaja kohta kuus ning sisaldab 10 000 arvutusminutit. Lisaminutite ostupakett maksab 10 dollarit 1000 minuti eest. Hinnakirja 10 GiB Free ja 500 GiB Premiumi salvestuspiirid käivad Git-hoidla ja Git LFS-i kohta, mitte GitHub Actionsi artefaktidega samal alusel arvestatava salvestusmahu kohta. GitLabi lisasalvestuse ja artefaktide tingimused vajavad seetõttu mudelis omaette rida, kui meeskond neid kasutab.
Pakettide funktsioonid erinevad samuti. Kui meeskond vajab tasulise paketi koostöövõimalusi ka ilma CI-ta, saab võrdluses näidata nii kogu litsentsitasu kui ka selle osa, mille CI valik juurde tekitab. Allolevad summad näitavad kogu paketitasu: nii on näha, millal suurem kaasasolev arvutusmaht kasutajapõhist hinda ei kata.
Kolm tinglikku kuuarvutust
Väike erahoidla. Oletame viieliikmelist meeskonda, kelle tööd kasutavad kuus kokku 1200 minutit tavalist Linuxi käitajat. Eeldame, et tasulist salvestusmahtu ei teki, mõlema lahenduse hooldus võtab ühe tunni kuus ja tööjõu arvestuslik tunnikulu on 50 dollarit. GitHub Free puhul on paketitasu, lisaarvutus ja lisasalvestus null ning hooldus teeb kogukuluks 50 dollarit. GitLab Free puhul ületab kasutus kaasasolevat mahtu 800 arvutusminutiga; 1000 minuti ostupakk lisab 10 dollarit ja kogukulu on 60 dollarit. See on ostu väljaminek, mitte väide, et kogu pakk kulub samal kuul: GitLabi kasutamata ostuminutid kanduvad edasi.
Tasulised meeskonnapaketid. Jätame alles viis kasutajat, kuid suurendame väikese Linuxi käitaja töömahtu 6000 minutini kuus. Oletame, et GitHubi ühissalvestuse keskmine kasutus on kogu kuu vältel 4 GB, GitLab ei vaja tasulist lisasalvestust ning hooldus võtab vastavalt kaks ja kolm tundi. Sama tingliku 50dollarilise tunnikuluga moodustavad GitHub Teami kulu 20 dollarit litsentsid, 18 dollarit paketist üle minev arvutus, 0,50 dollarit salvestus ja 100 dollarit hooldus: kokku 138,50 dollarit. GitLab Premiumi kuine arvestuslik summa on 145 dollarit litsentse, null dollarit lisaarvutust ja lisasalvestust ning 150 dollarit hooldust: kokku 295 dollarit. Premiumi litsentsirida on aastase kohustuse kuine ekvivalent, mitte üheks kuuks sõlmitava lepingu hind.
Keskmise käitaja mõju. Oletame nüüd sama meeskonna puhul 12 000 kuist tööminutit. GitHubis on need kõik tavalise Linuxi käitaja minutid. GitLabis kestavad 8000 minutit väikese ja 4000 minutit keskmise Linuxi käitajaga tööd, mistõttu arvestusmaht on 8000 + 4000 × 2 ehk 16 000 minutit. Kui paketid, salvestus ja hooldustunnid jäävad eelmise näite tasemele, on GitHub Teami kogukulu 174,50 dollarit: 20 litsentsidele, 54 lisaarvutusele, 0,50 salvestusele ja 100 hooldusele. GitLab Premiumi kogukulu on 355 dollarit: 145 litsentsidele, 60 kuue lisaminutite ostupaki eest ja 150 hooldusele.
Viimane stsenaarium näitab kuluteguri mõju, mitte samaväärsete masinate jõudlustesti. Kui GitLabi keskmine käitaja lõpetab töö kiiremini, tuleb 4000 minuti asemele panna selle mõõdetud kestus; kui GitHubis vajatakse suuremat käitajat, tuleb selle tasuline minutihind arvutada eraldi. Kõik näitesummad on USA dollarites ning ei sisalda Eesti makse ega valuutavahetust. Tööjõu tunnikulu ja hooldusaeg on muudetavad eeldused, mitte väited kummagi platvormi tavapärase hoolduskoormuse kohta.
Hoidla asukoht võib lisada nii tasu kui ka töid
Kui lähtekood jääb GitHubi, nõuab GitLab CI kasutamine ühendust välise hoidlaga. GitLabi välise hoidla juhend määrab selle ühenduse Premiumi või Ultimate paketi võimaluseks ja kirjeldab hoidla peegeldamist. Avatud pull request’iga harusse tehtud muudatus võib käivitada kaks toru: ühe haru muudatuse ja teise pull request’i jaoks. Käivitusreeglid saavad seda piirata, kuid ilma nendeta kasvavad nii arvestatavad tööd kui ka ühenduse haldamise vajadus.
See muudab väikese erahoidla stsenaariumi oluliselt, kui hoidlat ei viida GitLabi: GitLab Free hinnaga tehtud arvutus ei hõlma GitHubi hoidla ametlikku välisühendust. GitHubis juba asuva koodi puhul võib seega vajalik Premiumi litsents kaaluda üles odava lisaminutipaki; GitLabis asuva koodi puhul seda ühenduskulu ei ole. Otsuse jaoks annab kõige täpsema aluse esindusliku kuu tööde kestus koos hoidla tegeliku asukoha ja vajalike paketifunktsioonidega.
Loe ka:
Seotud artiklid


Power Automate või Zapier: AI-samm võib kulutada ühe asemel 15 ülesannet

Planner või Trello: tasuta tahvel võib kaotada automaatikas

Replit või Lovable: odavam kuutasu ei näita valmis rakenduse kulu

n8n või Make: pika AI-töövoo hind sõltub loendurist, mitte paketist

NIST paneb AI-agentidele identiteedi: esimene katse tuleb DevSecOpsi
Telli meie uudiskiri
Saa värskeimad Web3, AI ja krüptouudised otse oma postkasti.