How to start a Hosting Company – Part 3
Welcome to part 3 of our series on how to start a hosting company. In part 2 we went over the fundamentals of what you need to start registering domain names. In this article, we will explore the web site hosting services your company will provide and what you will need to provide this service to your clients.
What is website hosting?
In it’s simplest form it provides a client with space on a server to host a website and the server “serves” the website to users visiting the website via the domain name or URL that they enter into their web browser. So in part website hosting can be broken down into four services that you provide the client.
1. The physical space the website would consume on the servers hard drive.
2. The bandwidth that the website will use as users visits the site.
3. Server memory the website will consume as it is served.
4. CPU power the site will need to speedily serve the website.
Websites are served over the Internet via a protocol called HTTP (HyperText Transport Protocol) or HTTPS for the secure version. HTTP is an industry-standard that all web browsers understand to be able to render web pages in HTML (HyperText Markup Language) format. As with this page, you are visiting now your browser established an HTTPS connection with the server and then sent this website to your browser over HTTPS. Your browser evaluated the HTML code that the page was written in and displayed the website to you on your monitor.
This website is stored on the server and the images and files that make up our website consume space on the servers hard drives. Most websites these days are managed by some sort of content management system (CMS) which requires a database. The database like the website takes up part of the allocated hard drive space on the server.
As with any application websites on a server will require memory and CPU power to run. The amount of memory required depends on the technology the website is built on. A static website that is written in pure HTML requires very little resources, but most websites these days run on some sort of content management system like WordPress. The website is stored in a database and the HTML pages of the site are dynamically compiled by a scripting language like PHP using the data in the database. The database and scripting language require memory and CPU power, the more memory and CPU power the faster it can render the website and the more visitors the server will be able to handle concurrently.
What is required to host websites?
As with DNS services, explained in part 2 of our series web server software is required to start hosting websites. A web server runs software that can manage and serve multiple websites from one server. The majority of these servers run free Linux based web servers like Apache or Ngnix, and there are paid for solutions like Internet Information Server (IIS).
It depends on your client’s website requirements as to what web server should be used to host their website. But for most website an Apache or Ngnix like server is more than adequate to do the job.
Database requirements almost fall in the same category, where lots of websites are happy to run on a free database system like MySQL or MariaDB. Once again you get the paid-for solutions like MSSQL and these usually go hand in hand with a client that would want to host their website on an IIS server.
Luckily you will satisfy the hosting need for the majority of your clients with free hosting software. In that way, you keep you overhead and costs to the client low as you move towards more specialized solutions like IIS and MSSQL.
HTTPS has become the standard protocol for serving websites and they require a website to have what is called a certificate installed on the server. Unlike HTTP, HTTPS encrypts the data that travels over the internet between the server and the user visiting the website. Like TLD registrars, HTTPS certificates are published by a provider. There are different types of certificates that provide different levels of encryption, which we are not going to explore in this article. The important thing is that most websites will require HTTPS and that you can obtain these certificates for free or by buying them from a provider.
1. Shared Hosting.
In a shared hosting environment, websites are shared on a server with other websites. All the resources on the server get shared between all the websites. This is probably the most affordable option to clients but keep in mind that there might be delays now and then as the demand on the server increases.
2. VPS Hosting
If your client expects their site to have more traffic then VPS hosting is something they should consider. VPS hosting is the bigger brother of shared hosting with the difference that fewer resources are shared. Keeping in mind that your client would need some technical assistance to set up a VPS.
3. Dedicated Hosting
Dedicated is best for e-commerce websites that expect a lot of traffic. It’s the most expensive hosting option available but the website will have a server with all resources dedicated to it.
4. WordPress Hosting
WordPress is a content management system that runs most websites. Clients can easily update the website content without a major learning curve. With WordPress Hosting the software is installed on a server that caters best for WordPress websites. The resources on the server can be shared or dedicated and can be scaled to what the website requires.
5. Cloud Hosting
If the ability to downscale or upscale a site resources is required, then Cloud Hosting cloud be an option. Cloud hosting is multiple servers that work together and the resources of all the servers accumulate and available in a pool. When the client scales their environment these resources are easily allocated from the pool.
Now that you have a better understanding of what is needed to start hosting websites, you might think that getting someone to install all this software and do all the configurations to get a hosting server ready as a timely and expensive exercise.
Luckily you can avoid this by opening a reseller account with a hosting provider that has already done all the grunt work for you. All that you need to do is decide what resources you would need to start hosting your first client’s website.
The cheapest option would be to start hosting websites within a shared hosting environment where your client’s websites sit on a server with the provider’s clients. Although it is the cheapest option you have to keep in mind that your service quality will suffer as share environments are not ideal and your clients might require more dedicated resources. You will eventually outgrow the needs of a shared environment and start moving to more dedicated resources for your clients. Moving your existing client base will then be a pain and your service quality could suffer as you migrate your clients to a new server.
Quickspace can provide a Virtual Server that is pre-configured with all the needed software and an easy user-friendly interface to manage your clients and the resources they consume on the server. As your client base grows you can easily scale the server and add more resources to accommodate your client’s needs without sacrificing service quality.
Join us again in our next post as we cover the requirements for email hosting.