Node.js Hosting
Dewacloud menyediakan integrasi NodeJS siap pakai yang cepat, ringan, dan dapat discaling. Integrasi tersebut secara otomatis dilengkapi dengan berbagai tools optimisasi dan manajemen untuk membuat proses hosting semaksimal mungkin dan nyaman bagi developer. Dalam artikel ini, kita akan membahas tools dan fitur utama yang tersedia di Dewacloud untuk menyediakan tingkat hosting Node.js yang diperlukan.
Gunakan daftar isi di bawah ini untuk menemukan informasi yang diperlukan dalam panduan lebih cepat:
- Node.js Environment Hosting
- Node.js Versioning
- Node.js Application Deployment
- Node.js Package Managers
- Node.js Process Managers
- Domains Management
- Automatic Vertical Scaling
- Manual Horizontal Scaling
- Automatic Horizontal Scaling
Node.js Environment Hosting
Untuk menjalankan aplikasi Node.js Anda, Anda perlu mengatur environment yang sesuai menggunakan Topology Wizard. Pilih tab Node.js, lalu pilih versi engine yang diperlukan untuk server aplikasi Anda dan tambahkan software stack lainnya jika diperlukan. Jika perlu, sesuaikan parameter lainnya, seperti jumlah cloudlets dan nodes, Public IPv4 dan IPv6, dll.
Setiap instance adalah container yang sepenuhnya terisolasi, sepenuhnya independen dan tidak dipengaruhi oleh stack lainnya. Selain itu, node yang discaling secara otomatis didistribusikan di seluruh server fisik (atau VM) untuk memastikan availability yang tinggi.
Node.js Versioning
Saat ini (pada saat penulisan ini), versi Node.js berikut didukung:
- 14.21.3
- 16.20.0
- 18.20.4
- 20.17.0
- 21.7.3
- 22.5.1
- 22.8.0
Daftar terbaru dari release yang tersedia di Dewacloud disediakan melalui dokumen Software Stack Versions.
Anda dapat memilih versi Node.js yang diperlukan langsung dari topology wizard selama pembuatan environment baru dan menyesuaikannya untuk container yang sudah ada melalui redeployment container.
Node.js Application Deployment
Platform ini mengotomatisasi proses deployment untuk server aplikasi NodeJS yang dikelola menggunakan:
- archive aplikasi yang diupload dari komputer lokal atau melalui URL eksternal
- repository remote VCS (mis. GitHub)
Biasanya, berkat algoritma auto-redirect port, project yang dideploy dapat diakses secara instan tanpa manipulasi tambahan. Namun, untuk akurasi yang lebih tinggi, Anda dapat secara manual exclude beberapa service dari pencarian auto-redirect dengan mendaftarkan port yang sesuai melalui variable REDIRECT_EXCLUDE_PORTS.
Anda dapat membaca dokumen yang sesuai untuk mempelajari lebih lanjut tentang deployment aplikasi Node.js:
Node.js Package Managers
Setiap server aplikasi NodeJS berisi development tool bawaan yang disebut Package Manager, yang menyediakan standarisasi dan otomatisasi dari proses instalasi, pembaruan, konfigurasi, dan penghapusan.
Dewacloud mendukung dua jenis package manager:
- npm - mengelola requirement project Anda dengan menginstal module tambahan, package, dan aplikasi siap pakai
- yarn - mengoperasikan requirements yang sama seperti di npm (jadi tidak ada perubahan yang diperlukan untuk aplikasi yang sudah ada), sambil memberikan kecepatan, keandalan, dan kenyamanan yang lebih tinggi
Secara default, package manager npm digunakan untuk server aplikasi NodeJS, tetapi jika diperlukan, npm dapat dengan mudah diganti ke yarn. Caranya, akses frame container variables dan atur value PACKAGE_MANAGER yang sesuai (baik npm atau yarn).
Node.js Process Managers
Process Managers memberikan kemampuan untuk mengontrol application life cycle, memantau service yang berjalan, dan menjaga operabilitas project. Dewacloud menyediakan dukungan bagi process manager berikut untuk stack NodeJS:
- npm - menyediakan kemampuan untuk start aplikasi
- pm2 - menyediakan berbagai fitur manajemen aplikasi yang sangat besar, termasuk pemantauan proses Node.js yang dilaunch
- forever - memungkinkan proses Node.js Anda berjalan terus menerus dan restart secara otomatis jika gagal
Pengguna dapat memilih process manager yang diperlukan selama redeployment container atau dengan menyesuaikan variable PROCESS_MANAGER (menggunakan forever, npm, atau pm2 sebagai value, restart container diperlukan untuk menerapkan opsi baru).
Domains Management
Aplikasi Node.js Anda dapat dengan mudah dilengkapi dengan custom domain untuk digunakan menggantikan yang default. Ada dua opsi berdasarkan topologi environment Anda:
- CNAME redirect jika menggunakan Shared Load Balancer ; direkomendasikan untuk environment dev dan test
- DNS A Record jika menggunakan Public IP ; dapat menangani load traffic tinggi dan cocok untuk environment production
Selain itu, Anda dapat dengan cepat mengalihkan traffic antara environment Anda (mis. untuk mengarahkan pelanggan ke versi aplikasi yang lebih baru tanpa downtime) dengan memanfaatkan fitur swap domains atau dengan bantuan metode SwapExtIps API/CLI .
Automatic Vertical Scaling
Dewacloud secara dinamis menyediakan jumlah resource yang tepat (RAM dan CPU) yang dibutuhkan oleh node Anda sesuai dengan load saat ini tanpa intervensi manual yang diperlukan. Sebagai hasilnya, Anda tidak pernah membayar lebih untuk sumber daya yang tidak digunakan dan menghemat waktu Anda karena Dewacloud menghilangkan kebutuhan untuk menangani penyesuaian terkait load atau perubahan arsitektural.
Anda hanya perlu menetapkan limit cloudlets maksimum (satu cloudlet setara dengan 128 MiB RAM dan 400 MHz CPU) untuk server aplikasi NodeJS Anda dan semuanya akan ditangani secara otomatis.
Referensi dokumentasi automatic vertical scaling untuk informasi lebih lanjut.
Manual Horizontal Scaling
Untuk memperbesar/memperkecil server aplikasi NodeJS, Anda perlu mengakses topology wizard dan menekan tombol +/- dalam bagian Horizontal Scaling untuk mengatur jumlah node yang diperlukan. Juga, mulai dengan versi platform 5.5, Anda dapat menyesuaikan mode penskalaan yang diinginkan:
- Stateless - secara bersamaan membuat semua node baru dari template image dasar
- Stateful - secara berturut-turut menyalin file system dari master container ke dalam node baru
Jumlah limitnya adalah 8 node dan dapat diperbesar dengan mengirimkan request yang sesuai ke tim support Dewacloud.
Selain itu, untuk distribusi request yang tepat, sebuah instance load balancer otomatis ditambahkan saat scaling server NodeJS. Lihat referensi dokumentasi horizontal scaling untuk detail lebih lanjut.
Automatic Horizontal Scaling
Akses bagian Settings > Monitoring > Auto Horizontal Scaling environment untuk mengatur trigger khusus yang dapat disesuaikan, yang memungkinkan meningkatkan atau mengurangi jumlah node sesuai dengan load aplikasi. Konfigurasikan jenis resource yang akan dipantau (CPU, RAM, Network, Disk) dan kondisi scaling yang tepat.
Pelajari lebih lanjut tentang automatic horizontal scaling dalam dokumen terhubung.
Selain itu, hosting di Dewacloud memungkinkan penggunaan alat dan fitur inbuilt lainnya, misalnya:
- Custom atau Built-In SSL
- IPv4 dan IPv6 Public
- Sejumlah besar software stacks yang dikelola
- Firewalls container, endpoints, dan isolasi environment
- UI yang mudah digunakan dan akses SSH langsung untuk manajemen
- Open API dan Cloud Scripting untuk otomatisasi
- Model harga sesuai penggunaan (pay-per-use)
- Fungsi kolaborasi untuk kerja tim
- Distribusi multi-cloud
Seperti yang Anda lihat, Dewacloud menyediakan semua kondisi yang diperlukan untuk hosting Node.js yang lancar!