mühendislik
Tek iş, tek VM: CI iş yüklerini nasıl yalıtıyoruz?
Neden CI işlerini paylaşılan bir çekirdekteki kapsayıcılarda çalıştırmıyoruz ve bunun bize maliyeti nedir?
{yazar} · {rol} · {tarih} · {dakika} {dakika Etiketi}
Bir CI çalıştırıcısı, sırlarınıza erişimle birlikte deponuzdan rastgele kod çalıştırır. Paylaşılan çekirdekteki konteyner izolasyonu bunun için yeterli bir sınır değildir çünkü çekirdek güvenlik açığı, kiracı sınırı güvenlik açığıdır.
ne yapıyoruz
- Her iş kendi çekirdeğine sahip kendi mikroVM'sini alır
- VM, iş sona erdiğinde imha edilir; asla yeniden kullanılmaz, asla geri dönüştürülmez
- Diskler sökülüp bir havuza geri gönderilmek yerine kriptografik olarak silinir
- Önbellek nesneleri depo başına şifrelenir, dolayısıyla önbellek okuması kiracılar arasında geçiş yapamaz
- Hiçbir operatörün çalışan bir iş sanal makinesine kabuk erişimi yoktur
Maliyeti nedir
Bir microVM, konteynerin başlamasından daha yavaş önyüklenir. Bunu yaklaşık üç saniyeye geri döndürmek için sıcak havuzlar ve anlık görüntü geri yüklemesi üzerinde gerçek bir mühendislik çabası harcıyoruz. Konteynerler daha kolay olurdu ve ticaretin yakın olmadığını düşünüyoruz.
Bir sonraki build'iniz yarı fiyata iki kat hızlı olabilir
Ücretsiz başlayın. Ayrılmak da aynı tek satır ve o diff'i de yayımlıyoruz.