~/VibeHandbook
PDF Gratis

Cloudflare

developers.cloudflare.com

Cloudflare Containers

Apa itu ini

Bayangkan sebuah kontainer kapal: seluruh aplikasimu dan semua yang dibutuhkannya dikemas dalam satu kotak tersegel yang berjalan sama persis di mana pun. Cloudflare Containers memungkinkanmu menjalankan kontainer Linux penuh — kotak tersegel itu — langsung di dalam jaringan Cloudflare, berdampingan dengan Workers-mu. Ketika sebuah Worker butuh sesuatu yang tidak bisa dilakukannya sendiri — runtime yang lebih berat, program tertentu, bahasa atau library yang tidak muat di sandbox (kotak pasir — lingkungan terbatas dan terisolasi) Workers — Worker itu bisa menyerahkan pekerjaannya ke kontainer yang start berdekatan dengan pengguna. Kamu mendefinisikan kontainernya, dan sebuah Worker mengontrol kapan salinannya start, stop, dan scale (menyesuaikan jumlah salinan sesuai kebutuhan).

Kelebihan

  • Menjalankan image kontainer sungguhan, jadi kamu bisa memakai tools dan runtime yang tidak bisa jalan di sandbox Workers.
  • Berada tepat di sebelah Workers di jaringan global Cloudflare, jadi jarak tempuh (hop) antara keduanya pendek.
  • Sebuah Worker mengorkestrasi kontainer-kontainer itu, jadi kamu tetap memakai routing, auth (autentikasi), dan logika yang sudah kamu miliki.
  • Cocok untuk batch job (pekerjaan yang diproses sekaligus dalam kelompok), pemrosesan media, headless browser (browser tanpa tampilan, dikontrol lewat kode), dan memindahkan (porting) kode berbasis Docker yang sudah ada.
  • Scale sesuai permintaan dan scale kembali turun, jadi kamu tidak membayar server yang menganggur sepanjang waktu.

Trade-off (kompromi)

  • Lebih berat dan lebih lambat untuk start dibanding Worker biasa — cold start (jeda pemanasan saat sebuah request datang dan belum ada apa pun yang berjalan) itu nyata, jadi ini bukan untuk setiap request.
  • Lebih banyak bagian yang bergerak: kamu sekarang mengelola sebuah image, proses build-nya, dan siklus hidupnya, bukan sekadar sebuah skrip.
  • Biayanya lebih mahal dibanding Worker murni untuk tugas sederhana yang sama; pakai ini hanya kalau kamu memang benar-benar butuh kontainer.
  • Masih lebih baru dibanding Workers, jadi perkirakan tooling dan batasannya akan terus berkembang.

Kapan memakainya

Pakai kontainer ketika sebuah pekerjaan benar-benar membutuhkan OS (operating system — sistem operasi) penuh atau runtime yang tidak bisa diberikan oleh edge — menjalankan alat (command-line interface — alat yang kamu jalankan dengan mengetik perintah) yang sudah ada, bahasa yang tidak didukung Workers, atau langkah yang berat secara komputasi — sambil tetap menjaga pintu depan edge-native-mu ada di sebuah Worker.

Kecocokan dengan vibe coding

Ini target yang bersih untuk bantuan AI karena bentuknya familiar: sebuah Dockerfile (resep yang membangun kontainer) plus Worker kecil yang menjalankannya. Beri tahu bahwa kamu memakai Cloudflare Containers supaya ia menyambungkan binding Worker-ke-kontainer dengan benar, alih-alih mengasumsikan cloud generik (virtual machine — komputer sewaan di cloud).

// wrangler.jsonc — bind a container to a Worker
{
  "name": "my-app",
  "main": "src/index.ts",
  "containers": [
    { "class_name": "MyContainer", "image": "./Dockerfile" }
  ]
}