DEV Community

Cover image for How to Quickly and Seamlessly Deploy Your Website Online
mpoiiii
mpoiiii

Posted on

How to Quickly and Seamlessly Deploy Your Website Online

Why Deploy a Website?

With the development of front-end technology and the popularity of the JAMstack architecture, the demand for static website hosting continues to grow. During the website development process, more people want to showcase their websites to friends, family, or users. However, when you send your local machine address to others, they cannot access it.

The reason others cannot access it involves knowledge of computer networks. Those interested in understanding this in detail can study related topics first. The solution to making your local website accessible is to deploy the website to a public network (the principle is the same for internal network penetration).

To help everyone better understand the various processes of website development, let's make a simple analogy: building a website is like running a store. The steps you need to take are as follows:

  1. Building the Website: Like decorating a store. You need to design pages, set up navigation, and choose colors and layouts, similar to decorating and arranging the store interior.

  2. Website Content: Like the goods sold in the store. You need to select and organize content, which is similar to choosing products and arranging shelves. The quality and organization of the content directly affect the customer experience and satisfaction.

  3. Website Deployment: Like opening the store doors to welcome customers. At this stage, you need to ensure everything is ready and the website is accessible. Some considerations include:

    • Network Security: Like hiring security. You need to ensure the website's security to prevent hacking and data breaches.
    • Server Performance: Like ensuring the cash register and shelves can handle peak customer traffic. You need to ensure the server can handle a large number of visits to avoid website crashes.

Steps for Manual Website Deployment:

Website deployment involves transferring a website from the development environment to the production environment so that users can access it. This process typically includes the following steps:

  1. Code Preparation: Ensure all code has been tested and is ready for release.
  2. Server Configuration: Configure the server to meet the website's requirements, such as installing necessary software and setting up security measures.
  3. File Transfer: Upload website files to the server, usually through FTP, SFTP, or version control tools like Git.
  4. Database Configuration: If the website uses a database, ensure the database is prepared and import the data.
  5. Domain Configuration: Point the domain name to the server's IP address.
  6. Testing and Verification: Test the website in the production environment to ensure everything is running smoothly.

Here are the overall steps:

manu deploy proccess

Of course, these steps will not be introduced one by one here, as there are already many detailed tutorials online. When following these tutorials, many beginners often get stuck because different developers use different technical frameworks and server versions, making it difficult to proceed smoothly.

Completing each step manually not only greatly increases the workload but also raises the difficulty level significantly. Additionally, these tasks often extend beyond your primary work scope, increasing not only the network deployment workload but also requiring consideration of network security and other issues.

The main goal of this article is to explore third-party hosting platforms from a solution perspective. I believe this is an effective solution in modern technology. After all, there are many mature PaaS and SaaS platforms available now, allowing you to quickly, easily, and comprehensively implement functionalities for real production environments.

Of course, this mainly targets static websites. For websites with very complex operational logic, custom deployment solutions are still needed.

Deployment Solutions Using Third-Party Platforms

Some might ask whether using third-party platforms for deployment will cost more. In reality, there are many free solutions, such as GitHub Pages and Edgeone Pages. Additionally, deploying on self-purchased servers also incurs costs, which might be higher. Here, we will introduce a more comprehensive solution, which not only includes easier-to-apply SSL certificates but also provides faster access speeds and other advantages.

Nowadays, most static websites are deployed through third-party platforms with a single click, eliminating the need for you to manage servers or add code to handle deployment. This method is very friendly for both professionals and non-technical users. It’s like hiring a manager (who also acts as a security guard) for your store, handling all the complicated tasks for you.

Especially in collaborative scenarios, to view the latest collaborative results in real-time, the website needs to be redeployed every time someone pushes code, ensuring the newest collaborative results are displayed. However, a deployment platform can monitor updates to the code branches. When a new push arrives, the platform automatically redeploys, making collaborative previews more convenient and timely.

Taking Tencent's new Edgeone Pages as an example, the platform deployment steps are as follows:

  1. User Registration: Create a platform account.
  2. GitHub Authorization: Authorize GitHub access to fetch repository content.
  3. Build and Deployment Configuration: Configure build commands, build outputs, etc. The platform pulls your GitHub repository and processes it according to the settings (assigns a domain or uses a custom domain).
  4. Custom Domain and SSL Certification (Optional): Developers can generate SSL certificates directly on the platform or apply for a custom domain and bind it to the server.
  5. Additional Feature Integration (Optional): Edge acceleration, analytics and monitoring, DDoS protection, WAF, etc.

The automatic deployment configuration process is as follows:

automatic deployment configuration process follows

There are many third-party solutions. I will use Edgeone Pages as an example to introduce the specific solution details (as Edgeone Pages addresses all the issues mentioned below).

1. Does It Offer a Free Plan?

First, consider whether it offers a free plan with unlimited access to all features. This allows you to better allocate your funds during the early stages of a startup without being limited by server deployment costs.

Most entrepreneurs find it challenging to generate revenue in the early stages, and deploying servers can take up a significant portion of your expenses. A free solution allows you to get through the difficult early stages more quickly.

No one wants to spend tens of dollars upfront without seeing any results.

2. Deployment Complexity

Next, consider the complexity of third-party integration. Ideally, a third-party platform should allow one-click deployment without requiring project modifications or code changes. It should directly connect to your Git repository, allowing you to deploy with a single click and follow step-by-step guides to complete the deployment. This ensures your website can go live as quickly as possible.

3. Does It Automatically Provide SSL Certificates and Custom Domain Addition?

If the deployment platform does not provide SSL certificates (e.g., GitHub Pages), it can lead to your website being easily blocked or intercepted by security policies.

Applying for SSL certificates yourself not only requires preparation of materials but also regular updates, increasing the workload.

SSL checke fail

A website domain is like the signboard of a store. Many deployment platforms do not provide custom domain functionality, or require you to apply for a domain from other providers and then return to the deployment platform. For example, platforms like Vercel.

4. Does It Support Automatic Build and Deployment?

Automatic build and deployment are also very important. Automatic deployment can quickly update your online environment.

When you commit code changes to the repository, the platform automatically builds the code and deploys it to the online environment. This allows you to focus on improving the project without deployment delays.

In addition to reducing delays, automatic deployment minimizes human error, reducing the risk of issues in the online environment.

5. Does It Offer Built-In Website Upgrade Solutions?

The platform should also support various upgrade features to enhance website performance, reduce latency, and improve data access speed. This ensures your application runs smoothly and efficiently, providing the best user experience.

As your website traffic grows, if your deployment platform does not offer upgrade features like edge acceleration, CDN, and static resource optimization, it can lead to poor website experience, longer load times, and user loss. Additionally, it can pose challenges for global expansion.

When your traffic is high, migrating services can be very difficult, such as affecting the online environment, increasing testing and verification, requiring data backup, DNS modifications, etc., which can lead to user loss.

Of course, this is a future concern, but don't let early neglect make your path to success more difficult.

Here, I’d like to give a small advertisement for Edgeone Pages. It supports all the mentioned content, including free plans, SSL, domains, edge acceleration, automated build, and global deployment.

For website deployment processes, you can refer to the Edgeone Pages deployment process. The integration process for third-party platforms is largely similar.

Conclusion

This article mainly introduces website deployment through third-party platforms and does not detail original deployment solutions for the following reasons:

  1. Manual deployment offers too many solutions depending on technical selection, making it difficult to cover everything. Many people get stuck within the first five steps when following tutorials.
  2. Manual deployment also requires servers, which incur costs. Overall, using a hosting platform tends to be less expensive.
  3. Manual deployment is not suitable for beginners. It requires knowledge of server management and computer networks, which many beginners lack, making it more difficult for non-professionals.
  4. Finally, as mentioned in my article, website deployment requires consideration of SSL, network security, domain registration, and writing automatic build scripts. If your website is simply a personal blog, resume, or other content display type, it’s unnecessary to burden yourself with a large workload.

There are many deployment tutorials online, starting from setting up a server. But are these tutorials really suitable for production environments? Most tutorials include CDN deployment, but how many people have actually implemented CDN deployment? In reality, content distribution in modern architectures is based on edge node strategies and on-demand fetching, not the simple full-content push described in tutorials.

So, what I want to say is, using mature PaaS and SaaS platforms today is not a lazy approach; it allows you to focus more on your core tasks. Of course, free services are even more appealing.

Top comments (0)