Cloud or Local Hosting
Within small companies today, there are a great many functions of the business which can be conveniently provided using IT; these might include accounting, CRM, file storage, ticketing systems, office applications, source code control, backup or automated build systems. Having decided that you are going to utilize IT to provide one of these functions a question one often has to answer is: should that service be provided from the cloud or implemented in the local IT system? This article discusses that question and details the factors one should consider in coming to a decision.
What do we mean by cloud or local hosting?
So what exactly do I mean by provision from the cloud and local IT implementation? Provision from the cloud is where the service is provided by a third party using their servers which you do not generally have or want physical access to. The service is provided digitally to you via the internet. Often this takes the form of some web interface where your interaction with the service will be entirely through your web browser, although other forms are possible.
Local IT implementation refers to installing that software on your own systems and managing and running that software once it is installed. Occasionally you will have an IT partner who you get to perform those tasks or you may have your own IT department or staff to perform those tasks. The interaction with the service is often the same as the interaction with the cloud version, just this time the data is likely to be coming from your own servers and you are responsible for everything that happens.
So, for example, if you wanted to host a software configuration control system such as SVN, you might use a cloud based version where you create an account, do some basic setup and are good to go. Or, you may provision a server then install the SVN server on that machine and provide the same functionality from a machine you own. I will be using this example throughout the article, but almost irrespective of the service under consideration the same principles apply when considering which hosting option to choose.
The factors that I consider
In a previous role I was responsible for IT within a small company and this kind of decision often had to be made; indeed I often had to make it and then convince the board or management of its merits. So the thoughts I convey in this article come out of having to make a similar decision many times over.
Essentially, the pros and cons I used when having to select “cloud” over “local IT”, were as follows:
- I did not have to worry about disk space.
- I did not have to worry about provision of internet access through the company’s firewalls.
- I did not have to worry about any other security issues.
- I did not have to pay for or provision a server to provide this function.
- I was not paying the ongoing power and maintenance bills for that server.
- I did not have to worry about regularly backing up the server providing the service.
- I did not have to worry (so much) about testing the restoration process from those backups.
- I did not have to worry about how I would restore the entire service in case of a disaster.
- The business continuity planning surrounding a cloud service is much easier to write up than the corresponding procedure for a locally implemented system.
- There was generally a guarantee of high speeds of access for all users where they had good internet connections, whereas with a locally hosted solution I would have had to more carefully consider the company’s uplink connection speed.
- I never had to worry about the server version and patch level of the software as the cloud providers would do this for me.
- There is normally a help desk, who are generally responsive, to answer all my problems and provide advice.
- My IPR and data was in someone else’s hands. Where exactly is it stored? What are they doing with it?
So I guess you can see why I usually made the decision in favour of cloud hosting.
You may choose to say that cost is a con? However, if you stack up the costs of server provision, such as:
- buying the hardware;
- configuring the OS;
- configuring the application on the server;
- hardening the machine;
- opening firewall access;
- setting up a backup regime;
- auditing and checking that regime is working;
- and maintenance of the server and application;
against a possible relatively small monthly fee and some smaller amount of effort to set up, it is hard to say one is any better than the other.
Sometimes the decision may come down to company size. If you are a large firm with lots of staff, a requirement to control lots and lots of software and an IT department who can deal with this then maybe it is not a bad idea. However, if you are an SME then it is difficult to imagine it would ever be better to host locally? In my case there were a thousand other things I and my staff could do, so I was happy to let out the the various non-core functions I was asked to provide.
It is possible that the one con listed, could be a big sticking point! The data, which is a by-product of the function you are implementing using IT, is now entrusted to someone else to keep safe. If the data represents the value in the business, such as all of your accounts information or the software you have written to sell as a product, then how comfortable are you with this being maintained by some other party? If this is a concern, then you will need to spend some time doing due diligence on where and under what conditions your data is stored. I have always found that the solutions providers are very helpful in this regard and there are even some solution providers these days who can guarantee location of your data if, for instance, you do not want it leaving the country.
As a final point, you should consider planning a method to back up the data you have with the cloud provider locally. So if the worst happened, and your provider did disappear you would still have a serviceable copy of your data from which you could restore a service.
If you are implementing a service in IT and can satisfy yourself that your data will be adequately secured, then it is likely that a cloud hosted solution is going to be more cost effective than hosting locally, especially for SMEs.