Why to self-host your software? Should you go for on-premises or cloud?

Why to self-host your software? Should you go for on-premises or cloud?

Estimated reading time: 6 minutes

Some software providers give you the option to choose between a self-hosted (on-premises) and a cloud version. As usual, there are advantages and disadvantages to both solutions. But do not let the word self-hosting scare you, hosting yourself is easier than you imagine, and comes with many benefits you might not have considered.

What does self-hosting mean?

Self-hosting means installing, running and maintaining the hardware locally and managing the software application therein, instead of renting this service from a SaaS (software as a service) provider. In contrast, a hosted solution is a fully managed service by an external provider that includes server space, support and regular software updates. Let us take a look at the overall advantages and disadvantages of self-hosting.

Advantages of self-hosting

Full data control

When you are self-hosting your software, you have full control over your data. The software can be run behind your own organization’s firewall. Your critical data is kept in-house and no other party has access to it. Especially important is that you do not need an internet connection to access your data. Additionally, hosting it yourself means that the on-premises solution is reliable and allows the organization to maintain a level of control that the cloud often cannot.

Security compliance

With your own data center or off-site data center managed by a third party, you can easily comply with any regulation which simplifies data governance. There is no question around where the data is stored and which regulations to be complied with as you determine the terms and conditions. This gives you the option to have no or limited sub-processors. This is especially relevant for highly regulated industries such as the healthcare sector for storing medical records.

No vendor lock-in

Some software providers do not offer an on-premises solution so you could get stuck and will fully depend on the vendor. Letting a software vendor handle your business-critical data is not an easy decision. You could become dependent on this service and if the vendor is not delivering the service anymore or in a bad quality, it is very difficult and complex to migrate your data to a different environment with potential reformatting. Hosting yourself thus gives you independence and long-term planning reliability.

Customization

On-premises software that is open source gives you the flexibility for customization. You can add or customize code to make it meet your organization’s needs. Customization also results in more control over how information is processed and stored.

Integrations

If your software offers you a powerful API like OpenProject, you can integrate any application and use data across system borders.

Disadvantages of self-hosting

Scalability

Whilst with a cloud solution you can usually increase the amount of software users or storage capacity with a click, with self-hosting it can impact the hardware, uptime and requires more planning and preparation. Moreover, you might need to add more capacity than needed as e.g. additional hardware does not come in incremental sizes.

Maintenance and support

A self-hosted software requires a team of dedicated technicians for ongoing maintenance and updates as well as constant monitoring of technical issues and fixing these. Only if you can provide this expertise should you go with a self-hosted solution. Moreover, the software users might require support which also needs to be handled in-house.

Data recovery

When self-hosting you need to make a plan for back-ups and data recovery to make sure you are not susceptible to a data loss in case of a disaster situation. It would otherwise cause you unnecessary delays in your organization’s running business.

Costs

Regarding costs of self-hosted versus a hosted solution, there is no clear answer to which one is cheaper. It comes down to the size of your organization, the team you already have and the requirements in terms of hardware, support, scalability etc. Either version can end up costing more, it all comes down to your needs. However, in general self-hosting can tend to be more expensive as it requires your own IT team, can cause CAPEX and maintenance costs and you might be paying for more capacity than you are actually using.

Conclusion: in what case is on-premises the preferred solution?

If you are looking for full data control, the on-premises installation is the way to go. Security is not about costs and you should invest in the self-hosted solution to guarantee data control and compliance. Also in a case where you already have a dedicated and skilled IT team as well as infrastructure set up and there is spare capacity, the on-premises version is the preferred solution to benefit from full data control and the advantages mentioned above.

Self-hosting options

Self-hosting can be implemented in different ways. As we are talking about self-hosted software where you do not want to depend on the SaaS service provider, you can go from doing everything yourself to using a provider selected by you that fulfils the criteria you are looking for.

In the following you find different hosting options. The level of involvement in hardware and maintenance decreases from top to bottom. In parallel, your dependence on your selected service provider as well as costs increase from top to bottom:

  • Self-hosting in the narrow sense: This is where you do everything yourself, from selecting and purchasing the hardware to installing it on your premises and taking care of its maintenance. It also requires you to solve hardware failures, power outages, preventing hacker attacks.
  • Private servers: In this scenario you rent hardware from an external provider, e.g. OVH or Linode. They manage the hardware side and also provide the operating system of your choice. The service of the external provider includes a certain level of security for the operating system.
  • Virtual environment: This is where you choose a provider that offers server capacity and cloud services if needed, e.g. AWS or Azure. The advantage is that you can increase or decrease server space within minutes.
  • Platform As A Service (“PAAS”): This solution is a cloud platform that enables developers to build, run, and operate applications entirely in the cloud. You will only need to take care of your application, the platform provides support for everything else and is easier to use than a virtual environment. An example is Heroku.

Which of the above solutions to choose should be thoroughly analyzed as they differ in terms of security, service, reliability, costs. Also, which privacy rules the providers adhere to should be a major decision criteria. You would apply the same criteria as if you were checking the data privacy and information security of the software provider when they are hosting.

Start your free trial

OpenProject offers two on-premises versions: The Community edition and the Enterprise on-premises edition. The Community edition is free of charge and covers a wide range of features. The Enterprise on-premises edition offers you professional support and additional Enterprise add-ons and security features for your self-hosted OpenProject. Start your 14 days free trial of OpenProject Enterprise on-premises now. If you prefer us to host the software, you can also try the OpenProject cloud edition 14 days for free.