- Kernel, geliştiricilerin tarayıcı otomasyonu kodunu ayrı bir altyapı derdi olmadan doğrudan dağıtmasına ve büyük ölçekte ölçeklendirmesine olanak tanıyan bir sunucusuz platformdur
- Herhangi bir ayar veya pipeline kurulumu olmadan, kodu yerel geliştirmeyle neredeyse aynı hızda dağıtıp çalıştırabilirsiniz
- Sandbox ortamında kullanılabilen bir Chrome tarayıcısı sunar ve yazdığınız agent'ları otomatik olarak API'ye dönüştürerek her yerden çağrılabilir hale getirir
- Playwright, Puppeteer gibi Chrome DevTools Protocol tabanlı framework'lerle entegrasyonu destekler ve uzak GUI (canlı görünüm) ile gerçek zamanlı izleme ve kontrol sağlar
- Unikraft unikernel ortamı desteğiyle çok hızlı yeniden başlatma, snapshot geri yükleme, kaynak minimizasyonu gibi yüksek performansa odaklı özellikler sunar
- Docker image ve Unikraft unikernel olmak üzere iki dağıtım yöntemini destekler; çeşitli bulut ve container ortamlarında kullanılabilir
- Tüm kodlar izole sanal makinelerde güvenli şekilde çalıştırılır ve gerçek zamanlı gözlem ile hata ayıklama araçları sunulur
What's Kernel?
- Kernel, sandbox içine alınmış, kullanıma hazır bir Chrome tarayıcı ortamı sunar; bu depo ise Kernel'in hosting hizmeti için temel koddur
- Playwright, Puppeteer gibi Chrome DevTools tabanlı tarayıcı framework'lerinden kolayca bağlanılabilir
Why use Kernel?
- Yerelden production'a saniyeler içinde dağıtım
- Ayrı yapılandırmalar veya production pipeline'ları olmadan, kodu
bun run dev ile neredeyse aynı sürede dağıtıp çalıştırabilirsiniz
- Tüm agent'ları API'ye dönüştürün
- Platforma yüklenen tüm agent'lar otomatik olarak API olarak yayınlanır ve dışarıdan çağrılabilir
- Paralel ölçeklenebilirlik
- Binlerce tarayıcı instance'ı gerektiğinde anında başlatılıp ölçeklendirilebilir
- Güçlü izolasyon ve gözlemlenebilirlik
- Kod izole VM'lerde çalıştığı için güvenlik yüksektir; izleme ve hata ayıklama araçları sunulur
- Öngörülebilir, basit fiyatlandırma
- Önceden altyapı tanımlamadan, yalnızca kullanılan kaynak kadar ücret ödenir
Başlıca özellikler
- Birleşik tarayıcı ortamı: Bulutta tarayıcıları anında oluşturup kontrol etmeye olanak tanır; iş yükü otomasyonu için optimize edilmiştir
- Sandbox Chrome tarayıcısı, DevTools tabanlı otomasyon framework'lerinden bağlanarak kullanılabilir
- Playwright, Puppeteer vb. ile 9222 portu üzerinden entegrasyon
- CDP WebSocket endpoint'i alındıktan sonra uzak istemciden bağlantı kurulabilir
- Bağlantıyı kesip yeniden bağlanmak mümkündür
- Oturum durumunu koruma: Çerezler, kimlik doğrulama token'ları, geçmiş gibi tarayıcı oturumları çağrılar arasında da korunur
- Çok hızlı yeniden başlatma (standby mode): Tarayıcı instance'ları 20 ms'nin altında anında yeniden başlatılabilir
- Uzak GUI (canlı görünüm akışı) ile tarayıcı ekranı gerçek zamanlı olarak izlenebilir ve kontrol edilebilir
- noVNC: VNC tabanlıdır, okuma/yazma destekler, WebRTC'nin devre dışı bırakılması gerekir
- WebRTC: Gerçek zamanlıdır, okuma/yazma, pencere boyutlandırma, kopyala/yapıştır ve yüksek performans sunar;
ENABLE_WEBRTC=true gerekir
- Ses akışı desteklenmez; salt okunur mod environment variable ile ayarlanabilir
- Tarayıcı oturumu video replay: Geçmiş oturumları tekrar izleyerek hata ayıklama ve analiz yapma imkanı (yakında desteklenecek)
Uygulama ve dağıtım
-
Docker container kullanımı
- Headful Chromium, Docker container içinde çalıştırılabilir
cd images/chromium-headful sonrasında build ve çalıştırma script'leri sunulur
- WebRTC etkinleştirme ve diğer ayarlar environment variable'larla yapılabilir
-
Unikraft Unikernel kullanımı
- Unikraft unikernel tabanlı çalıştırmada, Docker tabanlı yönteme göre daha hızlı başlatma ve bekleme modu sağlanır
- Ağ trafiği yoksa otomatik olarak standby moduna geçer; durum snapshot'ı ve geri yükleme desteklenir
- Cold start 20 ms'nin altında, oturum durumu (çerezler, dosyalar, tarayıcı ayarları vb.) korunup geri yüklenebilir
- En az 8 GB bellek gerekir
-
Dağıtım sırasında dikkat edilmesi gerekenler
- WebRTC tabanlı akış etkinleştirildiğinde TURN sunucusu gerekir
- Unikernel dağıtımında herkese açık bir URL verildiği için herkes erişebilir; bu nedenle hassas işler için kullanmayın ve iş bittikten sonra instance'ı silin
Henüz yorum yok.