Hosting network services and websites or blogs like this one is now a days a regular task of anyone who want to conduct a successful business. This is non written a requirement for many other activities as well. If you are not an ICT professional and you have a website or need to deploy some services in your business and you wander where to store them and how. Then this article is for you.
More people than you might think want to get a server at their home or office and host their own websites and services locally. I am not 100% against this type of solutions, but the truth is the all the odds now a days are against it unless you have a particularly special need to have it locally. Let see what are the drawbacks.
Hosting websites and services on premises:
You need all the equipment, materials and insurance done by yourself. Buy server(s), backup(s), keep it/them cool. This would grow depending on how much you grow. If you are small then you can start with any Box you might already have, but it will never be very reliable. to give a practical example; at my beginnings (more than 10 years ago) I started with a 128kbps dedicated link (not a shared connection) and at some point I had 2mbps dedicated connection on those conditions. I started with a Pentium 4 with 256 of RAM Debian Sarge if as OS I remember properly. that was manageable. up to some point, mostly because there was not much of a choice.
5 years down the line I had two low gama servers with 2 intel centrino procesors each, SCSI hard drive, 6KW of backups, a small generator, two air-cons, and much more. the expenses were killing me. Then hosting online was invented and threw everything away and got the same thing done for less than half the same price.
That is regarding the hardware, but what about the software. Do all the works on you own and maintain it or pay someone to do it. e.g. Install OS, the web and database server and PHP to run the websites. If you use proprietary software pay for the license, configure other services like e-mail or a smart host configuration, ftp, DNS, transfer of the domains or setting it up to point to the server from the registrar, etc. This requires a lot of knowledge and time.
Changing the issue security, well you should be in control of everything. At least is what you think, but what about the ISP you get the service from? if you really want to control that then you need a firewall. What about the IT guy you are paying to? Maybe you can do it you-self? I am not going to extend to much in this subject, just to say that it might be as insecure or as secure as your weakest security link is.
Let me not continue talking about this whole subject, but let me just repeat again that is not that I am 100% against it, but you should think about it carefully before doing anything locally. When you need services that need to be only accessed from withing the Local Network (LAN). When you are not allowed by policy of course. This are only examples, there could be many more, but I would always think about other possible options before doing it.
What is a shared hosting? basically someone creates a Virtual machine (VM) and gives you some memory and processing capacity to use. for you to understand this better let me talk about a particular case. The most common type of hosting is “web shared hosting”. This type of sharing is the most common due to the explosion of the www during the last 15-20 years. In any case is not the only one, but is the most popular and most of the providers give services to host PHP based websites and particularly WordPress based websites.
In this setup basically you pay for a fraction of a server and you share the same server with many other people. This is convenient for most small business and individuals who don’t generate much traffic and for start ups. When you purchase the service in general you get a control panel like Cpanel or plesk, that allows you to administer a set of basic features. In general you should get access to a few services it could be a combination of some of the following and more: e-mail, domains, easy-install scripts, ftp databases, etc.
The cost of this could be from about 3 to 20 USD or more for special hosting depending on the package and the provider. There are a lot of great providers and you do not need to be a great IT guy to be able to manage it, but you need some basic knowledge about domains, databases, ftp, etc depending on the hosting.
Regarding this service a few years ago also appeared in the market cloud shared hosting providers with the same principle, but in a cloud of, one example of this is Google Apps Engine and other similar services. The best thing about both types of service is the fact that you do not have a lot of pure technical maintenance to perform with the OS. This also sets some limits, but they are convenient for many users. Who do not want to have to maintain or pay to maintain servers OS and other basic software.
Security wise everything depends on who provides the service and the administration protocols provided and proffered by you. On this regard if you need to chose between for instance http or https the best thing is to do a small research before deciding what service to use. to conclude with this idea, in my opinion this is the best suited services for most people and organization, generally only big organizations need more than this. Another security implication is the way the user share space, some providers do not do a very good job and the actions of a user can affect the performance of others, but that does not normally happens with good service providers.
The other major way to get hosting is to get your own server online.
Virtual Private Server
A virtual private server is a Virtual Machine rented to a provider. In general you do not directly share it with anyone, but you can share the server that hosts the VM with other users. this means that your OS is independent and in general maintained by your self like int he first example. What are the advantages of getting this service as compared to hosting on premises?
There is not independent connection like on your premises, but a connection to the data-center of the provider. This provider could very reliable or not you can get this service from giants like Google and Amazon to smaller providers with all sizes and reliability levels. The data-centers of this companies if they have some name (in general) tend to be much more reliable than a local server that you might have and connectivity provided by your local ISP.
Security wise is different from the rest as well but depends mostly on your own work or the IT person you hire and the VPS provider. The other thing to keep present is that the service will be hosted on premises of someone else the cost of this depends of the storage and processing capacity most services start in a few dollars (as low as 4 or 5 or so) to a few thousand per month. There are some providers who provide extra secure VM using LVM so that the content of your VM is encrypted and not accessible to them(the provider) easily if in case they happen to have a security breach.
If you need a hosting for network services and/or websites, then you have several options but you need to evaluate carefully what is the best option you have and what is the real needs you have. Keeping the budget and security present is also very important.
Hope it helps and feel free to comment below for any question. There are a lot other issues to look at for specialized hosting but this post is more focus on general hosting purposes and advising newbies. If you have particular needs you might need a consultant.