GitHub Actions apo GitLab CI: minutat falas nuk tregojnë koston reale

|Autori: Ekipi editorial i QUASA|6 min lexim
GitHub Actions apo GitLab CI: minutat falas nuk tregojnë koston reale

Për një ekip me depo private që përdor runnerët standardë të platformave, GitHub Actions kushton më pak në skenarin e llogaritur këtu. Vendimi nuk del vetëm nga kuotat falas: duhen llogaritur minutat që konsumon çdo job, shpeshtësia e ekzekutimeve dhe mënyra si faturohet tejkalimi i kuotës.

Në provën Redmine të Semaphore, i njëjti projekt përfundoi mesatarisht për 9 minuta e 44 sekonda në GitHub Actions dhe 11 minuta e 15 sekonda në GitLab CI. Semaphore është vetë ofrues CI/CD; prova e tij përdori nga dhjetë ekzekutime pas ngrohjes së cache-it, me një job në makina të krahasueshme, por jo krejt identike. Këto kohë japin një model llogaritjeje, jo një parashikim për çdo depo.

Çfarë përfshihet në planet falas

Rregullat e faturimit të GitHub japin 2.000 minuta mujore për GitHub Free kur depot private përdorin runnerët standardë të GitHub. Në depot publike, përdorimi i këtyre runnerëve është falas; përdorimi i runnerëve të vetëmenaxhuar është gjithashtu falas nga GitHub. Runnerët më të mëdhenj faturohen edhe kur ka minuta të përfshira në plan, ndaj nuk hyjnë në krahasimin e mëposhtëm. Nëse llogaria nuk ka një mënyrë të vlefshme pagese, ekzekutimet që kërkojnë përdorim mbi kuotë bllokohen.

Dokumentacioni i minutave të GitLab përcakton 400 minuta mujore për një hapësirë GitLab.com Free. Konsumi i çdo job-i është kohëzgjatja e tij, pa kohën në pritje, e shumëzuar me faktorin e runner-it. Për runner-in Linux x86-64 small faktori është 1, ndërsa madhësitë e tjera mund ta konsumojnë kuotën më shpejt. Kuota zbatohet edhe për projektet publike standarde në GitLab.com; disa projekte në programin GitLab for Open Source kanë faktor të reduktuar.

Sipas FAQ-së së GitLab për minutat shtesë, një paketë prej 1.000 minutash kushton 10 dollarë dhe nuk rinovohet automatikisht. Job-et në runnerët e vetëmenaxhuar nuk konsumojnë kuotën e runnerëve të përbashkët. Për ekipin që përdor runnerët e GitLab.com, tejkalimi kërkon blerjen e minutave shtesë; nuk është thjesht një tarifë që shtohet automatikisht për çdo minutë të përdorur.

Pse koha e job-it ndryshon llogarinë

Diferenca midis dy mesatareve të Redmine është 1 minutë e 31 sekonda për ekzekutim. Nëse i njëjti job përsëritet shpesh, koha shtesë e zbraz më shpejt kuotën e GitLab. Rezultati lidhet me atë projekt, me cache të ngrohur dhe me një job të vetëm. Konfigurimet e runnerëve kishin të njëjtin numër bërthamash virtuale, por sasi të ndryshme memorie; prandaj diferenca e matur nuk mund t’i atribuohet vetëm emrit të platformës.

Tabela e çmimeve të GitHub jep 0,006 dollarë për minutë për runner-in standard Linux x64 me dy bërthama dhe rrumbullakos lart në minutë të plotë kohën e çdo job-i. Dhjetë kohët individuale të GitHub në provën Redmine japin gjithsej 102 minuta pas këtij rrumbullakosimi, ose 10,2 minuta për ekzekutim. Për GitLab, modeli përdor mesataren e publikuar të rrumbullakosur, 11,25 minuta për ekzekutim, dhe faktorin 1. Kjo mjafton për të krahasuar skenarë, por nuk është faturë e nxjerrë nga llogaritë e dy shërbimeve.

Tre vëllime mujore me të njëjtin test

Kostoja e llogaritur për GitHub Actions dhe GitLab CI në tre vëllime mujore hipotetike të testit Redmine.

Skenarët janë hipotetikë. Supozojnë një depo private në secilin shërbim, planin Free, një job për ekzekutim, të njëjtat kohë mesatare si në provën Redmine dhe asnjë përdorim tjetër të kuotës. Për GitHub, minutat mbi kuotë shumëzohen me tarifën e runner-it Linux. Për GitLab, minutat mbi kuotë mbulohen me aq paketa të plota sa nevojiten. Shumat për GitLab tregojnë pagesën për paketat që duhen blerë në atë skenar.

  • 100 ekzekutime në muaj: GitHub konsumon rreth 1.020 minuta dhe nuk paguan për minuta shtesë. GitLab konsumon rreth 1.125 minuta; pas kuotës mbeten 725 minuta për t’u mbuluar. Nevojitet një paketë prej 10 dollarësh, nga e cila mbetet një pjesë e papërdorur.
  • 300 ekzekutime në muaj: GitHub konsumon rreth 3.060 minuta. Tejkalimi prej 1.060 minutash kushton 6,36 dollarë. GitLab konsumon rreth 3.375 minuta; 2.975 minutat mbi kuotë kërkojnë tri paketa, pra 30 dollarë për blerjen e tyre.
  • 1.000 ekzekutime në muaj: GitHub konsumon rreth 10.200 minuta dhe 8.200 minutat shtesë kushtojnë 49,20 dollarë. GitLab konsumon rreth 11.250 minuta; për 10.850 minutat mbi kuotë duhen njëmbëdhjetë paketa, me pagesë prej 110 dollarësh.

Te GitLab, paketa e blerë mund të lërë minuta për përdorim të mëvonshëm, kështu që shuma e paguar në një muaj nuk është e njëjtë me vlerën e minutave të konsumuara pikërisht atë muaj. Modeli nuk përfshin ruajtjen e artefakteve, cache-in mbi kufijtë e përfshirë, job-e shtesë apo sisteme të tjera operative. Secili prej këtyre elementeve mund ta ndryshojë faturën pa ndryshuar numrin e pipeline-eve.

Runnerët e vetëmenaxhuar ndryshojnë llojin e kostos

Një runner i vetëmenaxhuar kryen një job GitLab CI me kapacitetin e infrastrukturës së ekipit.

Nëse ekipi përdor runnerin e vet, minutat e job-it nuk hyjnë në këtë model të tarifimit të runnerëve të menaxhuar nga platformat. Kostoja kalon te makina ose instanca cloud e ekipit, kapaciteti për ekzekutime njëkohësisht dhe mirëmbajtja. Për një ekip me shumë ekzekutime, kjo mund të jetë një zgjedhje ekonomike, por vetëm pasi të llogariten edhe infrastruktura dhe puna për administrimin e saj.

Duhet dalluar gjithashtu koha e ekzekutimit nga koha deri te marrja e rezultatit. Një job mund të konsumojë pak minuta llogaritëse, por të presë gjatë për një runner të lirë. Anasjelltas, job-et paralele mund ta shkurtojnë pritjen për rezultatin përfundimtar, ndërsa shuma e minutave të konsumuara rritet. Kjo është arsyeja pse shpejtësia që ndien zhvilluesi dhe kostoja e faturuar duhen matur veçmas.

Prova me pipeline-in e ekipit

Për të marrë një vendim për depot e veta, ekipi mund të ekzekutojë të njëjtin commit dhe të njëjtën suitë testesh në të dy shërbimet. Versionet e mjeteve, strategjia e cache-it dhe kapaciteti i runnerëve duhet të jenë sa më të krahasueshëm. Një ekzekutim me cache të ftohtë dhe disa përsëritje me cache të ngrohur tregojnë se sa ndryshon koha nga gjendja e pipeline-it, pa e ngatërruar këtë ndryshim me atë të platformës.

Për çdo job vlejnë tri matje: koha reale e ekzekutimit, minutat e regjistruara për faturim dhe koha në pritje. Minutat e GitHub rrumbullakosen për secilin job përpara mbledhjes; për GitLab zbatohet faktori i runner-it. Pasi konsumi për ekzekutim të shumëzohet me numrin e pritshëm të ekzekutimeve mujore, mund të zbritet kuota përkatëse dhe të llogariten tarifa ose paketat shtesë. Nëse ekipi synon runnerë të vetëmenaxhuar, krahasimi përfshin edhe koston e kapacitetit që do të mbajë vetë.

Lexoni gjithashtu:

Ndaj:

Abonohuni në buletinin tonë

Merrni lajmet më të fundit për Web3, AI dhe kripto direkt në kutinë tuaj postare.

0