The CAP theorem states that distributed systems can only guarantee two out of the following three points at the same time: consistency, availability, and partition tolerance. In this article, we will explain where the CAP theorem originated and how it is defined. We will then provide some concrete examples which prove the validity of Brewer’s theorem, as it is also called.CAP theorem: consistency, availability, and partition tolerance
Software manufacturers are increasingly offering the cloud computing model: software-as-a-service. One of the best-known examples is the Microsoft Office suite, which is available for a regular license fee. But until 2010, the on-premises model was standard for the Microsoft Office package and other software providers. On-premise refers to licensees installing the software in their own IT environment – without the cloud or internet access. We explain what exactly on-premises is, what advantages, and disadvantages come with the license model for server-based software, and where on-premises is still relevant today.
What is on-premises?
On-premises refers to the use of the company’s own servers and IT environment – on site. With this usage model, a customer often buys or rents server-based software as a licensee, which is installed on their own servers or rented servers. Since the licensee runs the software in their own data center on their own or rented hardware, this is also called “inhouse”.
In contrast to cloud computing, customers of on-premises models have full control over data and also assume responsibility for the associated risks. Use of the provider’s hardware is not possible with on-premises. This clearly differentiates the model from cloud computing alternatives.
On-premises: On-premises – sometimes abbreviated to on-prem – refers to a license and usage model for server-based software or computer programs, which the customer or licensee installs in their own IT environment.
However, licensees not only take on responsibility but also all costs incurred in the use of the software. These typically include maintenance fees and expenses for running software and hardware. In the case of open-source software, a close community often handles further development and bug fixing in practice. The disadvantage here is that warranty claims are not possible. If necessary, support or provision of software updates can be purchased from relevant service providers.
Licensees gain access to the software via a desktop application or a web-based user interface. Companies that manage sensitive data usually opt for a desktop-based application in order to rule out potential security gaps and unauthorized access to the system.
Importance of on-premises
Since 2010, the importance of on-premises has continuously declined as the license model is increasingly giving way to the more modern cloud computing model: software-as-a-service (or “SaaS” for short). With this model, the licensee pays a usage fee that covers operation and maintenance in addition to the software. Unlike the on-premises model, the usage license is not purchased on a one-time basis but needs to be renewed through regular payments. All hardware and software resources are made available by the provider.
Until the rise of cloud computing, the local use of software was typical. The term “on-premises”, therefore, emerged only with the establishment of cloud-based software use, in order to distinguish it from this newer model. There are yet more differences between on-premises and cloud software than just the location of hardware.
Advantages and disadvantages of the on-premises model
Before the switch to cloud computing, well-known examples of established on-premises products included the Microsoft Office package, the Adobe Creative Suite, and SAP. Today, the license model for server-based software continues to be the better alternative to modern SaaS for many companies. The main reasons for this include strong data protection and complete control over data and access.
Another and particularly frequently used benefit compared to cloud-based alternatives is the possibility to customize the software. The standard software forms the underlying foundation and is the basis for software customization or extension according to special customer requirements and areas of application. However, this also comes with significant costs for the adjustments or an increase in license fees. Moreover, updates that later become necessary will be more difficult and expensive to perform than with the standard software.
The on-premises model has many pros and cons:
Advantages of on-premises
- Control: Licensees gain full control over all data and can decide who gets access. The customers are also responsible for the utilization of internal resources, and for running the software.
- Data protection: With the inhouse model, licensees retain all data in their own data centers; third parties do not receive any access to this data. This makes compliance with statutory data protection regulations easier, since cloud servers are often located in countries with different data protection rules.
- One-time costs: On-premises licensees pay a one-off fee that includes purchase of the software and unlimited use. However, the investment costs are accordingly higher than with subscription-based models.
- Independence: Licensees are independent from external service providers and from the licensor. Access to data is always ensured – even without an internet connection.
- Integration: The licensed software can be integrated deeper into the customer’s infrastructure and interlinked with other programs.
Disadvantages of on-premises
- Hardware: Licensees require the necessary hardware that is compatible with the software. Ongoing maintenance is the responsibility of the customer.
- Workload: Licensees need to install and run updates, patches, and backups to ensure stability and fix errors. This not only requires time, but also technical know-how within the company and among employees.
- License costs: In many cases, a license is limited to a certain number of workstations. Companies with lots of employees may therefore face high costs.
- Ongoing costs: Especially in the case of customized software, high ongoing costs may arise for software adjustments and updates in order to keep the software operational and fix errors.
- Lack of support: Typically, the further development of the software is discontinued by the manufacturer sooner or later. Once this happens, support also tends to come to an end.
- Resources: Although licensees have full control over software use, they are required to commit their own resources.
Enterprise Cloud by IONOS is a secure and flexible cloud infrastructure, and a good alternative to on-premises for companies.
Where is on-premises used?
Although the importance of cloud computing is steadily growing, on-premises is still the better choice in many cases for companies and organizations. In sectors like finance or healthcare, companies are subject to particularly strict data protection requirements. With on-premises, sensitive data can be protected more effectively from unauthorized third-party access since the company itself manages the data and internal processes. The company defines who gains access to which data.
Companies that work with sensitive data do not necessarily have to forego cloud solutions for security reasons. The Hybrid Cloud approach enables them to benefit from the advantages of both worlds.