Every company nowadays needs some software to operate, ranging from a public website to an internal shared drive to some 3rd party software for managing finances and customers. Typically this software would run at a server inside of the company but with the rise of cloud software more and more companies allow you to run their software on their servers instead of having to run it yourself.
This is nothing new as most often companies already out-sourced the management of the website to a hosting company that takes care of security, maintenance and availability. Now it is possible to do this for other software as well, but should you? In this blog post I will discuss the advantages, disadvantages and some remarks that must be taken into account when thinking about switching to the cloud.
Installing software on your server often comes with either a life-time license or a yearly license. The license often also contains other restrictions such as the amount of allowed users. A cloud license either has to be paid monthly or yearly and will often have the same restrictions. From the license I have seen, the cloud version is usually more expensive.
Having the software installed on your own server means you have to take care of it as well. This does not only include keeping the software up to date, it also means you have to make a secure environment that shields of your sensitive data from the outside world. This is a very difficult exercise which is not something you can do as an extra thing, this is proven by the many experts that exist in this field.
A reason why companies choose to run it locally is the higher form of integration. Often you want your users to share accounts across different software you have running. This becomes harder, if not impossible if your software is running at different servers at different providers.
If however some of your software can not be deployed in the cloud, either because it is not provided, or because of safety or other reasons you still have to have a server that runs it. Since you already need to do all the hard work, or team up with a partner to manage it for you, it might be a good idea to just have all of your software running on your servers.
To conclude, in general it is best to have some specialized company take care of your infrastructure, either by managing it at your location or by running all of your software in the cloud. Mixing them is probably not a good idea as it will still require you to make the costs to maintain your own infrastructure and you will have to pay extra for the cloud licenses.