24 poin oleh GN⁺ 2025-08-01 | Belum ada komentar. | Bagikan ke WhatsApp
  • Kernel adalah platform serverless yang memungkinkan developer langsung mendeploy kode otomatisasi browser tanpa perlu memikirkan infrastruktur terpisah, serta menskalakannya dalam skala besar
  • Tanpa konfigurasi atau membangun pipeline, kode bisa dideploy dan dijalankan dengan kecepatan yang hampir sama seperti pengembangan lokal
  • Menyediakan browser Chrome yang dapat digunakan di lingkungan sandbox, serta secara otomatis mengubah agen yang ditulis menjadi API sehingga bisa dipanggil dari mana saja
  • Mendukung integrasi dengan framework berbasis Chrome DevTools Protocol seperti Playwright dan Puppeteer, serta memungkinkan pemantauan dan kontrol real-time melalui GUI jarak jauh (live view)
  • Mendukung lingkungan Unikraft unikernel untuk menyediakan fitur berperforma tinggi seperti restart supercepat, pemulihan snapshot, dan minimisasi resource
  • Mendukung dua metode deployment, yaitu image Docker dan Unikraft unikernel, sehingga dapat digunakan di berbagai lingkungan cloud/kontainer
  • Semua kode dijalankan dengan aman di mesin virtual yang terisolasi, serta menyediakan alat observasi dan debugging real-time

What's Kernel?

  • Kernel menyediakan lingkungan browser Chrome yang tersandbox dan siap pakai, dan repositori ini adalah kode dasar untuk layanan hosting Kernel
  • Dapat dengan mudah terhubung dari framework browser berbasis Chrome DevTools seperti Playwright dan Puppeteer

Why use Kernel?

  • Deploy dari lokal ke produksi dalam hitungan detik
    • Tanpa konfigurasi terpisah atau pipeline produksi, kode dapat dideploy dan dijalankan hampir secepat bun run dev
  • Mengubah semua agen menjadi API
    • Semua agen yang diunggah ke platform akan secara otomatis diekspos sebagai API dan dapat dipanggil dari luar
  • Skalabilitas paralel
    • Dapat langsung menjalankan dan menskalakan ribuan instance browser kapan pun diperlukan
  • Isolasi dan observabilitas yang ditingkatkan
    • Kode berjalan di VM yang terisolasi untuk keamanan lebih tinggi, dan disertai alat pemantauan serta debugging
  • Paket harga yang sederhana dan dapat diprediksi
    • Tanpa perlu mendefinisikan infrastruktur di awal, biaya hanya timbul sesuai resource yang digunakan

Fitur utama

  • Lingkungan browser terpadu: membuat dan mengendalikan browser secara instan di cloud, dioptimalkan untuk otomatisasi workload
  • Browser Chrome tersandbox dapat dihubungkan dan digunakan dari framework otomatisasi berbasis DevTools
    • Integrasi dengan Playwright, Puppeteer, dan lainnya melalui port 9222
    • Menghubungkan dari klien jarak jauh setelah memperoleh endpoint WebSocket CDP
    • Mendukung putus sambung dan sambung ulang
  • Mempertahankan status sesi: sesi browser seperti cookie, token autentikasi, dan riwayat tetap dipertahankan antar pemanggilan
  • Restart supercepat (standby mode): instance browser dapat langsung dimulai ulang dalam waktu kurang dari 20ms
  • GUI jarak jauh (streaming live view) memungkinkan layar browser dipantau dan dikendalikan secara real-time
    • noVNC: berbasis VNC, mendukung baca/tulis, perlu menonaktifkan WebRTC
    • WebRTC: real-time, baca/tulis, ubah ukuran jendela, salin/tempel, performa tinggi, memerlukan ENABLE_WEBRTC=true
    • Streaming audio belum didukung, mode hanya-baca dapat diatur melalui environment variable
  • Replay video sesi browser: dapat meninjau sesi sebelumnya untuk debugging dan analisis (dukungan direncanakan)

Implementasi dan deployment

  • Menggunakan kontainer Docker

    • Dapat menjalankan Chromium headful di kontainer Docker
    • Setelah cd images/chromium-headful, tersedia skrip build dan run
    • WebRTC dan pengaturan lainnya dapat diaktifkan melalui environment variable
  • Menggunakan Unikraft Unikernel

    • Saat dijalankan berbasis Unikraft unikernel, menyediakan startup dan mode standby yang lebih cepat dibanding berbasis Docker
    • Jika tidak ada traffic jaringan, otomatis masuk ke mode standby, serta mendukung snapshot/pemulihan status
    • Cold start kurang dari 20ms, serta dapat mempertahankan dan memulihkan status sesi (cookie, file, pengaturan browser, dll.)
    • Memerlukan memori 8GB atau lebih
  • Hal yang perlu diperhatikan saat deployment

    • Saat mengaktifkan streaming berbasis WebRTC, diperlukan server TURN
    • Pada deployment unikernel, URL publik akan diterbitkan sehingga siapa pun bisa mengaksesnya, jadi jangan gunakan untuk pekerjaan sensitif, dan hapus instance setelah digunakan

Belum ada komentar.

Belum ada komentar.