Confronto
Runner CRACI vs runner ospitati da GitHub
Mantenga GitHub Actions e cambi la macchina su cui girano i Suoi job. Le build terminano in circa la metà del tempo, ogni minuto costa meno e ogni build lascia una registrazione di ciò che ha scaricato.
Aggiornato il
Stessi workflow, runner più veloce
Se usa GitHub Actions, i Suoi job girano sui runner ospitati da GitHub, a meno che non abbia configurato runner propri. Sono comodi: ogni job riceve una macchina virtuale nuova, non c'è nulla da gestire e sono disponibili Linux, Windows e macOS.
CRACI è un runner compatibile con GitHub Actions. Installi la GitHub App di CRACI sulla Sua organizzazione, su tutti i repository o su una selezione, e cambi una riga nel Suo workflow:
runs-on: craci
I file dei workflow, le action e l'interfaccia di GitHub restano gli stessi. CRACI sostituisce il runner, non GitHub Actions, e Le offre tre cose che un runner generico non offre: build più veloci, una fattura più bassa e sicurezza della supply chain integrata nella macchina che esegue il job.
| Funzionalità | CRACI | Runner ospitati da GitHub |
|---|---|---|
| Velocità di build | Circa 2 volte più veloce | Riferimento |
| Costo di una build di 10 minuti | $0.020 a velocità 2x | $0.060 |
| Prezzo al minuto, Linux x64 a 2 vCPU | $0.004 | $0.006 |
| Fatturazione | Al secondo | Ogni job arrotondato al minuto intero |
| Registra ciò che ogni build ha scaricato | SBOM per job, con uno stato di completezza | Il dependency graph legge i file del repository |
| Policy di egress di rete per la build | Per job, default deny o allow, fail closed | Azure private networking sui runner più grandi |
| Provenance firmata degli artefatti | Nessuna provenance firmata | Attestations Sigstore, SLSA Build Level 2 o 3 |
| Runner Windows e macOS | Oggi Linux su x86-64 e ARM64; Windows e macOS in roadmap | |
| Minuti gratuiti inclusi | Pagamento al minuto dal primo minuto, nessun canone mensile | Da 2.000 a 50.000 al mese; gratuiti sui repository pubblici |
| Configurazione | Installi la GitHub App di CRACI, cambi runs-on in craci | Integrati, ad esempio ubuntu-latest |
- Incluso
- In parte
- Non incluso
- In roadmap
Velocità
Le build su CRACI terminano in circa la metà del tempo che richiedono sui runner ospitati standard di GitHub. Tre fattori si sommano: hardware più veloce, tempi di coda più brevi prima dell'avvio di un job e caching.
Quanto diventino più veloci le Sue build dipende dal carico di lavoro. Le compilazioni e le suite di test che sfruttano la CPU guadagnano di più; i job che passano gran parte del tempo in attesa della rete o di servizi esterni guadagnano meno. Gli elementi che aiutano:
- Dimensioni dei runner da 1 a 32 unità di calcolo, così i job pesanti possono chiedere di più.
- x86-64 e ARM64 nativi, così le build ARM non richiedono emulazione.
- Supporto per la cache di GitHub Actions, più Docker Engine, Buildx e Compose v2 in ogni job.
- Virtualizzazione annidata su x86-64, per i job che avviano macchine virtuali proprie.
Il test migliore è la Sua pipeline: sposti un job e confronti i tempi fianco a fianco in GitHub.
Costo
Due fattori abbassano la fattura allo stesso tempo. Ogni minuto costa meno, e una build più veloce ne usa di meno.
CRACI fattura $0.002 per minuto vCPU, misurato al secondo, quindi un runner Linux standard da 2 vCPU costa $0.004 al minuto. GitHub indica per il suo runner standard Linux x64 a 2 core $0.006 al minuto, quindi il minuto di CRACI costa circa il 33% in meno.
Una build di 10 minuti
Prendiamo una build che dura 10 minuti su un runner a 2 core ospitato da GitHub:
| Funzionalità | CRACI | Runner ospitati da GitHub |
|---|---|---|
| Tempo di build | 5 minuti | 10 minuti |
| Prezzo al minuto | $0.004 | $0.006 |
| Costo per build | $0.020 | $0.060 |
| 1.000 build al mese | $20 | $60 |
| Differenza | Costo inferiore di circa il 67%, ovvero 3 volte più basso |
La sola differenza di prezzo fa risparmiare circa il 33%. È la build più breve a portare il risparmio a circa il 67%. Se sul Suo carico di lavoro una build non è più veloce, paga comunque il prezzo al minuto inferiore.
Che cos'altro cambia la fattura
- Arrotondamento. GitHub arrotonda ogni job al minuto intero; CRACI misura al secondo. Un job che dura 10 minuti e 20 secondi viene fatturato come 11 minuti su GitHub, e le pipeline con molti job brevi (lint, shard di test, controlli) pagano molti secondi inutilizzati.
- Minuti inclusi. GitHub include da 2.000 a 50.000 minuti al mese a seconda del piano, e i runner standard sono gratuiti sui repository pubblici. CRACI non ha un piano gratuito né minuti inclusi: Lei paga per minuto di build dal primo minuto, senza canone mensile. Entro la quota di GitHub, il costo marginale lì è zero.
- Architettura e dimensione. CRACI applica la stessa tariffa ad ARM64 e x86-64. Il runner arm64 a 2 core di GitHub costa $0.005 al minuto, quindi lì i $0.004 di CRACI sono il 20% in meno. A 32 vCPU, CRACI costa $0.064 al minuto, circa il 22% in meno dei $0.082 di GitHub su x64, ma il runner arm64 a 32 core di GitHub, a $0.050, costa meno al minuto di quello di CRACI. Anche la memoria è diversa: un'unità di calcolo CRACI ha 3 GB di RAM per vCPU, e il runner privato standard a 2 core di GitHub ha 8 GB. Scelga il profilo di cui hanno bisogno le Sue build prima di confrontare.
Veda i prezzi di CRACI per le condizioni attuali.
Sicurezza della supply chain nel runner
Ecco ciò che un runner CRACI fa e per cui un runner generico non è progettato.
Una registrazione di ogni dipendenza scaricata dalla build
Durante l'esecuzione di ogni job, un proxy che riconosce i pacchetti registra il traffico verso le sorgenti dei pacchetti: npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk e sorgenti Git, oltre ai preset di download. Le evidenze viaggiano con le cache CI, quindi anche i pacchetti ripristinati da una cache vengono conteggiati. Ogni job produce una SBOM in CycloneDX o SPDX, con uno stato di completezza per job e per cache.
Il dependency graph di GitHub è costruito dai manifest e dai lockfile del Suo repository e può essere esportato in SPDX. Descrive il repository, non una build specifica.
Controllo su ciò che una build può raggiungere
Le policy di egress di CRACI sono default deny o default allow, con 24 preset integrati di sorgenti software, sorgenti personalizzate tipizzate per npm, PyPI, apt, apk, il proxy Go, Nix, Cargo, registry OCI e Git, e regole esplicite TLS, TCP, UDP e ICMP. Le policy vengono convalidate prima dell'avvio del job, sono fail closed e inviano un avviso in caso di violazione. Con una policy default deny, una dipendenza compromessa che tenta di raggiungere un host inatteso viene fermata sul runner.
I runner più grandi di GitHub offrono indirizzi IP statici e Azure private networking, che consentono di gestire l'accesso in uscita tramite la Sua rete Azure. È utile, ed è un approccio diverso: un'infrastruttura di rete che Lei configura in Azure invece di una policy associata al job.
Provenance
L'API restituisce SBOM, tracce di rete e provenance. CRACI non firma la provenance e non dichiara alcun livello SLSA.
GitHub offre artifact attestations basate su Sigstore, che secondo GitHub forniscono da sole SLSA v1.0 Build Level 2 e Level 3 con i reusable workflow. Se per Lei la provenance firmata o un livello SLSA formale è un requisito, questo è un punto a favore di GitHub.
Isolamento e ubicazione dei dati
I job CRACI vengono eseguiti in macchine virtuali isolate. Nel piano Enterprise, CRACI offre la residenza dei dati nell'UE, con esecuzione delle build su infrastruttura bare metal europea.
Quando restare sui runner ospitati da GitHub
- Le servono runner Windows o macOS. Oggi CRACI è solo Linux; Windows e macOS sono in roadmap.
- I Suoi repository sono pubblici e può usare gratuitamente i runner standard.
- Il Suo utilizzo rientra nei minuti inclusi nel Suo piano.
Molti team usano entrambi: job Linux di build e test su CRACI, job macOS e Windows su GitHub. Poiché il cambio è
un'etichetta runs-on, può spostare un job alla volta.
Scopra di più sull'integrazione CI/CD e sulla generazione di SBOM in fase di build. Le startup possono candidarsi al programma startup, che include almeno 100.000 minuti di build gratuiti.
Lo provi su un workflow
Cambi runs-on in un singolo job, lo esegua e confronti tempo di build, fattura e SBOM.
Prenota una demo