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 diAnda membayar
PAYG cluster (bawaan)Server terkelola RaklanePer resource yang dipakai, dari dompet Anda
Dedicated clusterServer terkelola Raklane, dari porsi yang dicadangkan untuk AndaLangganan tetap per jam/bulan
BYOCServer milik Anda yang sudah didaftarkanPenyedia 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