What is Web Hosting and How Does it Works?
Hiring a dedicated or shared server is a very important step when creating a website. If we Google for web hosting (or web hosting) we will get millions of results, and knowing how to find the right hosting is not an easy task for neophytes.
In this tutorial, a series of ideas will be given in order to make the best choice when hiring a web hosting service.
What is web hosting?
A web hosting provider is a company that rents out web space and bandwidth for website publishing.
Normally it is an account on a Linux or UNIX system that is permanently on where we host the files of our website through the FTP (or SSH) tool, and our website is served by a web server (such as Apache).
How does hosting work?
Hosting is made up of both the servers that store the files that make up a web page and all the services that allow a device to enter the page, view it, and interact with it.
Each website hosted by a hosting service is associated with an IP address, which is not the same as the domain name since it is a set of numbers.
When a person clicks on a link or enters the site address in their browser, it connects to a DNS (Domain Name Server), which translates the address into the IP corresponding to the server.
Upon receiving the access request, the server sends the corresponding data packets to the site which are viewed as web pages from the computer or mobile device of the person who asked to enter.
Types of web hosting
The requirements of a personal website are not the same as those of a large company. In the latter case, the volume of information and the number of accesses to the server will be much greater, and, therefore, the server that handles said information must have more resources.
On a website with thousands of visits a day, the unavailability of the service for a few hours entails various losses that should not be admissible, so the hosting to contract must offer more quality than, suppose, in the case of a personal website of a student who hangs his notes.
For this reason, there are different types of web hosting :
Free shared hosting: It usually has little functionality and stability.
Shared hosting: The most frequent. In this case, your website works on a server that hosts many other websites.
Dedicated server: The provider is in charge of server administration.
1.- Free shared hosting
For those starting out in web design, there is little point in paying monthly for web hosting that they are not going to take advantage of. Choosing free hosting can be a good solution for those who are starting in web design.
However, for fairly serious projects, in the long run, they are expensive: inaccessibility, waiting time, loss of information, service closure, functionality limitations, etc.
Although we can find free servers that work well, the service usually degenerates over time and, if we intend to carry out a fairly serious project, my advice is to discard this type of accommodation. To learn more about this topic, I invite you to read this article: Paid hosting or free hosting.
2.- Shared hosting
The most common solution on the market. For a fairly reasonable price, we can have several thousand Gb of transfer per month, 300Gb of space, host unlimited domains, 2500 email addresses, MySQL, PHP or ASP, etc.
Server security is usually lower as there are more clients on it. We must pay attention to the number of users/websites that our server hosts, it is a fairly common practice to fill user servers to the point that it interferes with the service provided.
Unless it is a website with excessive traffic and consuming too much CPU, shared web hosting is the best value for money solution (as long as it is a good provider).
3.- Virtual Private Server.
A Virtual Private Server, or VPS, is a server created through software, inside a real dedicated server. In other words, the VPS does not have associated hardware, but it works as if it did. Why do something that sounds so complicated? To achieve the most similar to a dedicated server at a fraction of the price.
One of the main advantages of VPS is that they are easily scalable. If you need more hard disk space, more RAM, or even more processing capacity, you can simply order it from your provider and they will be dynamically assigned to your VPS without the need to make any physical changes.
4.- Dedicated server
In case our account on the shared server is becoming too small for our project, this may be the solution, although it is necessary to have knowledge of systems administration, depending on the level of support that we contract.
If we hire our dedicated server we will have a much higher level of support, and an expert systems administrator to support us to operate and customize our server by installing and configuring the services we need.
5. - Cloud Hosting
The latest in hosting services are cloud services, better known as Cloud Hosting, which allows you to create everything from basic hosting services to complex dedicated servers. In cloud hosting, similar to what happens in VPS, the servers are virtual. The difference is that there are several servers that make up the entire computer center, working together. In this way, you can create many types of servers with different configurations, based on the set of all computers.
Thus, virtual servers can be created in seconds, each using parts of the total number of linked servers in the cloud. This is a very efficient way of creating services today, although it still has certain speed limitations, especially in databases.
Differences between the different types of Hosting Services
There are a wide variety of aspects in which the different types of Hosting Services or Web Hosting exist. Among them, the most important aspects to take into account when deciding the type of Hosting Service to hire are:
Disk space: It is the space available for our web page on the Web Server that will host it.
Monthly transfer: is the amount of information that the total of users who visit our website will be able to download monthly. For example, if our website is made up of a single file whose size is 100KB and the monthly transfer provided by our web hosting service is 500KB, our website could only be visited 5 times each month.
Email accounts: is the number of email accounts that we can create belonging to the domain name of our website.
Programming languages: they are the dynamic programming languages that we can use to create our web page, such as PHP, Ruby, Python, etc.
Database Types: these are the types of databases that we can use to create our website, such as MySQL, MariaDB, PostgreSQL, etc.
Number of Databases: number of different Databases that we can use to create our website.
Support: It is the support service offered by the company that provides the hosting service when we have a problem with the web page we have hosted using its services. This service is usually offered via e-mail or by phone.
If your website is a personal blog, this aspect is probably not too important when evaluating the different web hosting services on the market, but if your website is an online store whose correct operation depends on your income, you should make sure that the support service works 24 hours a day, 7 days a week and 365 days a year.
Similarly, in that case, you should make sure that when a problem arises, this support service will help you effectively and allow you to resolve the problem as soon as possible.
Aspects to consider
Choosing web hosting may seem like a simple task but it is not. It is very important, before starting any project, to search the internet for opinions and experiences with the accommodation providers whose plans may interest us.
Some ideas when hiring a hosting to avoid possible surprises:
- Search Google for "company_name sucks" and read opinions of disgruntled users.
- Ping the provider's servers and measure the response time. The smaller this is, the better response time our website will have from the location where we are.
- Search Google for "company_name reviews" and read the opinions, both favorable and negative.
- Although a plan may seem very interesting and without limitations, you should take a look at the CPU consumption limit, which can be a limit that goes unnoticed in many cases.
- Try to contact customer service and see how long they take and respond and how they do it.
Features that are usually convenient:
.htaccess: it will allow us to format URLs and, for example, prevent them from using our bandwidth by linking to our images or files (hotlinking).
Several domains: it will be interesting to be able to host different domains under the same account, in this way we can carry out several projects without hiring a new hosting service.
SSH access: this service offers us a shell account to enter the UNIX or Linux server and be able to execute commands. It will save us a lot of time to unzip files, create the directory structure, or make small changes to our website. In addition, it is interesting that the data (as user and password) are encrypted over the network.
Allow changing providers easily. A good hosting service should allow us to change the hosting provider without being too complicated.
PHP / MySQL: the most widespread solution to create dynamic websites.
Web Statistics: My favorites are AWStats. Other very goods (although less complete) are Webalizer. Knowing our audience is a very important aspect of planning a website: it will allow us to know, among many other data, where our potential customers come from, what they do on our website, the most visited pages, and many other interesting data.
custom php.ini: it will be essential if we want, for example, to modify the maximum file size that is sent through a form.
Regular backups: important to avoid losing our data in the event of a problem on the server. Although we must also keep a copy of our website.