Node.js Hosting on FullHost.Cloud
FullHost.Cloud offers an out-of-the-box integration with a fast, lightweight, and highly scalable Node.js application server. The platform comes pre-configured with various optimization and management tools, making the hosting process as seamless and efficient as possible for developers.
In this article, we'll explore the key tools and features FullHost.Cloud provides to ensure optimal Node.js hosting.
Node.js Environment Hosting
To run your Node.js application on FullHost.Cloud, use the intuitive Topology Wizard to set up your environment. Navigate to the Node.js tab, choose the desired engine version for your application server, and add any additional software stacks as needed. You can also adjust other parameters, such as the number of cloudlets, nodes, and enable Public IPv4 or IPv6 if required.
Node.js Versioning
FullHost.Cloud currently supports the following Node.js versions:
- Node.js 14.21.3
- Node.js 16.20.0
- Node.js 18.20.4
- Node.js 20.17.0
- Node.js 21.7.3
- Node.js 22.9.0
For the most up-to-date list of available releases, refer to the regularly updated Software Stack Versions document.
You can choose the desired version of Node.js directly from the topology wizard when creating a new environment, and for existing environments, you can adjust the version through container redeployment.
Node.js Application Deployment
FullHost.Cloud automates the deployment process for managed Node.js application servers, offering the following methods:
- Upload an application archive from your local machine or via an external URL
- Deploy from a remote VCS repository (e.g., GitHub)
These options simplify the deployment process, allowing for quick and efficient application management.
For more information on deploying Node.js applications, refer to the following documents:
- Deployment Manager
- Deployment Guide
- Auto-Deploy Overview
- Deployment Hooks
- These resources provide detailed guidance on managing and automating your Node.js deployments.
Node.js Package Managers
Each Node.js application server on FullHost.Cloud comes with a built-in package manager to streamline the installation, update, configuration, and removal of packages.
FullHost.Cloud supports two package managers:
- npm – Manages project dependencies by installing additional modules, packages, and ready-to-use applications.
- yarn – Provides the same functionality as npm but offers improved speed, reliability, and ease of use.
By default, npm is used for Node.js application servers, but you can easily switch to yarn if needed. Simply access the container variables and set the PACKAGE_MANAGER value to either npm or yarn.
Node.js Process Managers
Process managers help control the application lifecycle, monitor services, and maintain project stability. FullHost.Cloud supports the following process managers for the Node.js stack:
- npm – Initiates and configures multiple processes.
- pm2 – Offers a wide range of application management features, including monitoring for running Node.js processes.
- forever – Runs Node.js processes continuously and automatically restarts them if they fail.
- supervisor – Monitors applications for changes and automatically restarts them to ensure they stay up-to-date.
You can select the process manager during container redeployment or by adjusting the PROCESS_MANAGER variable (set to either forever, npm, pm2, or supervisor). A container restart is required for changes to take effect.
Domains Management
You can easily assign a custom domain name to your Node.js application instead of the default one. Depending on your environment topology, you have two options:
- CNAME Redirect – Recommended for development and test environments using a shared load balancer.
- DNS A Record – Suitable for production environments with a public IP, capable of handling higher traffic loads.
Additionally, you can seamlessly switch traffic between environments (e.g., for rolling out a new application version without downtime) by using the swap domains feature or the SwapExtIps API/CLI method.
Automatic Vertical Scaling
FullHost.Cloud dynamically allocates the exact amount of resources (RAM and CPU) that your Node.js application requires based on the current load, without any manual intervention. This ensures that you only pay for the resources you use, saving both time and costs by eliminating the need to manage load-related adjustments or architectural changes.
Simply set the upper cloudlets limit (each cloudlet equals 128 MiB of RAM and 400 MHz of CPU) for your Node.js server, and the platform will automatically manage the rest.
Manual Horizontal Scaling
To scale your Node.js application servers horizontally, access the topology wizard and use the +/- buttons in the Horizontal Scaling section to adjust the number of nodes. Starting with platform version 5.5, you can also choose your preferred scaling mode:
- Stateless – Creates all new nodes simultaneously from the base image template.
- Stateful – Sequentially copies the file system of the master container to the new nodes.
This allows for flexible scaling based on your specific application requirements.
The maximum number of same-type servers within a single environment layer depends on your hosting provider’s settings, with a typical limit of 16 nodes. This limit can be increased by contacting support.
For proper request distribution, a load balancer instance is automatically added when scaling Node.js servers. For more information, refer to the horizontal scaling documentation.
Automatic Horizontal Scaling
To set up automatic horizontal scaling, go to Settings > Monitoring > Auto Horizontal Scaling in your environment. Here, you can configure tunable triggers that automatically adjust the number of nodes based on application load. Select the type of resource to monitor (CPU, RAM, Network, Disk) and define the conditions for scaling.
In addition, FullHost.Cloud offers a variety of built-in tools and features, including:
- Custom or FullHost.Cloud SSL
- Public IPv4 and IPv6 support
- A wide range of managed software stacks
- Container firewalls, endpoints, and environment isolation
- User-friendly UI and direct SSH access for management
- Open API and Cloud Scripting for automation
- Pay-as-you-use pricing model
- Collaboration tools for teamwork
- Multi-cloud distribution
FullHost.Cloud provides everything you need for smooth and efficient Node.js hosting. Get started with a free trial account and try it today!