Hello Internet! I finally have a website. I’ve been thinking about having a website for several years now but never actually got around to making one. It was mostly due to lack of focussed time rather than lack of ideas. I probably won’t have and don’t plan on having regular popular content. So my idea was to have a personal website showcasing my work, a bit about myself, contact, various social links and an occasional blog post. I spent quite a bit of time researching on potential set-up for the website from various hosting services to themes and templates. I thought I would go through some of the web hosting options out there especially for a personal website.
If you do not want to bother with web hosting and management, the best choice is to go for a system that is ready and managed. These come as restricted free services or full-fledged paid services. Drag and drop builders are provided. No coding or server management is required. One of the most popular and beautiful looking options is Squarespace. Others include Wix, Virb, Weebly, Strikingly and lots more. Another good example is wordpress.com for example, which is heavily restricted in terms of domain name, theme modification etc. Some other options in similar category with limited customisation include Blogger and Google sites. Google sites is probably from the 1990s and still feels and looks the same. I won’t include things like Facebook or Tumblr since I don’t see them as personal websites, but rather social media.
Free hosted websites
There are several options for free hosted websites where you just have to create a user account and put in some details and you are set to go. These sort of web services have a range of features from custom domain names to site building tools. The best feature is of course that they are free. They might also provide free domain names like yoursite.provider.com. Most of them offer support for php, mysql databases etc with a graphical user interface without diving into code. The drawbacks with such services are that they are almost always shared which affects performance. The storage space and traffic bandwidth is limited. But, for a small personal website, this really shouldn’t be a problem. Some of such providers include 000webshost, awardspace, freewebhostingarea etc. Here is a small list on prchecker.
Shared hosted websites
Most basic paid web hosting are so called ‘shared hosting’. The previously mentioned providers and almost all free providers also provide this sort of paid hosting. Free domain names are provided and the possibility of a custom domain is also possible. Storage and traffic bandwidth is increased. A wide range of pricing to fit your needs makes this an attractive option. Nevertheless, your website will still be shared on a physical location which means the cores and memory are shared between all other users/websites on the same computer. This might cause a drop in performance especially if another demanding website runs on the same computer. You also do not have root access to system administration. But, this option should suffice for most general users, private bloggers, small scale websites etc. PCMag has a nice list of such providers for 2015.
Virtual Private Server
These are the upgraded version of shared hosting. You have your own private area that you have full control over as if you own it. You can configure anything any way you like. Handles traffic better. You need to load your own LAMP stack (Linux, Apache, MySQL, PHP or Perl) and set up your own server management. This means more technical work and demanding system administration and self regulated security. If done properly, has more security than shared hosting. You can install your own resource-hungry softwares. There are lots of resources on the web to compare differences between shared and VPS hosting. All major web hosting providers such as bluehost, hostgator, dreamhost etc. have the VPS option.
A dedicated server means that you are not getting a slice of the server, instead you get the whole server to your self. You can choose the cores and RAM and storage etc. System management and administration is demanding and usually command line. Some services may provide control panels and auto-installer scripts for commonly used applications. You can install any server OS, any web-server from Apache to Nginx. While there is effectively no sharing on computing resources, there might be bandwidth sharing. PCMag has yet another list for dedicated servers.
Cloud computing is the newest trend. Cloud computing provides users with something called instances. These are virtual machines with any configuration as you would like. Any number of cores, whatever RAM, storage etc. Instances can be created and installed with any OS on the fly in a couple of minutes. You can install, configure, management anything anyway you like. Billing is usually time based. Hourly billing is usually used for intensive high-computing instances while a monthly billing is used for lower configurations. Websites implemented through cloud computing have their content on multiple servers at multiple locations at the same time which means that they less prone to downtime if a single physical server crashes somewhere. This may not always be the case depending on the set-up. There are countless articles debating the pros and cons of cloud computing. As a bottom line, cloud computing might be overkill for hosting a small website. The most prominent players are Amazon EC2 and Digital Ocean. Others include Vultr, Linode, Google Cloud and Microsoft Azure. Amazon AWS has a free tier option for new customers for the first one year.
Ultimately, after all that brain racking, I decided (for now) to go with the cloud computing option of Vultr. I am running a wordpress site. I decided to go for the cloud computing option since I also wanted a live server to run an R shiny server for R shiny applications. Or else, I would’ve opted the static website option on Github pages.