23 poin oleh xguru 2022-09-29 | 2 komentar | Bagikan ke WhatsApp
  • Kode runtime JavaScript/WASM yang benar-benar digunakan di Cloudflare Workers
    • Hanya sebagian yang diubah agar bisa di-porting ke lingkungan lain
    • Namanya diambil dari -d "daemon" pada server Unix, sehingga dibaca "worker dee"

Kegunaan

  • Workers bisa di-self-host. Juga merupakan web server yang bisa digunakan langsung via API. Mudah diterapkan di lingkungan apa pun
  • Digunakan untuk pengembangan dan pengujian lokal
  • Proxy yang dapat diprogram (forward & reverse). Dapat mencegat dan memproses request/response dengan JavaScript

What it is

  • Server-first : banyak runtime JS/WASM dapat digunakan untuk berbagai tujuan, tetapi workerd hanya berfokus pada server. Terutama HTTP server
  • Web standard APIs : menyediakan API standar yang sama seperti yang digunakan di web browser (Fetch, URL, WebCrypto, dll.). Artinya, kode yang dikembangkan di sini juga bisa di-porting ke browser
  • Nanoservices : kini melampaui microservices menjadi nanoservices!
    • Nanoservices adalah model baru yang memiliki keunggulan deployment independen dengan overhead setara pemanggilan fungsi library
    • Dengan workerd, banyak Worker dapat dikonfigurasi dalam proses yang sama, dan tiap Worker berjalan secara independen tetapi juga bisa saling berkomunikasi
  • Homogeneous deployment : sebelumnya layanan tertentu harus dijalankan di container tertentu, tetapi dengan workerd semua mesin dapat menjalankan semua layanan
  • Capability bindings: konfigurasi yang rapi dan menjamin keamanan SSRF
  • Always backwards compatible : selalu menjamin kompatibilitas ke belakang

What it's not

  • workerd is not a Secure Sandbox : kode berbahaya bisa saja dijalankan. Untuk mencegahnya diperlukan lapisan sandboxing terpisah
  • workerd is not an independent project : inti sekaligus bagian dari Cloudflare Workers. Menerima commit eksternal, tetapi sulit menjaminnya.
  • workerd is not an off-the-shelf edge compute platform : bukan keseluruhan layanan Workers

2 komentar

 
fastkoder 2022-09-29

Ini yang ingin saya coba buat saat dirilis, ohho

 
galadbran 2022-09-29

Deployment homogen: dulu layanan tertentu harus dijalankan di kontainer tertentu, tetapi dengan workerd semua mesin bisa menjalankan semua layanan

Saya sempat bingung ini maksudnya apa, tetapi ternyata yang dimaksud adalah jika pengembangan dilakukan dengan pendekatan nanoservice (functions) seperti yang dijelaskan tepat sebelumnya, semua nanoservice bisa langsung dideploy ke satu mesin (katanya ini memungkinkan karena overhead-nya rendah), lalu kalau perlu tinggal menambah mesin yang sama, jadi tidak memerlukan konfigurasi deployment yang rumit.