There are many hosting companies, and your choice may depend on several things:
- your audience (their location, their numbers, etc)
- the requirements of what you are going to install/use on your hosting
- your capabilities
- the level of support you need
The major hosting companies now offer a suitable hosting solution to meet all the requirements of any web application (from the moment a program is installed on a hosting and reachable/usable by web, we can call it a web application. A website can be perceived as a kind of web application, as well as a CMS). So you may just have to be concerned by choosing the suitable offer from the ones provided by the hosting company.
A first requirement is to check if the web application is functioning on either Windows or Linux. For example, if it is working only on Windows (rather rare), you will have to choose a hosting running on Windows and not on Linux, and the other way round.
A second requirement concerns the language on which your web application is running. Many web applications for websites are running on PHP, but more and more are using other languages like Ruby, Python or others. Check which language your web application needs to run, and check if this language is offered by the hosting company. If it’s running on PHP, Python or Ruby you can be 99% sure that all web hostings are compatible.
The version of the language used is also important. For example the software you will use may need a PHP in version 5.5 minimum, so be sure the hosting provider is offering at least this version.
As we will see later, most web applications are working with databases. Databases have their own server. These database servers are often included in your hosting offer so that you don’t have to buy a first server for your files and another one for your database. You have to know the kind of databases which are supported by the hosting you are choosing, and make your choice in accordance to the requirements of the software you are going to use. Many web CMS are based on the couple PHP/MySQL. MySQL is the database management system. But you can also see PostgreSQL, SQLite, etc.
The last requirements are the functions needed by your web application. A hosting that supports PHP may have some modules for PHP enabled or not. You can see that like if you buy a PC under Windows and don’t have Microsoft Office for example. It’s roughly the same thing for your hosting. It can support Php, or another language, but it hasn’t all the modules for PHP enabled or installed. So check carefully what is required by your software and see with your hosting provider if its solution meets these requirements.
Most of the time the hosting offer will not meet all these requirements, as it can be endless! So don’t hesitate to ask the hosting company before purchasing.
Note that if you take a VPS or a dedicated server, you don’t care about all these aspects as most of the times you will choose what to install on your own.
The server capabilities
Processor: For a processor the first thing to look at is the amount of cores it has. The more cores it has, the faster it is working when increasing the number of complicated calculations. However, not every web application or software uses complicated calculations. So, for example, if you are running a website you don’t need multiple cores, one will be way enough. If you hesitate between 2 processors with the same amount of cores, then have a look at the Ghz. To keep it simple, the more Ghz the better.
- Disk space: Hard to say, it depends on what you are going to install and if your web space is going to increase or not. For a simple website, a few hundreds of Mo is enough, while for large web applications with user added content the space needed can increase drastically up to several hundreds of Go or even thousands.
- Disk type: If you have the choice go for SSD disks, they are way faster than classic disks, however they are more expensive and often with not enough capacity amount.
RAM: The higher the better, just like for your computer, but you also have to check the requirements of the software and web applications you will use. You don’t need to take the highest RAM offered by your provider if the web applications you are going to run consumes only a few Mo. Often 1 or 2Go are enough to start with. For a classical website, with not thousands of users, 512Mo is also enough.
Your capabilities and level of support
I hope after having read this blog this will not be a problem anymore! But if you feel more comfortable with an already configured hosting, you may choose a shared hosting. But choosing a VPS with a control panel, like Plesk or cPanel will bring you the same comfort with more flexibility (even with a dedicated server by the way).
If you are working essentially with an audience in your country or continent, you may choose a hosting provider from your country, or which offers servers in your country or continent.
If your service is offered worldwide you may choose a hosting provider which offers CDN (Content Delivery Network). The major benefit of the CDNs is to replicate your web application pages in a data center close to the user who requests the page. So you could have your server in San Francisco, a user in Mayence, Germany will get the page of your website from a CDN node based in Berlin, so way closer than your server in California! However CDN has a cost, and you may start without it until you have reached a large audience.
So at first, if your audience is international you may find a server located in the country from which the biggest part of your audience is coming.
Since it is quite difficult to evaluate correctly the server capacities that you need at the beginning or that you will need in the future, the best solution is to find a hosting service that will adapt its capacities and performances to your needs. These services can be found from Amazon AWS, Google Cloud Platform, or Windows Azure, or many others! However these services can be quite expensive and they are not adapted if you don’t have some basic knowledge in system administration. We will see how to use one of these services in a future article!
In the meantime you can go for a VPS that you will upgrade if needed.
List of good hosting providers and companies
Here is a short list of good hosting companies which provide shared hosting, Virtual Private Servers (VPS), or dedicated servers: