Dewacloud blog featured image

Hosting Node.js di Dewacloud PaaS

Dewacloud PaaS menawarkan sebuah integrasi praktis untuk NodeJS application server yang cepat, ringan, dan mudah untuk di-scaling. Server tersebut juga telah dioptimasi dan didukung oleh berbagai software pengelolaan server agar proses hosting semakin nyaman untuk para developer.

Di artikel ini, kami akan membahas fitur dan tools utama yang dapat kamu gunakan untuk memaksimalkan hosting aplikasi berbasis Node.js di Dewacloud PaaS.

Hosting Environment Node.js di Dewacloud

Untuk menjalankan aplikasi berbasis Node.js di Dewacloud, kamu perlu membuat environment baru melalui Topology Wizard Dewacloud yang memiliki fitur lengkap dan intuitif.

Kamu dapat mulai membuat environment Node.js menggunakan tombol New Environment yang ada di bagian kiri atas halaman utama Dewacloud.

Kemudian, kamu hanya perlu memilih tab Node.js yang ada di bagian atas jendela pembuatan environment.

Setelah itu, sesuaikan topology dan pengaturan server sesuai kebutuhan kamu. Di sini, kamu dapat memilih dan mengatur load balancer, database, storage, public IP, metode scaling, dan masih banyak lagi.

Catatan: Setiap instance merupakan container terisolasi yang tidak terpengaruh oleh stacks lain yang ada di akun Dewacloud kamu. Nodes yang melalui proses scaling-out akan didistribusikan secara merata ke server (atau VM), sehingga aplikasimu mendapatkan high-availability.

Versi Node.js yang Didukung di Dewacloud

Pada saat penulisan artikel ini, Dewacloud mendukung beberapa versi Node.js:

  • 12.x.x
  • 13.x.x
  • 14.x.x
  • 15.x.x
  • 16.x.x
  • 17.x.x

Nodejs Dewacloud

Catatan: “X” pada versi Node.js di atas mengindikasikan adanya sub-versi Node.js yang didukung oleh Dewacloud. Cek apakah aplikasi Node.js kamu dapat di-deploy di Dewacloud mendaftar free trial.

Kamu dapat memilih versi Node.js sesuai dengan kebutuhanmu ketika membuat environment baru (dengan Topology Wizard) atau dengan mengubah pengaturan environment yang telah dibuat sebelumnya (dengan container redeployment).

Proses Deployment Aplikasi Node.js di Dewacloud

Dewacloud PaaS dapat membantu men-deploy aplikasi Node.js secara otomatis dengan menggunakan dua metode:

  • Archive aplikasi yang diunggah melalui perangkatmu atau dengan URL eksternal.
  • Remote VCS repository (seperti GitHub).
  • deploy application nodejs

Node.js Package Managers di Dewacloud

Agar proses deployment kamu semakin mudah, setiap server aplikasi Node.js memiliki sebuah development tool bernama Package Manager di dalamnya.

Package Manager berfungsi untuk menciptakan standarisasi dan otomasi dalam proses instalasi, update, konfigurasi, dan penghapusan.

Dewacloud memiliki dua jenis Package Managers:

  • npm – membantu mengelola project kamu dengan menginstal modul, packages, dan aplikasi tambahan yang diperlukan.
  • yarn – menjalankan operasi yang sama dengan npm (sehingga aplikasi tidak perlu diubah sama sekali), namun dengan kecepatan yang jauh lebih tinggi.

Dewacloud secara default menggunakan npm Package Manager, namun kamu dapat menggantinya dengan mudah ke yarn.

Untuk mengganti Package Manager ke yarn, kamu perlu mengakses container variable dan mengubah kolom PACKAGE_MANAGER ke yarn (atau sebaliknya).

Node.js Process Managers

Process Managers memberikan kamu kemampuan untuk memegang kendali penuh terhadap lifecycle aplikasi, memonitor services yang berjalan, dan memelihara operability project. Kamu dapat menggunakan beberapa jenis process managers di Dewacloud:

  • npm – memulai dan mengonfigurasi beberapa proses.
  • pm2 – memberikan pilihan fitur pengelolaan aplikasi, termasuk memonitor proses Node.js yang telah berjalan.
  • forever – menjalankan proses Node.js secara terus menerus dan otomatis memulai ulang ketika terjadi kegagalan (failure).
  • supervisor – memonitor perubahan pada aplikasi yang berjalan dan otomatis memulai ulang jika diperlukan agar selalu up-to-date.

Kamu dapat memilih process manager yang diperlukan ketika menjalanlan container redeployment atau dengan mengunah variabel PROCESS_MANAGER dengan tipe yang diinginkan (perlu restart untuk mengaktifkan perubahan).

Pengelolaan Domain

Kamu dapat dengan mudah menambahkan domain custom ke aplikasi Node.js kamu. Kamu dapat menggunakan dua metode untuk menambahkan domain ke environment:

  • CNAME redirect: Gunakan opsi ini jika kamu menggunakan Shared Load Balancer. Disarankan untuk environment yang masih dalam tahap pengembangan atau percobaan.
  • DNS A Record: Gunakan opsi ini jika kamu menggunakan Public IP. Opsi ini dapat menampung traffic lebih tinggi dan cocok digunakan untuk environment yang sudah di tahap production/live.

Kamu juga dapat mengarahkan traffic dari satu environment ke yang lainnya (contoh: mengarahkan pengunjung dari aplikasi versi lama ke versi terbaru tanpa downtime). Hal ini dapat dilakukan dengan menggunakan fitur swap domains atau dengan SwapExtIps API/CLI.

custom domain nodejs

Vertical Scaling Otomatis

Dewacloud PaaS akan secara dinamis menyediakan jumlah sumber daya (RAM dan CPU) sesuai kebutuhan dan load yang diterima oleh nodes di environment kamu. Kamu juga tidak perlu melakukan perubahan manual.

Sebagai hasilnya, kamu hanya perlu membayar untuk resource yang digunakan oleh environment kamu. Selain itu, kamu juga dapat menghemat waktu dengan menghindari keperluan perubahan arsitektur atau penyesuaian terhadap load server.

Kamu hanya perlu menyesuaikan upper limit dari cloudlet (1 cloudlet = 128 MiB RAM dan 400 MHz CPU) yang dialokasikan untuk aplikasi server NodeJS di akun Dewacloud kamu. Penyesuaian penggunaan cloudlet akan ditangani oleh Dewacloud secara otomatis.

vertical scaling nodejs

Manual Horizontal Scaling

Untuk melakukan scale out/scale in di server aplikasi NodeJS, kamu dapat membuka Topology Wizard dan menyesuaikan jumlah node dengan menekan tombol +/- di bagian Horizontal Scaling.

Kamu juga dapat mengubah mode scaling sesuai keinginanmu:

  • Stateless – Proses scaling dengan menduplikasi versi dasar aplikasi (tanpa file sistem) ke node baru.
  • Stateful – Proses scaling dengan menyalin file sistem dari master container ke node baru.

horizontal scaling nodejs

Batas jumlah maksimum server dengan tipe yang sama dalam satu layer tergantung kepada ketentuan hosting provider. Untuk saat ini, kamu dapat menggunakan hingga 16 cloudlets untuk satu layer dalam environment.

Jika kamu membutuhkan jumlah resource lebih, kamnu dapat menghubungi Ninja Support 24/7 untuk pelepasan batas cloudlet di akunmu.

Sebagai catatan, sebuah instance load balancer akan otomatis ditambahkan selama proses scaling server NodeJS untuk mendistribusikan request dengan lebih baik.

Automatic Horizontal Scaling

Kamu dapat mengataur horizontal scaling otomatis dengan mengakses Settings > Auto Horizontal Scaling. Di menu ini, kamu dapat mengatur trigger yang akan digunakan untuk menambahkan atau mengurangi resource yang digunakan oleh environment kamu.

Kamu juga dapat mengubah pengaturan untuk masing-masing jenis resource (CPU, RAM, Storage, dan Network) lengkap dengan kondisi yang diperlukan untuk eksekusi proses scaling.

automatic horizontal scaling nodejs

Ketika kamu men-deploy aplikasi kamu di Dewacloud, kamu juga akan mendapatkan berbagai tools bermanfaat seperti:

  • Custom atau Built-in SSL
  • Public IPv4 dan IPv6
  • Berbagai jenis software stacks
  • Firewall untuk container, endpoint, dan isolasi environment
  • UI yang mudah dipahami
  • Akses dengan direct atau web SSH
  • Open API dan Cloud Scripting untuk otomasi
  • Model pembayaran pay-per-use
  • Fungsi kolaborasi untuk anggota tim
  • Distribusi ke multi-cloud
  • Penutup

    Dewacloud menyediakan segala macam fitur yang kamu butuhkan untuk membangun server untuk aplikasi Node.js dan menjalankan seluruh otomasi yang diperlukan. Dengan Dewacloud, kamu tak perlu pusing melakukan proses scaling manual atau memikirkan masalah-masalah terkait load di server kamu.

    Selain itu, model pembayaran pay-per-use juga memungkinkan kamu untuk menghemat biaya penggunaan server sesuai dengan traffic yang didapatkan oleh aplikasimu.

    Jadi, kamu dapat memfokuskan waktu dan pikiran untuk mengembangkan aplikasi yang lebih baik, memperbaiki bug, dan meningkatkan kepuasan pengguna aplikasimu.

    Coba Dewacloud gratis selama 14 hari, dijamin tak akan menyesal 🙂