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.
Similar
CI atunci când colegii tăi sunt agențiAgenții de codare AI forțează mult mai des decât oamenii. Iată cum modifică proiectarea conductei și controlul costurilor.De ce publicăm instrucțiuni pentru plecareFiecare pagină de migrare de pe acest site include diferența de a migra înapoi. Iată raționamentul.Ce am învățat gestionând un milion de locuri de muncă CITimpul în coadă, comportamentul în cache, dimensionarea corectă și modurile de eșec care apar doar la scară.Nu mai reîncercați testele scazuteReîncercările automate transformă o eroare reală într-una intermitentă și antrenează-ți echipa să nu aibă încredere în fiecare eșec.