← Kembali ke blog

Membangun Cloud VPS BOC dengan Provisioning Proxmox dan WHMCS

Catatan saya membangun provisioning VM ke Proxmox dan plugin WHMCS untuk mengubah dedicated server BOC menjadi layanan Cloud VPS.

Membangun Cloud VPS BOC dengan Provisioning Proxmox dan WHMCS

Membangun Cloud VPS BOC dengan Provisioning Proxmox dan WHMCS

Setelah dedicated server BOC selesai saya siapkan di data center Bogor, pekerjaan berikutnya adalah mengubah kumpulan server fisik tersebut menjadi layanan yang dapat digunakan pelanggan.

Saya tidak ingin berhenti pada tahap memiliki hardware, Proxmox, Ceph, dan Proxmox Backup Server. Infrastruktur tersebut harus dapat menghasilkan layanan cloud VPS yang prosesnya lebih teratur, dapat diprovision dengan cepat, dan dapat dikelola melalui alur berlangganan yang sudah familiar bagi pelanggan BOC.

Kondisi BOC sebelum memiliki server sendiri

Sebelum membangun infrastruktur ini, layanan BOC terdiri dari domain, hosting, dan managed VPS.

Untuk layanan VPS, BOC masih menyewa VPS dari cloud provider lain. Setelah itu, BOC menjual layanan managed di atas resource tersebut. Artinya, pekerjaan utama kami bukan mengelola seluruh infrastruktur cloud dari dasar, melainkan membantu pelanggan mengelola VPS yang resource-nya disediakan oleh provider lain.

Model tersebut dapat berjalan dan menjadi bagian dari perjalanan BOC. Namun, model ini memiliki keterbatasan. Kami tidak sepenuhnya mengendalikan hardware, kapasitas fisik, storage, network, dan cara resource tersebut dikembangkan.

Ketika BOC diarahkan untuk menjadi cloud provider, saya perlu membangun lapisan infrastruktur dan otomatisasi yang lebih sesuai dengan arah tersebut.

Dedicated server harus berubah menjadi produk

Dengan dedicated server sendiri, saya mendapatkan kendali yang lebih besar atas fondasi infrastruktur. Namun, kendali tersebut juga membawa tanggung jawab baru.

Saya harus mulai menjawab pertanyaan-pertanyaan yang sebelumnya sebagian besar berada di sisi provider upstream:

  • bagaimana membuat virtual machine baru;
  • bagaimana menentukan template dan operating system;
  • bagaimana memberikan resource CPU, RAM, dan storage;
  • bagaimana mengatur network dan public IP;
  • bagaimana menghapus atau menghentikan layanan;
  • bagaimana melakukan backup;
  • bagaimana menangani perubahan paket;
  • dan bagaimana memastikan proses tersebut dapat dilakukan secara konsisten.

Membuat VM satu per satu secara manual mungkin dapat dilakukan untuk beberapa pelanggan pertama. Namun, cara tersebut tidak akan cukup jika layanan Cloud VPS ingin dikembangkan menjadi produk yang dapat melayani lebih banyak pelanggan.

Karena itu, saya mulai membangun provisioning VM ke Proxmox.

Membangun provisioning VM ke Proxmox

Provisioning menjadi jembatan antara infrastruktur fisik dan pengalaman pelanggan.

Di satu sisi, saya memiliki cluster Proxmox yang menjalankan virtual machine. Di sisi lain, pelanggan ingin membeli layanan, membayar, lalu mendapatkan server yang dapat digunakan tanpa harus menunggu proses manual yang panjang.

Pekerjaan saya adalah menghubungkan kedua sisi tersebut. Sistem perlu dapat menerjemahkan pesanan dan paket layanan menjadi instruksi teknis untuk membuat VM di Proxmox.

Beberapa hal yang perlu dipikirkan dalam proses provisioning antara lain:

  • pemilihan node atau resource pool;
  • template VM;
  • jumlah vCPU;
  • kapasitas RAM;
  • kapasitas disk;
  • konfigurasi network;
  • public IP;
  • hostname;
  • credential awal;
  • status provisioning;
  • dan informasi akses untuk pelanggan.

Saya ingin proses tersebut tidak bergantung pada tindakan manual berulang. Semakin banyak langkah yang dapat dibuat konsisten melalui sistem, semakin kecil kemungkinan terjadi kesalahan ketika layanan bertambah.

Membangun plugin WHMCS

Pelanggan BOC sudah terbiasa menggunakan alur order dan billing melalui WHMCS. Karena itu, saya memilih membangun plugin atau module WHMCS yang dapat menghubungkan proses order dengan provisioning VM di Proxmox.

Targetnya adalah membuat alur seperti ini:

  1. Pelanggan memilih layanan Cloud VPS.
  2. Pelanggan menyelesaikan proses order dan pembayaran.
  3. WHMCS meneruskan status order ke module provisioning.
  4. Module berkomunikasi dengan Proxmox.
  5. VM dibuat menggunakan parameter paket yang dipilih.
  6. Sistem menyimpan informasi VM dan status provisioning.
  7. Pelanggan menerima informasi layanan yang dapat digunakan.

Dengan alur tersebut, WHMCS tidak hanya berfungsi sebagai billing system. WHMCS menjadi salah satu pintu masuk ke platform cloud BOC.

Tentu saja, proses ini tidak langsung sempurna. Saya perlu menangani kondisi ketika provisioning gagal, pembayaran belum selesai, VM sudah dibuat tetapi order gagal diperbarui, atau pelanggan membutuhkan perubahan resource.

Di sinilah saya mulai memahami bahwa membangun cloud provider bukan hanya pekerjaan infrastructure. Saya juga harus memikirkan integrasi aplikasi, state machine, idempotency, logging, retry, dan bagaimana support dapat melihat status layanan tanpa harus masuk langsung ke server.

Dari managed VPS menjadi Cloud VPS BOC

Perbedaan antara managed VPS lama dan Cloud VPS yang mulai kami bangun terletak pada fondasinya.

Sebelumnya, BOC menyewa VPS dari cloud provider lain dan menawarkan layanan managed di atasnya. Sekarang, saya mulai menyediakan virtual machine yang berjalan di atas server dan cluster yang kami bangun sendiri.

Ini bukan berarti layanan managed menjadi tidak penting. Justru layanan managed tetap menjadi nilai tambah BOC. Perbedaannya adalah sekarang layanan tersebut dapat berdiri di atas platform yang lebih kami kendalikan sendiri.

Kami dapat mengembangkan paket, provisioning, storage, backup, dan layanan tambahan berdasarkan kemampuan infrastruktur BOC sendiri, bukan hanya berdasarkan pilihan yang tersedia dari provider upstream.

Langkah awal menuju cloud provider

Dedicated server, Proxmox, Ceph, PBS, provisioning VM, dan plugin WHMCS adalah bagian-bagian yang mulai saya satukan menjadi satu sistem.

Masing-masing bagian memiliki tantangan teknisnya sendiri. Tetapi tujuan akhirnya sama: membangun layanan Cloud VPS BOC yang dapat dipesan, diprovision, dan dikelola dengan proses yang lebih konsisten.

Bagi saya, ini adalah perkembangan penting setelah BOC mulai meninggalkan ketergantungan penuh pada VPS sewaan. Kami belum selesai membangun seluruh platform cloud, tetapi fondasinya sudah mulai berubah.

Saya mulai melihat BOC bukan hanya sebagai penyedia domain, hosting, atau managed VPS. Saya mulai membangun BOC sebagai cloud provider yang memiliki infrastruktur, produk, dan automation sendiri.

Setelah memiliki dedicated server, tantangan berikutnya bukan lagi “di mana menjalankan VPS”, tetapi “bagaimana mengubah infrastruktur tersebut menjadi layanan cloud yang dapat digunakan pelanggan secara otomatis”.

Building BOC berikutnya

Perjalanan ini akan berlanjut ke pengembangan provisioning, lifecycle management, monitoring, backup, billing, dan layanan Instant App.

Setiap tahap akan membawa masalah baru. Namun, setiap masalah tersebut juga membantu saya memahami apa yang perlu dibangun agar BOC dapat berkembang secara lebih terstruktur.

Ini adalah bagian dari serial Building BOC—catatan saya saat mengubah BOC dari penyedia layanan berbasis upstream menjadi cloud provider dengan server dan platform yang kami bangun sendiri.