How to Easily Deploy a Web App on NodeShift Compute Virtual Machine

Ayush kumarAyush kumar
6 min read

What are Web Apps?

Web applications (web apps) are software program that runs on a remote web server and is accessed by users through a web browser. Web apps are designed to perform various functions, from email and online shopping to social media and productivity tools.

Key characteristics of web apps include:

  • Accessibility: Web apps can be accessed from any device with a web browser, without installing software.

  • Dynamic functionality: Web apps use server-side and client-side scripts to provide interactive and responsive user experiences.

  • Efficient development: Web apps have shorter development cycles and can be built by small teams, making them a cost-effective solution.

  • Scalability: Web apps can easily scale to accommodate more users without requiring additional infrastructure.

Overall, web applications offer businesses and users the benefits of accessibility, interactivity, and scalability compared to traditional desktop software.

What is NodeShift Cloud Platform?

NodeShift is a cloud platform that aims to challenge the dominance of major cloud providers like AWS, GCP, and Azure by offering excess capacity from independent data centers at significantly lower prices. Some key features of NodeShift include:

Affordable Pricing

  • NodeShift claims it can offer compute and GPU instances that are 70-80% cheaper compared to traditional cloud providers.

  • Prices start at $0.12/hour for GPU VMs and $5.99/month for compute VMs.

Global Availability

  • NodeShift is available across more than 200 locations worldwide.

  • This provides increased privacy and resilience as data can be deployed across multiple countries.

Automated Deployments

  • NodeShift allows automating deployments of compute, GPU VMs, and storage using Terraform and GitHub Actions.

What are Compute VMs?

Compute VMs are NodeShift Virtual Machines (VMs) which are flexible and scalable on-demand resources. Virtual machines offer greater control over the computing environment compared to other options as you can configure CPUs, RAM and Storage as necessary.

With Compute VMs, you can enjoy the benefits of virtualization without the need to purchase or maintain physical hardware. However, it is important to note that virtual machines still require maintenance tasks such as configuration, patching, and software installation.

Steps to Deploy Web App on a NodeShift Compute Virtual Machine and Use Locally

Step 1: Sign Up and Set Up a NodeShift Cloud Account

  1. Visit the NodeShift Cloud website (https://app.nodeshift.com/) and sign up for an account. Once you've signed up, log into your account.

  1. Follow the account setup process and provide the necessary details and information.

Step 2: Create a Compute Virtual Machine

Compute VMs are NodeShift-powered Virtual Machines running Windows and Linux OS of your choice, the VMs are available with a wide range of CPU and RAM configurations for all possible application needs.

Create a Deployment in the Dashboard navigate to the menu on the left side select the Compute VMs option, click on the start button, and create your first deployment.

Step 3: Select Region

In the "CPU Deployment" tab, Select a zone where you want to launch the VM(such as the United States)

Additionally, you can choose a Virtual Private Cloud (VPC) network for your VM. If no VPCs are available, a default VPC will be allocated to your VM, ensuring enhanced security through an isolated connection between VM resources.

Step 4: Choose VM Configuration

In the "Choose VM Configuration" section, choose the number of cores, amount of memory, boot disk type, and size according to your needs.

Step 5: Choose an Image

Next, you'll need to choose an image for your VM. There are three types of images available:

OS Images: Foundational Unix images with no additional software, including operating systems like Ubuntu, Fedora, and CentOS.

Marketplace Images: Pre-built and pre-configured images ranging from Docker applications to WordPress.

Customer Images: Docker images of your choice that you can deploy directly.

Step 6: Select Authentication Methods

There are two options for the authentication methods. The first is the Password, and the second is the SSH Key. SSH is considered a more secure option compared to other methods.

Step 7: Finalize Details

In the "Finalize Details" section, you can configure additional aspects of your VM:

Quantity: Specify how many VMs with the selected configuration you want to deploy.

Hostname: Assign a name to your VM.

Tags: Use tags to structure your cloud resources efficiently, making it easier to find relevant resources for specific projects.

Step 8: Complete Deployment

After finalizing the details, A page displays when the virtual machine is successfully created. Click on a page, It will open an overview of the virtual machine.

Step 9: Install Apache Web Server

  1. Connect to the Linux VM via SSH.

  2. Update the available packages and install Apache using the following commands:

sudo apt update && sudo apt -y install
  1. Verify Apache is running with:
sudo systemctl status apache2

Step 10: Deploy Web App Code

  1. Clone your web app code repository into the VM. For example:

     git clone https://github.com/Ayush7614/Score-App
    

    2. Copy your web app files into the Apache document root directory:

     sudo cp -r webapp/* /var/www/html/
    
    1. Overwrite the default Apache index.html with your app's index.html:
    echo '<!doctype html><html><body><h1>UEFA Champions League</h1></body></html>' | sudo tee /var/www/html/index.html

Step 11: Test the Web App

  1. Get the IP address of your VM from the NodeShift Compute Virtual Machine Page.

  2. Open a web browser and go to http://<VM_EXTERNAL_IP> to view your deployed web app.

Why Choose NodeShift Cloud for Deploying Web Apps?

1. Cost-Effectiveness:
NodeShift offers compute and GPU instances at significantly lower prices, up to 70-80% cheaper than traditional cloud providers. This makes it an ideal choice for businesses looking to reduce their cloud infrastructure costs.

2. Global Availability:
With over 200 locations worldwide, NodeShift ensures your web app can be deployed closer to your users, improving performance and providing enhanced privacy and resilience by distributing data across multiple countries.

3. Automated Deployments:
NodeShift supports automated deployments using tools like Terraform and GitHub Actions, streamlining the setup and management of your infrastructure, and saving time and effort.

4. Flexible VM Configurations:
NodeShift allows you to customize your virtual machines with various CPU, RAM, and storage options, ensuring you have the resources you need without overpaying for unnecessary capacity.

5. Diverse Image Options:
Whether you need a basic operating system, pre-configured marketplace applications, or custom Docker images, NodeShift offers a range of image options to suit different deployment needs.

6. Enhanced Security:
NodeShift provides secure authentication methods, including password and SSH key options, ensuring that your virtual machines are protected from unauthorized access.

7. Simplified Maintenance:
By using NodeShift’s virtual machines, you can avoid the hassle of purchasing and maintaining physical hardware, while still having the flexibility to configure and manage your computing environment as needed.

8. High Reliability:
NodeShift's infrastructure is designed to provide high availability and reliability, ensuring that your web applications remain accessible and performant.

Signup for NodeShift Cloud Now

With all that in mind, if you are looking for the most convenient solution, then give the NodeShift cloud a try. Not only will we help you save money, but you will get the cloud platform with high reliability too.

Signup Here: https://app.nodeshift.com/

Conclusion

Web applications are versatile, accessible, and scalable software programs that run on remote servers and can be accessed via web browsers. NodeShift Cloud Platform offers a cost-effective and reliable solution for deploying web apps, challenging major cloud providers with affordable pricing, global availability, and automated deployments. With features like customizable Compute VMs, flexible image options, and secure authentication methods, NodeShift enables efficient and scalable web app deployment. By following simple steps, users can easily deploy their web apps on NodeShift’s infrastructure, making it a compelling choice for businesses seeking a robust cloud platform.

For more information Check About NodeShift here:

Website, Docs, LinkedIn, and Twitter

Thank you so much for reading đź’–

0
Subscribe to my newsletter

Read articles from Ayush kumar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ayush kumar
Ayush kumar

I am Ayush Kumar, founder of fork & forge Community, a GitHub Campus Expert, AWS Community Builder, AuthO Ambassador, Community Manager, Open-Source Advocate & DevRel. I write about open source, DevRel, Community Management, CNCF, AI, and DevOps best practices.