Web hosting in the cloud: what the SMB needs to know

All in the cloud

The options available for hosting a website have probably never been more varied than now; however, the confusing mess of technical terms and marketing hype does not make the task of choosing which of the differing types to select any easier. We will hope to try and clear some of the fog and help you to decide what is best for a small business

Let us assume that this SMB already has a website sitting at an ISP somewhere: it may even be on a physical server that it owns in a rack at the ISP. We all know that hardware doesn’t last forever so perhaps it is a good time to look at the options available in the cloud?

The obvious advantage of the cloud is that of scalability and failover redundancy. The ability just to pay for the performance that is needed rather than having to over-spec a server for a few occasions is one of the most attractive lures of cloud hosting.

The SMB has to decide what would suit its particular website and needs to take a long and detailed look at all the aspects of the site in question. In particular, it needs to find out which back-end services or code are critical – some of which may have been added back in the dim mists of time.

If the site is nothing more than a bunch of static HTML pages then any of the offerings will work and the company would probably go for PaaS (platform as a service) where the operating system and environment are provided and updated automatically in the background. In this scenario, companies don’t have any direct access to the operating system and so it may not be possible to do anyof the advanced configuration needed for the site, however, the big attraction is that the administration of such a setup is minimal.

But if a company wants full control over the operating system with the ability to add extra services as needed, than it might be better suited to using IaaS ( infrastructure as a service) where it will have full remote access to the virtual machine in much the same way as it might with a hardware-based product. But bear in mind that it will also have the responsibility of keeping the OS fully patched.

A lot of ISPs (1&1 and FastHosts for example) now offer cloud hosting as an option over straight virtual machine hosting, the difference being that the virtual server is spread across multiple hardware platforms and so should hardware fail, the virtual server will be run up on another box automatically with little or no loss of service. Some cloud hosting services also allow on the fly configuration of resources such as RAM and CPUs to allow for variations in the activity of the website. Others, however, require a reboot of the virtual server to achieve this and if this ability is important then companies should check this first.

If the website is created in one of the common content management systems (CMS) then most providers offer another type of web cloud hosting and this allows their customers to activate a pre-configured setup of any one of these Open Source applications, to avoid them having to go through the process of uploading files, extracting, running scripts and setting permissions. Any extra tweaking of the setup would then be done through the web-based management tools that are normally provided, eg PHP admin.

What a lot of SMB businesses would like to be able to do is to take an existing hardware-based server, convert it to a virtual machine and then host this virtual machine out in the cloud. This way all the essential fancy configuration changes and the permission settings need to run the website would be taken care of.

Sadly few seem to offer exactly this capability, security being the reason given. Rather than just copying an old site to a new server with any legacy security settings there is a valid argument that when moving a site to a new server it is a good time to check and confirm the security settings.

But imagine a server with many sites on it, or a complicated Exchange server setup, then it would be great to be able to image this server and deploy it out onto the cloud. This can only be done with a few of the cloud hosting services out there like Amazon’s EC2.

So, what are the choices for companies who want to go down the cloud hosting route?

If, as is quite common now, the business uses a CMS for its websites then moving them to cloud-based hosting should be a relatively easy process. Most of the hosting providers have ready-to-install packages of the most common CMSs and SMBs can simply choose from one of these.

In this case, the customer will be asked for passwords for the database (and it should use the same one as its current live site). Once the package is installed it should then be a simple job of logging into the admin panel of the CMS and importing a backup from the current system. Companies may have to do this for the database backup and the separate file back-up and also make sure they have all the relevant CMS modules installed.

Once all this is done, the SMB will have a copy of the website up and running although it should be tested thoroughly before attempting to go live. If the website allows user-submitted content, like comments or more importantly a shop, then the final stage is to stop this functionality on the existing website.

Companies should then do a final backup of the old database and restore it to the new CMS, make the changes to the DNS so that the domain now points to the new website and put a simple redirect on the old website just to catch any visitors whose DNS records may be cached and still have the old site settings.

If the website only uses static HTML pages then moving to a cloud-hosted option is a simple job of just copying the various files to the new server, then testing and finally making the DNS changes and redirects as described above. If the website is more complicated and uses a variety of technologies then transferring it is going to be a much more complicated job.

It is not uncommon to find a single site that uses ASP, ASP.NET, CDOSYS, and Perl technologies , and with such sites the configuration can be tricky as the 'hacks' used to get things working may have been made years ago and are rarely documented.

Things have changed: modern development tools are making such tasks easier as they create publishing setting files. These files do all the configuration of the server and permission settings, but in the case of a mixed technology site or an older one companies will need remote desktop access to their Virtual Cloud Servers in much the same way as they would have with their own dedicated hardware in a rack at an ISP. It is therefore important that the company makes sure that the cloud hosting providers allows its customers to do this – not all of them allow this type of access.

What would be ideal would be for a small business to be able to point a piece of software at an existing web server, "suck" the full installation off and transfer it to a cloud hosting provider. Sadly, this is not commonplace and even the ones that allow this are handicapped by the sheer size of the files – there are often more elegant ways of transferring a server to the cloud. However, the chances are that this will be a practical possibility in the future and without doubt companies will need new tools to transfer their sites from one cloud hosting company to another with ease - nobody likes the idea of being locked into one provider.

Companies looking at cloud hosting have a choice of products, including Microsoft’s Azure (which has just added web hosting as a simple to use option), 1&1 and FastHosts. They could also look at Openshift from Red Hat. For the more technically minded companies (particularly if they're in need of some advanced features) then Amazon’s EC2 service is worth consideration, particularly as it is one of the few that allows the direct import of a VMWare machine image into its cloud.