Episode ini membahas deployment aplikasi Remix: opsi hosting seperti Vercel, Netlify, Cloudflare Pages, dan Fly.io, pemilihan server versus edge, build output dan deployment aset, serta preview environment dan rollback yang aman.

Seluruh kerja keras kalian berakhir di satu momen: aplikasi melayani pengguna di dunia nyata. Episode 20 adalah peta deployment — bagaimana memilih host, apa yang terjadi saat build, dan bagaimana keluar dari kesalahan dengan aman.
Kabar baiknya, Remix dirancang agar deployable di mana-mana. Berkat sistem adapter, satu kode aplikasi bisa berjalan di server Node.js, platform serverless seperti Vercel dan Netlify, edge platform seperti Cloudflare Pages, atau VM kalian sendiri. Perbedaan utamanya adalah bagaimana server bundle dibangun dan dijalankan, bukan bagaimana aplikasi ditulis.
Episode 20 akan membahas opsi hosting, server versus edge, build output dan aset, serta preview environment dan rollbacks.
Beberapa tujuan deployment yang paling umum untuk Remix:
npm view @remix-run/vercel version
npm view @remix-run/netlify version
npm view @remix-run/cloudflare-pages version
npm view @remix-run/node versionTiap platform memakai adapter masing-masing; pilih satu dan sesuaikan saat scaffolding. Perpindahan antar platform tetap mungkin, tetapi menentukan lebih awal menghemat waktu.
Masing-masing platform juga punya model harga yang berbeda — ada yang gratis untuk project kecil dan mulai berbayar saat traffic naik. Pelajari model harga platform sebelum berkomitmen, agar tidak kaget di akhir bulan.
Pertimbangkan: kebutuhan runtime (Node penuh vs edge), lokasi pengguna, batas kuota, dan kenyamanan tim. Aplikasi yang butuh file upload besar atau WebSocket lebih nyaman di Fly.io; aplikasi konten ringan cocok di platform serverless.
Tip
Jangan ragu mencoba lebih dari satu platform untuk project latihan. Karena aplikasi Remix bisa dideploy ke beberapa target, mencoba dua platform sekaligus adalah cara terbaik memahami perbedaan adaptor dan runtime.
Deployment berbasis Node.js memberi akses penuh: filesystem, proses panjang, dan library native. Cocok untuk aplikasi yang kompleks dan berjalan terus. Pola ini paling fleksibel karena tidak ada batasan runtime selain yang kalian tetapkan sendiri.
Serverless dan edge menjalankan kode per request, menaik-turunkan otomatis, dan sering lebih murah untuk trafik yang jarang. Batasannya: tidak ada filesystem persisten, timeout, dan cold start. Cold start pertama bisa terasa, tapi platform modern sudah sangat memperbaikinya.
Mulailah dari platform yang paling nyaman untuk project kecil, dan pahami trade-off sebelum naik skala. Migrasi adapter di Remix biasanya terisolasi di entry.server dan konfigurasi — bagian inti aplikasi tidak berubah.
Untuk project belajar, salah satu platform serverless adalah titik awal yang paling cepat: Git integration, HTTPS otomatis, dan dashboard yang jelas. Setelah nyaman, coba deploy ke platform kedua agar memahami perbedaannya secara langsung.
Perintah build menghasilkan dua kelompok output:
build/ <- server bundle, dipakai server atau function
public/ <- aset statis: JS, CSS, gambar, di-cache CDNAset statis di public disalin dan bisa di-cache agresif; server bundle dijalankan sebagai server atau function. Platform modern menangani penyalinan ini otomatis dari konfigurasi adapter.
Pahami juga perbedaan servis aset: CDN melayani aset statis dari lokasi terdekat, sedangkan halaman HTML dinamis dihasilkan server atau edge. Campuran CDN untuk aset dan server untuk HTML adalah pola deployment Remix yang paling umum.
Set secret di panel platform, bukan di file kode. Tiap environment production, staging, dan preview memakai nilai env sendiri. Platform biasanya menyediakan pengaturan env per project atau per branch.
Jangan lupa memverifikasi bahwa secret benar-benar terbaca setelah deploy. Cara cepat mengujinya: buka halaman yang membaca process.env dan lihat apakah nilai yang diharapkan muncul. Secret yang salah adalah penyebab klasik aplikasi yang bekerja lokal tapi rusak di produksi.
Platform modern membuat preview environment otomatis untuk setiap pull request. Preview memberi URL yang bisa diklik untuk menguji perubahan sebelum merge. Ini menutup kesenjangan antara kode yang lulus CI dan kode yang benar-benar dipakai.
Saat sesuatu salah di produksi, rollback adalah tombol darurat. Platform menyediakan redeploy versi sebelumnya. Prinsipnya: deploy yang baik harus selalu bisa dibatalkan dengan satu klik. Simpan riwayat release agar rollback cepat dan tidak panik.
Untuk perubahan besar, kombinasikan preview dan rollback dengan strategi rilis bertahap. Feature flag atau deploy bertahap memberi jalan keluar yang halus bila ada masalah. Episode 23 akan membahas pola rilis modern lebih lanjut.
Dengan semua elemen ini — adaptor yang tepat, build yang terbagi, secret yang benar, preview per commit, dan rollback satu klik — deployment bukan lagi acara yang menegangkan, melainkan alur rutin yang bisa diulang dengan tenang.
Episode 20 menuntaskan perjalanan aplikasi ke produksi: pemilihan host sesuai kebutuhan, pemahaman server versus edge, build output dan deployment aset, serta preview environment dan rollbacks yang aman. Aplikasi kalian kini benar-benar hidup di dunia nyata.
Inti yang harus dibawa pulang:
Di episode 21 selanjutnya kita akan membahas edge dan serverless — edge functions dan serverless runtimes, deployment di Cloudflare Workers atau Deno, perbedaan runtime dan pertimbangan environment, serta use case untuk deployment edge-first. Hosting sudah dipilih; sekarang kita bicara tentang ujung dunia.