Here is some insider information about halberesford.com.
It uses a Virtual Private Server (VPS) rented from a web hosting company. It runs on open source software including Ubuntu, Nginx, MySQL, and Ghost. Not including labor, upkeep costs $10-18/month. That amount covers server space, domain registration, and backups.
Renting and configuring a VPS is just one of many ways to coax a computer to serve a webpage to a requesting client computer.
Imagine you wanted to create a simple "Hello, World!" webpage, today. Here are seven ways you could do it.
Seven ways to a website
1. Software as a Service (SaaS)
This is the opposite of DIY. SaaS means that you interact with the software that someone else installed on one or more web servers. You have no control over any web server and as such are not actually "setting up your web server," although you can still enjoy the services provided. To use a SaaS option, you go to the provider's website, sign up, and follow their instructions. Depending on the service, you should be able to serve your first web page in as little as 10 minutes.
- Useful if - You want to build a website fast, with minimal effort on your part.
- Example providers - Squarespace Google Sites Wordpress.com
- Pros - Unbeatable ease of use for the end user when done right. Often reasonably affordable. Often acceptable security risks.
- Cons - User has no control over the web server beyond interacting with the software services that the provider has made available. User must agree to the terms of service. Support levels may vary.
2. Shared hosting
Shared hosting is when you get access to a finite amount of computing resources shared among a pool of customers. The speed of your service slows when demand is high, and vice versa. To get started, buy a shared hosting plan from a web hosting provider, and follow the necessary tutorials. The should not take long because the server will already be configured. Depending on your familiarity with the process, you should be able to serve your first web page in as few as 30-60 minutes.
- Useful if - You want to build a website fast with file-level control, and you do not mind relatively slow loading times.
- Example providers - HostGator Namecheap
- Pros - Great starting point for webmaster beginners because there is no server configuration and no command line skill required. Very affordable. No hidden costs. Low security risks.
- Cons - Limited control over the web server. Other people's web traffic will reduce your website's performance.
3. Virtual Private Server (VPS) hosting
A VPS plan entitles you to exclusive use of a finite amount of computing resources from a web hosting provider. For this option, buy a VPS plan from a web hosting provider, and follow their quick start guide to install, configure, and secure your operating system from the command line. Then, follow any instructions to install and configure your web server setup. You should be able to serve your first web page within 1-8 hours.
- Useful if - You want to build a website with file-level control, and you also want to choose and configure the operating system and underlying applications.
- Example providers - Digital Ocean Linode
- Pros - High level of control and flexibility. Affordable. No hidden costs.
- Cons - Greater learning curve than shared hosting. System security depends on you.
A home server is a computer you own that is remotely accessible. This is the DIY option. To set one up, choose a desktop computer for this purpose and move it somewhere that is fire-safe, clean, and has moderate temperatures. It should have access to electricity and the Internet. Install and configure all necessary software, which will likely include a Linux operating system and web server software, as described in various tutorials around the Internet. Configure appropriate firewall rules to ensure that your web server at your home IP address is appropriately accessible over the Internet. Given the variables involved, there is no telling how long or short this entire process may take. Then again, a home server may be the right solution for you if you have a free computer laying around and you want to do everything from soup to nuts.
- Useful if - You value maximum independence and want to learn everything about running a web server, on your own terms.
- Example providers - Yourself
- Pros - Maximum control. Maximum learning potential. No monthly fees.
- Cons - Very high learning curve because you control the software, the networking, and the hardware, and command line programming will be required. Hardware failure becomes an unexpected cost to you when it occurs. Your ISP's terms of service may not allow you to run a web server from your home. System security depends on you, and so does your entire home network. Potentially serious security risks.
5. Dedicated hosting
With dedicated hosting, you rent an entire web server from a web hosting provider, and it is all yours. It costs much more than shared hosting or a VPS, but your fees will be capped, and you will get more power. The steps for configuring dedicated hosting are essentially the same as for a VPS.
- Useful if - You like the sound of a VPS, but you want even more computing power and even more control over your server environment.
- Example providers - Digital Ocean Linode
- Pros - High level of control. Higher performance. No hidden costs.
- Cons - Higher learning curve than shared hosting. Expensive. System security depends on you. Overkill for a simple website.
6. Infrastructure as a Service (IaaS) a.k.a. Cloud
You launch a virtual server on someone's cloud, and it is kind of like a computing resources all-you-can-eat buffet where you get charged by the pound. Here is how Microsoft explains IaaS. To get started, sign up with a cloud services provider and follow their instructions.
- Useful if - You want to build a web application where you have maximum control and can scale up to a huge amount of computing power.
- Example providers - Amazon Web Services Google Compute Engine Microsoft Azure
- Pros - High level of control. Excellent scalability and performance. Maximum learning potential if you want to be a cloud engineer. Usually affordable.
- Cons - High learning curve. System security depends on you. Costs vary from month to month and can spike. Overkill for a simple website.
7. Platform as a Service (PaaS)
This is like IaaS (cloud) except the work setting up the environment is done for you already. Here is how Microsoft explains PaaS.
- Useful if - You want to build a web application where someone else sets up your operating system and tools for you, you want the freedom to scale up to a huge amount of computing power, and you want to have an easier time of maintaining it and/or installing new production instances later compared to using IaaS.
- Example providers - Cloud Foundry Engine Yard OpenShift Salesforce
- Pros - Medium level of control. Excellent scalability and performance. Usually affordable.
- Cons - High learning curve. Costs can spike without warning. Costs vary from month to month and can spike. Overkill for a simple website.
Most of the time, we are more than happy to use to someone else's software, running on their hardware, and have no access or control over the underlying computing environment, as a consumer. It is extremely efficient.
But Software as a Service (SaaS) is not the only way to live on the Web, as much as marketing departments may lead us to believe it. For example, if we were creating a simple "Hello, World!" website and depending on our goals for the project, the best option could easily be shared hosting or VPS hosting.
Overall, there is no "best" out of all of these. There are only tools and situations. Each one of the seven approaches above is fit to a different purpose and use. In a given situation, any one might be preferable to all the others.
It is good to have options.