Cara Kerja Raklane
Penjelasan menyeluruh: dari kode Anda hingga aplikasi yang berjalan dan bisa diakses — build, release, tempat aplikasi berjalan, bagaimana trafik sampai, dan cara penagihannya.
Halaman ini mengikuti satu aplikasi dari kode sumber hingga menerima trafik, sehingga Anda tahu apa yang dikerjakan Raklane di setiap langkah dan ke mana harus melihat saat ada masalah. Halaman ini mengasumsikan Anda sudah membaca sekilas Konsep Dasar.
Seluruh perjalanan sekilas
1. Kode Anda
Source aplikasi adalah repositori Git beserta branch-nya, atau arsip yang diunggah (.zip/.tar). Repositori privat memakai access token atau SSH key yang disimpan sebagai Secret. Mengubah source tidak men-deploy apa pun dengan sendirinya — hanya mengubah apa yang akan di-build pada deploy berikutnya.
2. Memicu deploy
Deploy dimulai saat Anda:
- mengklik Deploy atau Redeploy di dashboard,
- melakukan push ke branch yang dikonfigurasi dengan auto-deploy aktif, atau
- memindahkan aplikasi ke lokasi lain (Settings → Deployment location).
Deploy bersifat asinkron: Raklane mencatat release baru dan langsung kembali, lalu dashboard menampilkan progresnya. Mengklik Deploy lagi saat proses masih berjalan tidak membuat antrean duplikat.
3. Build
Raklane meng-clone kode sumber Anda dan menjalankan Cloud Native Buildpacks, yang mendeteksi bahasa dari file seperti package.json, requirements.txt, go.mod, atau Gemfile lalu menghasilkan container image — tanpa perlu Dockerfile. Aplikasi Static melewati langkah ini dan menyajikan file apa adanya.
Build selalu dilakukan di sistem build Raklane, termasuk untuk aplikasi yang berjalan di server BYOC Anda sendiri. Server Anda tidak pernah butuh alat build atau memori ekstra untuk kompilasi, dan setiap replica menjalankan image yang persis sama.
Output build ada di Logs aplikasi (build log), dikelompokkan per tahap. Jika deploy gagal sebelum aplikasi menyala, di sinilah tempat untuk mencari tahu.
4. Tempat aplikasi berjalan
Setiap aplikasi berjalan di salah satu dari tiga tempat, yang Anda pilih saat membuatnya dan bisa diubah nanti:
| Berjalan di | Anda membayar | |
|---|---|---|
| PAYG cluster (bawaan) | Server terkelola Raklane | Per resource yang dipakai, dari dompet Anda |
| Dedicated cluster | Server terkelola Raklane, dari porsi yang dicadangkan untuk Anda | Langganan tetap per jam/bulan |
| BYOC | Server milik Anda yang sudah didaftarkan | Penyedia server Anda; ke Raklane paling banyak biaya pengelolaan |
Raklane lalu memilih mesin di lokasi tersebut yang punya ruang cukup untuk request CPU dan memori aplikasi Anda. Jika ruangnya tidak cukup, deploy ditolak sejak awal, bukan gagal di tengah jalan.
Di compute terkelola, Raklane bisa menyalakan server sesuai kebutuhan. Jika belum ada server yang berjalan saat Anda deploy, deploy akan menampilkan waiting for server selama beberapa menit sementara server menyala. Build tetap berjalan di saat yang sama, jadi waktu tunggunya biasanya tumpang tindih.
Lihat Tempat Aplikasi Berjalan untuk membantu memilih.
5. Rollout dan health check
Raklane menyalakan container baru di samping container yang sedang berjalan. Setiap replica baru harus lolos health check — request HTTP ke port aplikasi secara bawaan, atau koneksi TCP biasa — sebelum dianggap siap.
- Jika replica baru gagal health check, deploy dibatalkan. Release lama tetap melayani tanpa tersentuh. Release baru ditandai failed.
- Jika semua lolos, trafik dipindahkan.
6. Perpindahan trafik dan bake window
Setelah trafik dipindahkan, Raklane tetap menjalankan release sebelumnya selama bake window yang singkat (status baking). Jika release baru bermasalah dalam rentang itu, Raklane otomatis rollback ke release sebelumnya (status rolled_back). Jika tidak, release baru menjadi active dan yang lama dihentikan.
Lihat Men-deploy Aplikasi untuk detail lengkap, termasuk membatalkan deploy dan memaksa rollback.
7. Bagaimana trafik sampai ke aplikasi
Setiap aplikasi mendapat URL bawaan gratis begitu di-deploy, dan bisa punya domain kustom sebanyak apa pun. Sertifikat HTTPS diterbitkan dan diperpanjang secara otomatis.
Jalur request tergantung di mana aplikasi berjalan:
Di PAYG atau Dedicated cluster (compute terkelola Raklane), hostname aplikasi Anda mengarah ke Raklane. Ingress Raklane menangani HTTPS dan meneruskan setiap request ke salah satu replica yang sehat. Server yang menjalankan aplikasi Anda sama sekali tidak menerima koneksi dari internet — Raklane menjangkaunya lewat koneksi terenkripsi yang dibuka server ke arah luar. URL dan DNS Anda tidak pernah berubah, bahkan saat server di bawahnya berganti.
Di server BYOC (milik Anda), hostname aplikasi mengarah ke IP server Anda. Caddy di server Anda menangani HTTPS dan meneruskan ke container. Trafik pengunjung tidak pernah melewati Raklane. Lihat BYOC: Gambaran Umum & Cara Kerja.
Jika ada beberapa replica, request dibagi ke semua replica yang sehat. Replica yang tidak sehat dikeluarkan dari rotasi dan di-restart otomatis.
8. Selama aplikasi berjalan
Raklane terus memantau setiap container yang berjalan:
- Crash di-restart otomatis, dengan jeda yang makin panjang untuk aplikasi yang terus crash.
- Status menampilkan release aktif, replica, dan domain. Logs menampilkan output build dan runtime. Metrics menampilkan penggunaan CPU, memori, jaringan, dan disk secara live dan historis, dengan saran ukuran, dan Processes menampilkan apa yang berjalan di setiap replica.
- Ubah skala replica atau CPU/memori dari halaman Resources tanpa deploy ulang penuh.
- Jeda aplikasi untuk menghentikannya tanpa kehilangan apa pun, lalu lanjutkan nanti.
9. Database
Database (Postgres atau MySQL) dimiliki sebuah project, bukan satu aplikasi, dan berjalan terlepas dari deploy aplikasi. Seperti aplikasi, database berjalan di compute terkelola Raklane (dengan paket hosting) atau di server BYOC Anda (ukurannya Anda tentukan). Simpan connection string-nya di environment variable pada setiap aplikasi yang membutuhkannya.
10. Penagihan
Raklane memakai dompet prabayar. Pemakaian PAYG, langganan dedicated hosting, paket hosting database, dan biaya pengelolaan BYOC semuanya dipotong dari sana. Tidak ada kartu yang disimpan.
Selanjutnya
- Memulai — deploy aplikasi pertama Anda.
- Tempat Aplikasi Berjalan — PAYG vs. Dedicated vs. BYOC.
- Bring Your Own Compute — jalankan aplikasi di server Anda sendiri.