Sari la conținut

inginerie

Un job, un VM: cum izolăm încărcăturile de lucru CI

De ce nu rulăm joburi CI în containere pe un nucleu partajat și cât ne costă.

{autor} · {rol} · {data} · {minute} {minuteLabel}

Un CI runner execută cod arbitrar din depozitul dvs. cu acces la secretele dvs. Izolarea containerului pe un nucleu partajat nu este o limită suficientă pentru asta, deoarece o vulnerabilitate a nucleului este o vulnerabilitate a limitei locatarului.

Ce facem

  • Fiecare job are propriul microVM cu propriul kernel
  • VM-ul este distrus atunci când lucrarea se termină - niciodată reutilizată, niciodată reciclată
  • Discurile sunt șterse criptografic mai degrabă decât detașate și returnate la un pool
  • Obiectele cache sunt criptate pe depozit, astfel încât o citire cache nu poate traversa chiriași
  • Niciun operator nu are acces shell la o VM de lucru care rulează

Cat costa

Un microVM pornește mai lent decât pornește un container. Depunem un efort real de inginerie pentru bazine calde și restaurare instantanee pentru a reveni la aproximativ trei secunde. Containerele ar fi mai ușor și credem că comerțul nu este aproape.

Următorul tău build poate fi de două ori mai rapid, la jumătate de preț

Începe gratuit. Plecarea înseamnă aceeași linie, iar acel diff îl publicăm și noi.