Please note that everything in this article is based on my research and opinion.

What is Shared Hosting?

Shared Hosting is a website hosting service where your website is hosted on a server which is sharing the CPU, RAM and Bandwidth resources with many other websites.

On a shared hosting environment, not only your website is sharing resources with other website owners, but also that shared hosting server more likely running other services such as DNS services, email services, database services, etc.., so your website is sharing server resources with many other small businesses who are running their business domain email accounts, databases, and domains DNS services on the same server.

There are hosting companies who are offering shared web hosting services as low as $1 per month, but the average shared web hosting cost is about $10 per month to $15 per month for business class hosting. More likely the hosting company who offers shared hosting as low as $1 per month may host hundreds of thousands of websites and email accounts on one medium performing server.

You may ask, what is the issue with sharing server resources with thousands of other accounts / users; well, the main issue is that if a user hogs most of the server's resources, your website's performance will suffer or may come to a halt. Or if a website on the same server gets hacked or compromised, this may create security issues, that website is going to hog server's resources by possibly sending hundreds of thousands of email spam, and you will be sharing the same IP address as the compromised website.
Also, remember that Google starts to rank websites based on their performance, so if your website is running sluggish, Google ranks it lower and your website visitors will have poor experience browsing your website.

The other big issue with shared hosting services besides having to share resources is customer service and what happens in the event that your website is down or the shared hosting server is down. If you're paying a very low monthly hosting fee, sharing resources with hundreds of thousands of users, when your website is down, do not expect a quick turn around time to get your website backup or being able to get a hold of the cheap hosting customer service.

Does these major issues with shared hosting mean that you should never sign up with shared hosting? I would say if you have a basic website that does not need much server resources to run, then a shared hosting service should be sufficient for your website hosting; however, if I were you, I would not go for the cheapest hosting service, maybe look for a shared hosting provider that has the reputation for server reliability, performance and support and provides business class shared hosting, hopefully under that type of business class hosting, the hosting company is putting an effort to keep the number of users on each shared hosting server to a reasonable limit and hopefully that hosting company has a plan in place to restore your website within a reasonable timeframe if your website goes down.

So, here are the pros and cons of shared hosting services:

Shared Hosting Pros:

  • Low Monthly Cost

Shared Hosting Cons:

  • Lower Website Performance
  • Security Issues
  • If the website is down or there is an issue, it will take a long waiting time to get to a customer service or restore your website

What is VPS Hosting

VPS hosting is one level above shared hosting when it comes to monthly cost and allocation of server resources. The average VPS hosting cost is about $40-$50 p/month.

With VPS hosting, the VPS hosting company provides and allocates a certain amount of RAM, CPU and disk space to your account. If you ever sign up with VPS, you will notice that as you add more RAM, the cost of VPS hosting goes up substantially. It is important to know that a website, especially an application may use more RAM than CPU and sometimes cost of having more RAM may be higher than cost of having additional CPUs.

There are different types of VPS hosting:

  • Dedicated VPS Hosting
    With dedicated VPS hosting, you will have full access to the portion of your VPS allocation.
  • Shared VPS Hosting
    Shared VPS hosting is similar to shared hosting, but the number of users that suppose to share resources with your website or application should be substantially lower.
  • Managed VPS Hosting
    With Managed VPS Hosting, the VPS hosting company sets up your web server, database server and provides supports and maintenance which is usually through a server control panel such as cPanel.
    Managed VPS Hosting has a higher monthly cost, but if you're not a technical person and need help with installing and maintaining the server software and your application, managed VPS should be a better option for you.
  • Unmanaged VPS Hosting
    With Unmanaged VPS Hosting, the VPS hosting company sets up your VPS, and you take over the job of installing and maintaining your VPS server, so unless you're a technical guru and know how to install and manage servers, this option would not be a good option for you.

So, if you have a website or an application that needs to have more dedicated RAM and CPU, and you're looking for the more cost effective option, then a VPS hosting maybe your best bet.

So, here are the pros and cons of VPS hosting services:

VPS Hosting Pros:

  • More Cost Effective Monthly Cost
  • Options to having allocation of dedicated RAM, CPU and disk space

VPS Hosting Cons:

  • Although the performance is better than shared hosting, for a high traffic site, VPS may not be a good option
  • Unless you sign up with a hosting company that provides good support and managed VPS or you have a technical team with specialty and experience in servers, it will be a headache for you to host your website on an unmanaged VPS environment if you do not have any technical background.

What is Dedicated Hosting

Dedicated hosting is one level above VPS hosting when it comes to monthly cost and having access to server resources.
With dedicated hosting, you will have access to the entire server and all its resources.

It is important to know that there are two main types of dedicated hosting:

  • Unmanaged Dedicated Server Hosting - that cost usually starts at around $100 p/month.
  • Managed Dedicated Server Hosting - that cost usually starts at around $200 p/month.

It is also important to know that there are many levels of services for Managed Dedicated Server Hosting, for example:

  • *Basic Managed Dedicated Hosting: Includes setting Up the server and server software.
  • *Standard Managed Dedicated Hosting: Includes what comes with the basic plan plus a control panel plus setting up a backup and provide restoration in case of disk failure.
  • *Security-base Managed Dedicated Hosting: Includes: what comes with the standard plan plus Server Security Services

* Hosting companies offer their own naming schemes or categories or options for different levels of managed hosting services. The above list of different managed hosting options is just an example.

What is the main difference between managed vs unmanaged dedicated server hosting?

Managed Dedicated Hosting usually includes setting up the server OS and the other server software such as the web server, database server, etc... Then on top of setting up the server, the hosting company may provide backup and restoration service, server security services and other service options based on higher monthly cost.
Managed Dedicated Hosting has a higher monthly cost, but if you're not a technical person and if you need help with installing and maintaining the server software and your application, then managed dedicated server hosting service should be a better option for you.

Unmanaged Dedicated Hosting usually includes setting up the server OS and you take the responsibility of installing and maintaining the server software and your web application.
The cost for Unmanaged Dedicated Hosting is usually much lower because you will be responsible for installing the server software, installing your web application, and setting up the backups.
If the server goes down, the hosting company restores the server just to server OS and it's your job to start over installing server software and restore your web application.
So, unless you're a highly technical person, or you have a technical team with specialty and experience dealing with servers, then you want to stay away from unmanaged hosting services.

So, here are the pros and cons of dedicated hosting services:

Dedicated Server Hosting Pros:

  • You have access to the entire server resources so depending on the server power (RAM and CPU), your website should have the optimal performance.
  • There is a Managed Dedicated Server Hosting option that is available and depending on the managed plan that you sign up, you should receive a good service and support for maintaining your web application.

Dedicated Server Hosting Cons:

  • Higher monthly cost
  • If you sign up for Unmanaged Dedicated Server Hosting, the monthly cost will be lower, but you will not receive the support to maintain your web application on the server so you will need to be highly technical or have a technical team on your side who has experience in server software.

What is Cloud Hosting

Cloud Hosting is a hosting environment where the Cloud service provider can allocate a certain number of CPUs, a certain amount of RAM, disk space and bandwidth to an account.
Cloud hosting service is similar to VPS hosting as it relates to having the option of the allocation of certain amount of RAM, disk space and CPUs, but they are based on different technologies.
The main difference between Cloud and VPS is that Cloud provides an option to have an exorbitant amount of resource allocation, especially bandwidth allocation because Cloud technology usually uses the resources of multiple servers.
Also, Cloud service provides the option to purchase Cloud servers and bandwidth per hour.

One of the main advantage of the Cloud over dedicated server is how quickly you can deploy (setup) a Cloud instance and how quickly you can clone your existing instance and copy it to a new bigger instance.
For example, if you setup a Cloud based on 4GB RAM, 2 CPUs and 100 GB disk space, and you setup your web application on that Cloud setup and you start running out of RAM, you can quickly create a new Cloud instance for double the existing server resources and copy your existing image into a newly setup instance. This process can be done fairly quickly, sometimes less than 30 minutes.

There are some misconceptions or biased opinions out there about Cloud services being much more reliable than dedicated server hosting; this is because some articles are written by Cloud service providers promoting their Cloud over dedicated server hosting and some articles are written by someone copying another person's article and opinion. Although usually Cloud services are running on multiple redundant servers which should make the technology more reliable, Cloud technology is more complex in nature and especially when the Cloud service provider focuses too much on increasing the number of subscriptions and falls behind on maintaining and keeping the infrastructure up-to-date, there are more risk of major cloud services outages. Recently there have been a few major Cloud outages due to glitches in part of the technology or misconfiguration or due to the Cloud provider not keeping their infrastructure properly monitored and maintained.

Another disadvantage of Cloud over dedicated servers is the monthly cost when a lot of server resources are needed. For example, if your application uses a lot of RAM, CPUs and Storage, the Cloud services could cost you much more than the dedicated server hosting
For example, if you need 128 GB RAM, *20-30 Core CPU and 1 TB SSD Storage, in most situations, based on today's pricing:

  • An unmanaged dedicated server hosting which handles both web services and database servers would cost you at around $250 p/month
  • A managed dedicated server hosting which handles both web services and database servers would cost you at around $400-$500 p/month
  • An Amazon EC2 for web services with 20 CPUs, 64 GB RAM, 1 TB Plus would cost at around: $600 p/month Plus:
    ** Amazon RDS for MariaDB Database Server: 8 Core CPU & 32 GB RAM: about $1,000 per month
    Total cost of Amazon Cloud services would be at around $1,600 per month - important: this cost does not include Amazon support.
    Support would cost anywhere from $100+ p/month to $10,000+ per month depending on your usage requirement and how fast of the response time you would need.
*The reason I included a range of CPUs because there are dedicated server hosting companies that are running promotion offering 30 CPUs for the same cost of 20 CPUs.
** You could just use Amazon EC2 for web services and MariaDB database services; however, Amazon is promoting RDS by saying: "Amazon RDS is easier to set up, manage, and maintain than running Oracle Database on Amazon EC2".
If you were to use Amazon EC2 for web services and database server, your monthly cost will be about $670 p/month.

One other disadvantage of Cloud hosting services that I have noticed is that some of the large Cloud service providers have exorbitant number of users, for example, Amazon AWS has over one million users, so not only you will be one in a million user, supporting so many users using senior level staff may not be feasible, so realistically, it will not be possible for those Cloud hosting companies to have that many senior level support staff to support that many clients, so if you run into any issues with you application, unless you sign up with an enterprise support, which the starting cost is at around $10,000+ plus per month, you may not be able to receive a quality support when you have a critical server or application issue.

So, here are the pros and cons of Cloud hosting services:

Cloud Hosting Pros:

  • You can quickly deploy (setup) a Cloud instance and if you run out of disk space, CPU, or RAM resources, it is very easy to clone your existing cloud instance (create an image) and copy it to the new upgraded instance.
  • Cloud servers tend to be more reliable; however, there have been many outages related to Cloud infrastructure and setup, so although your instance may be running on a more reliable server setup, you could experience outages due to infrastructure and system issues.

Cloud Hosting Cons:

  • Higher monthly cost
  • Usually, the support for Cloud services requires add-on cost which can be very expensive, and unless you pay for enterprise Support Plan, you may receive substandard support.
  • Cloud services tend to be more complex when it comes to setting up and maintaining the cloud and application, and because most large cloud service providers do not offer support and server software management without you paying for an expensive Support Plan, you will need to make sure to have an experienced cloud IT person on staff to help you with the setup and maintenance of the cloud and your application. Which in either case, the monthly cost for the support of serving your application can become very costly.

Final Thoughts

  • I believe having a reliable and quality support is very important for any application hosting project, so if you are looking for a hosting provider, pick a hosting company that provides reliable and quality support.
    Based on my experience, some of the companies who are specialized in managed dedicated hosting tend to provide quality reliable support as part of their managed dedicated hosting services.
  • Stay proactive in making sure your server's OS, web server, database server, and your web application stays up-to-date, especially when it comes to security.
  • Sign up for a monitoring service to monitor your server and application's uptime.
    Monitoring service software should run on your server and monitor your server and your application for any issues such as the status of your server's CPU, RAM, disk space and bandwidth usage and notify you when your server's resource usage reaches a certain limit.
  • Have a backup and disaster recovery plan in case your server goes down due to server hardware issue, or if your server becomes compromised or if there is a natural disaster, fire or any other major situation.
    So, try to continuously backup your application and database and store it in an off-site or off-site out of state location just incase there is a major natural disaster in your state.
  • Know that Search Engines rank sites based on many factors such as how often you update your website, and your website's performance, so if you host your website on a sluggish server, your website ranking will suffer.
  • Stay away from cheap web hosting companies that their main focus is to get thousands and thousands of accounts on one server which causes your site to run sluggish or have outages due to a few users hogging all of the shared hosting server's resources.
    If your monthly budget can only pays for a shared hosting service, then pick a hosting company that has a better reputation for server reliability, performance and support.