Vertailu
CRACI-runnerit vs. GitHubin ylläpitämät runnerit
Pidä GitHub Actions ja vaihda kone, jolla jobisi ajetaan. Buildit valmistuvat noin kaksi kertaa nopeammin, jokainen minuutti maksaa vähemmän ja jokaisesta buildista jää tallenne siitä, mitä se haki.
Päivitetty
Samat työnkulut, nopeampi runneri
Jos käytät GitHub Actionsia, jobisi ajetaan GitHubin ylläpitämillä runnereilla, ellet ole ottanut käyttöön omia. Ne ovat käteviä: jokainen jobi saa uuden virtuaalikoneen, mitään ei tarvitse ylläpitää, ja tarjolla ovat Linux, Windows ja macOS.
CRACI on GitHub Actions -yhteensopiva runneri. Asenna CRACI GitHub App organisaatioosi, kaikkiin repositorioihin tai valittuihin, ja muuta työnkulussasi yksi rivi:
runs-on: craci
Työnkulkutiedostosi, actionit ja GitHubin käyttöliittymä pysyvät ennallaan. CRACI korvaa runnerin, ei GitHub Actionsia, ja antaa sinulle kolme asiaa, joita yleiskäyttöinen runneri ei anna: nopeammat buildit, pienemmän laskun ja toimitusketjun tietoturvan sisäänrakennettuna koneeseen, joka ajaa jobin.
| Ominaisuus | CRACI | GitHubin ylläpitämät runnerit |
|---|---|---|
| Buildin nopeus | Noin kaksi kertaa nopeampi | Vertailukohta |
| 10 minuutin buildin hinta | $0.020 kaksinkertaisella nopeudella | $0.060 |
| Minuuttihinta, 2 vCPU:n Linux x64 | $0.004 | $0.006 |
| Laskutus | Sekunneittain | Jokainen jobi pyöristetään ylös täyteen minuuttiin |
| Tallentaa, mitä kukin buildi haki | SBOM jobia kohden, kattavuustilan kanssa | Riippuvuusgraafi lukee repositorion tiedostoja |
| Buildin lähtevän liikenteen käytäntö | Jobikohtainen, oletuksena estävä tai salliva, fail closed | Azuren yksityinen verkko suuremmilla runnereilla |
| Allekirjoitetut artefaktin alkuperätiedot | Ei allekirjoitettuja alkuperätietoja | Sigstore-attestaatiot, SLSA Build Level 2 tai 3 |
| Windows- ja macOS-runnerit | Linux x86-64- ja ARM64-arkkitehtuurilla nyt; Windows ja macOS tiekartalla | |
| Ilmaiset sisältyvät minuutit | Maksu minuuteittain ensimmäisestä minuutista, ei kuukausimaksua | 2 000–50 000 kuukaudessa; ilmainen julkisissa repositorioissa |
| Käyttöönotto | Asenna CRACI GitHub App, vaihda runs-on-arvoksi craci | Sisäänrakennettu, esimerkiksi ubuntu-latest |
- Sisältyy
- Osittain
- Ei sisälly
- Tiekartalla
Nopeus
CRACI:lla buildit valmistuvat noin puolessa siitä ajasta, jonka ne vievät GitHubin tavallisilla ylläpidetyillä runnereilla. Kolme tekijää vaikuttaa yhdessä: nopeampi laitteisto, lyhyemmät jonotusajat ennen jobin käynnistymistä ja välimuistit.
Se, kuinka paljon omat buildisi nopeutuvat, riippuu kuormasta. Suoritinsidonnaiset käännökset ja testisarjat hyötyvät eniten; jobit, jotka käyttävät suurimman osan ajastaan verkon tai ulkoisten palvelujen odottamiseen, hyötyvät vähemmän. Tekijät, jotka auttavat:
- Runnerikoot 1–32 laskentayksikköä, joten raskaat jobit voivat pyytää enemmän.
- Natiivi x86-64 ja ARM64, joten ARM-buildit eivät tarvitse emulointia.
- GitHub Actions -välimuistin tuki sekä Docker Engine, Buildx ja Compose v2 jokaisessa jobissa.
- Sisäkkäinen virtualisointi x86-64:llä jobeille, jotka käynnistävät omia virtuaalikoneitaan.
Paras testi on oma CI/CD-putkesi: siirrä yksi jobi ja vertaa ajoaikoja rinnakkain GitHubissa.
Kustannukset
Kaksi asiaa pienentää laskua yhtä aikaa. Jokainen minuutti on halvempi, ja nopeampi buildi käyttää niitä vähemmän.
CRACI laskuttaa $0.002 vCPU-minuutilta sekunneittain mitattuna, joten tavallinen 2 vCPU:n Linux-runneri maksaa $0.004 minuutilta. GitHubin listahinta tavalliselle 2-ytimiselle Linux x64 -runnerille on $0.006 minuutilta, joten CRACI:n minuutti on noin 33 % edullisempi.
10 minuutin buildi
Otetaan buildi, joka kestää 10 minuuttia GitHubin ylläpitämällä 2-ytimisellä runnerilla:
| Ominaisuus | CRACI | GitHubin ylläpitämät runnerit |
|---|---|---|
| Buildin kesto | 5 minuuttia | 10 minuuttia |
| Minuuttihinta | $0.004 | $0.006 |
| Hinta buildia kohden | $0.020 | $0.060 |
| 1 000 buildia kuukaudessa | $20 | $60 |
| Ero | Noin 67 % edullisempi eli 3 kertaa halvempi |
Pelkkä hintaero säästää noin 33 %. Lyhyempi buildi nostaa säästön noin 67 %:iin. Jos buildi ei nopeudu sinun kuormallasi, maksat silti pienempää minuuttihintaa.
Mikä muu vaikuttaa laskuun
- Pyöristys. GitHub pyöristää jokaisen jobin ylös täyteen minuuttiin; CRACI mittaa sekunneittain. Jobi, joka kestää 10 minuuttia 20 sekuntia, laskutetaan GitHubissa 11 minuuttina, ja CI/CD-putket, joissa on paljon lyhyitä jobeja (lint, testisirpaleet, checkit), maksavat monesta käyttämättömästä sekunnista.
- Sisältyvät minuutit. GitHub sisältää 2 000–50 000 minuuttia kuukaudessa tilauksesta riippuen, ja tavalliset runnerit ovat ilmaisia julkisissa repositorioissa. CRACI:lla ei ole ilmaistasoa eikä sisältyviä minuutteja: maksat build-minuuteista ensimmäisestä minuutista alkaen, ilman kuukausimaksua. GitHubin kiintiön sisällä rajakustannus on nolla.
- Arkkitehtuuri ja koko. CRACI veloittaa saman hinnan ARM64:stä ja x86-64:stä. GitHubin 2-ytiminen arm64-runneri maksaa $0.005 minuutilta, joten CRACI:n $0.004 on siinä 20 % edullisempi. 32 vCPU:lla CRACI maksaa $0.064 minuutilta, noin 22 % vähemmän kuin GitHubin $0.082 x64:llä, mutta GitHubin 32-ytiminen arm64-runneri hintaan $0.050 on minuuttihinnaltaan CRACI:a halvempi. Myös muisti eroaa: CRACI:n laskentayksikössä on 3 Gt RAM-muistia vCPU:ta kohden, ja GitHubin tavallisessa 2-ytimisessä yksityisessä runnerissa on 8 Gt. Valitse buildiesi tarvitsema kokoonpano ennen vertailua.
Ajantasaiset ehdot löydät CRACI:n hinnoittelusta.
Toimitusketjun tietoturva runnerissa
Tämän CRACI-runneri tekee, vaikka yleiskäyttöistä runneria ei ole suunniteltu siihen.
Tallenne jokaisesta riippuvuudesta, jonka buildi haki
Kunkin jobin ajon aikana paketit tunnistava välityspalvelin tallentaa liikenteen pakettilähteisiin: npm-, PyPI-, RubyGems-, Composer-, Cargo-, Go-, Nix-, OCI-, apt-, apk- ja Git-lähteet sekä latausesiasetukset. Tiedot kulkevat CI-välimuistien mukana, joten välimuistista palautetut paketit lasketaan edelleen mukaan. Jokainen jobi tuottaa SBOM:n CycloneDX- tai SPDX-muodossa, ja sillä on kattavuustila jobia ja välimuistia kohden.
GitHubin riippuvuusgraafi rakennetaan repositoriosi manifesteista ja lukitustiedostoista, ja sen voi viedä SPDX-muodossa. Se kuvaa repositoriota, ei tiettyä buildia.
Kontrolli siihen, mihin buildi pääsee
CRACI:n egress-käytännöt ovat oletuksena estäviä tai oletuksena sallivia, ja niissä on 24 valmista ohjelmistolähteiden esiasetusta, tyypitetyt mukautetut lähteet npm:lle, PyPI:lle, aptille, apkille, Go-proxylle, Nixille, Cargolle, OCI-rekistereille ja Gitille sekä eksplisiittiset TLS-, TCP-, UDP- ja ICMP-säännöt. Käytännöt validoidaan ennen jobin käynnistymistä, ne estävät liikenteen virhetilanteessa (fail closed) ja lähettävät hälytyksen rikkomuksesta. Oletuksena estävän käytännön alaisena vaarantunut riippuvuus, joka yrittää ottaa yhteyttä odottamattomaan palvelimeen, pysäytetään runnerilla.
GitHubin suuremmat runnerit tarjoavat staattiset IP-osoitteet ja Azuren yksityisen verkon, joiden avulla voit hallita lähtevää liikennettä oman Azure-verkkosi kautta. Se on hyödyllistä, ja se on eri lähestymistapa: Azuressa määrittämääsi verkkoinfrastruktuuria eikä jobiin liitetty käytäntö.
Alkuperätiedot
API palauttaa SBOM:t, verkkojäljet ja alkuperätiedot. CRACI ei allekirjoita alkuperätietoja eikä väitä saavuttavansa mitään SLSA-tasoa.
GitHub tarjoaa Sigstoreen perustuvia artefaktiattestaatioita, jotka GitHubin mukaan antavat sellaisenaan SLSA v1.0 Build Level 2:n ja uudelleenkäytettävien työnkulkujen kanssa Level 3:n. Jos allekirjoitetut alkuperätiedot tai muodollinen SLSA-taso ovat sinulle vaatimus, se puoltaa GitHubia.
Eristys ja datan sijainti
CRACI:n jobit ajetaan eristetyissä virtuaalikoneissa. Enterprise-tilauksessa CRACI tarjoaa datan säilytyksen EU:ssa, ja buildit ajetaan eurooppalaisella bare-metal-infrastruktuurilla.
Milloin kannattaa pysyä GitHubin runnereissa
- Tarvitset Windows- tai macOS-runnereita. CRACI tukee tällä hetkellä vain Linuxia; Windows ja macOS ovat tiekartalla.
- Repositoriosi ovat julkisia, ja tavalliset runnerit riittävät sinulle ilmaiseksi.
- Käyttösi mahtuu tilauksesi sisältämiin minuutteihin.
Moni tiimi käyttää molempia: Linuxin build- ja testijobit CRACI:lla, macOS- ja Windows-jobit GitHubissa. Koska vaihto
on runs-on-tunniste, voit siirtää jobin kerrallaan. Katso
miten runneripalvelua vaihdetaan: välimuistit, OIDC ja
varajärjestely.
Lue lisää CI/CD-integraatiosta ja buildin aikaisesta SBOM-generoinnista. Startupit voivat hakea startup-ohjelmaan, johon sisältyy vähintään 100 000 ilmaista build-minuuttia.
Kokeile yhdellä työnkululla
Muuta runs-on yhdessä jobissa, aja se ja vertaa buildin kestoa, laskua ja SBOM:ia.
Varaa demo