Merancang Arsitektur SaaS Kecil dengan Cloudflare Workers, D1, dan R2
Bagaimana saya merancang produk SaaS mandiri yang melayani jutaan request per bulan tanpa memelihara container, dengan biaya hosting di bawah satu dolar.
Produk mandiri hidup dari biaya yang rendah. Kalau server menyala dua puluh empat jam padahal pengguna hanya aktif beberapa jam, uang terbuang untuk menunggu.
Mengapa serverless di edge
Cloudflare Workers menjalankan kode dekat dengan pengguna dan hanya menagih saat ada request. Tidak ada container yang perlu diperbarui, tidak ada server yang perlu dipantau tengah malam.
Pembagian tugas
- Workers menangani logika dan routing.
- D1 menyimpan data relasional yang ukurannya wajar untuk produk kecil.
- R2 menyimpan berkas dan gambar tanpa biaya egress.
Batasan yang perlu diterima
D1 berbasis SQLite, jadi tulis serentak berat bukan keunggulannya. Untuk produk yang dominan membaca, ini justru cocok. Rancang skema dengan indeks yang tepat sejak awal dan jangan menyimpan berkas besar di database.
Kesimpulan
Untuk produk mandiri, arsitektur yang membosankan dan murah hampir selalu lebih baik daripada arsitektur yang mengesankan. Mulai kecil, ukur, baru tambah kompleksitas bila benar-benar dibutuhkan.